Hacker News new | past | comments | ask | show | jobs | submit login
9m.no – Short URLs for the Unicode Age (9m.no)
202 points by ehamberg on May 22, 2014 | hide | past | web | favorite | 69 comments

All the usual HN nitpicking and obscure edge case discussion should probably be done in the light of ehamberg's own comment: "This is a horrible idea in many ways and was a quick hack for fun." [0]

[0] https://github.com/ehamberg/9m

All these people had to do was click "about" at the bottom and find this nugget from the author:

"Made slightly – but not completely – tounge-in-cheek by @ehamberg."

> tounge-in-cheek

“tounge”, typo or some play-on-word I don't understand?

That was indeed a typo. Thanks!


Yes, thanks for pointing that out. This was done really quickly and I didn't expect it to get that much attention. :-)

http://tinyarrows.com/ has existed for years and is actually shorter, i.e. http://➡.ws/鷇

Except you need to pick your own UTF-8 character to make it shorter, which is a pain because a lot of them are already taken.

no you don't, it's just a weird interface. Random UTF8 characters like the above example are generated automatically if you enter a url.

You _can_ input your own to have something like http://✩.ws/awesometastic

I wouldn't call it a weird interface.

I would call it the one of the most confusing and idiotic interfaces I've used in a while. Or perhaps I'm stupid? That's how the website made me feel.

Seconded. Am stupid. Website made me remember.

I had to delete the "Type a word here" placeholder text to get it to pick something for me (using Safari). I almost certainly would've given up and assumed it was a required input if you hadn't hinted that it can be made to work.

While this is pretty neat, is there still a market for URL shorteners? It's been mentioned in this discussion already that Twitter does it automatically already - iirc, that was the main use case for shortened URLs. The other use case is gathering statistics (how many people clicked on my link), but the URL doesn't need to be short for that, a simpler redirect service would work just fine for that.

The final one is simple printable URLs which people can enter easily. That's also a valid use case I think, but mainly if you can create your own URL, i.e. shorturl.com/hackernews; a random collection of numbers and letters is hard to type in on a cell phone and easy to mistype.

Printable URLs are a good use case, but printed material has the annoying characteristic of lasting longer than your average web service, including URL shorteners. For printed stuff QR codes are still the most practical option IMHO.

The click through rate on QR codes is terrible. The two biggest mobile OSes don't have a qr reader installed, ordinary people don't know to download the reader and decode them, and even people with QR readers don't bother to open the app when they can just type the address.

Besides, most QR codes just point to a bit.ly URL anyway (It's a cheap way to track QR usage separately from direct traffic).

They also have the annoying characteristic of lasting longer than the content they link to more often than not!

Yes - for example text message marketing and informational messages that want to include a URL is a growing market.

Short URL's have two purposes for me:

- They are easier to spell on the phone (This is not.) - I like to track the clicks (Which I can't do with this.)

But, as a proof of concept, this is nice.

OT: Oh, I'm turning into a real HNer with this comment.

Your comment is justified. When you think about why you use short URLs that is pretty much it. It used to good for twitter but now they shorten any URL themselves, you don't get any difference in remaining chars whether it's a 4 char domain or 40.

The first concern is certainly valid, but since this is using acid state adding click tracking would be trivial.

I don't think risking url rendered as unicode boxes justifies the reduction of the url by 2 or 3 characters.

Nice proof of concept though.

Not only that, but since it will be encoded in utf-8 and then percent-encoded the number of bytes transmitted will actually increase:

something as simple as 邗諾

becomes %E9%82%97%E8%AB%BE , 18 characters!

Still, as other mentioned it's a neat idea that if widespread would make all kinds of encoding mistakes pop up :)

But twitter will only count it as two characters. (I guess.)

Twitter doesn't pay attention to URL length any more. They will force all URLs through t.co even if that makes them longer.

I've found that it doesn't like to shorten certain things, though I haven't quite nailed down what "certain things" are. I tried linking a recent blog post I'd done, which is at least 30 characters (along the lines of http://website/really-neat-post-title), and when I pasted or typed it into the tweet, it wouldn't autoshorten and would consume those characters.

I find myself using goo.gl a distressing amount of time on Twitter.

The interesting thing about that is that twitter will still generally redirect it.

As an experiment some time ago I grabbed a random sampling of URLs from twitter's limited firehose - and found that on average they spread the user's trail across no fewer than 4 redirects before the final destination was reached. Some as many as 7 or 8.

I've stopped posting URLs to twitter, out of respect for my followers.

The added benefit of using Google's URL shortener with Twitter is that you can send those links by DM while others are blocked.

From the source code README <https://github.com/ehamberg/9m>:

9m Unicode URL Shortener. Generates a shortcut from http://9m.no using two unicode characters, e.g. http://9m.no/പ湛.

The server will choose two characters at random from the all the printable characters and then cross its finger and hope you use a great font.

(This is a horrible idea in many ways and was a quick hack for fun.)

I'll be screwed if I ever have to retype the short URL. So no good for printing on packaging.

Why would you rely on any free third-party shortener for print to begin with?

Sounds like both you and I agree that it's no good for printing on packaging. I'm unsure why I'm suddenly defending its use.

As I read it, you both agree that it is no good for printing on packaging, for two different reasons. Your original statement, however, gave the unspoken implication that other URL shorteners were good for printing on packaging. It was that unspoken implication that he was talking about, rather than the directly spoken statement.

>> Your original statement, however, gave the unspoken implication that other URL shorteners were good for printing on packaging

That's a very good point. Interestingly, I think this has caught me out in situations previously. My observation was typing non-English characters would be too challenging on the keyboard I use, and as such provided an example where that may be evident.

Having glossed over the other (more important) problem as whether to use a URL shortener was excluded from my assessment (but interpreted as acceptance). Contrary to that, I could decide to use this technique to shorten URLs on my own domain, where the issues I observed would still be valid.

However, I'll throw a counter argument to support using URL shorteners just for the fun of it. I may decide to use it when:

1. There is a service-level-agreement that the service is to be operational for a set period of time (usually tied to a paid-for service). 2. It is akin to me using a phone number redirection service (I pay a top up for the redirection), and as such, have printed this number on business cards. 3. It is akin to putting a Twitter, Facebook or Linked In URL - all services that are free, and as such, have risk associated. 4. It is akin to providing a URL with a domain maintained by a third party country - for example, Libya controlling the .ly domain[1] 5. It may allow me to change the target URL at any time, keeping the content up to date. 6. It may allow me to monitor click through analytics.

But, assuming you only wanted to use it only for online purposes, then you have the following considerations:

1. Users don't know the target of the URL and may reduce trust. I know I've not clicked on shortened URLs of things I am unsure of the target page. 2. What benefit does shortening actually provide? If it's visual real-estate, the link can still be long with a shortened label.

[1] http://www.theguardian.com/technology/2010/oct/08/bitly-liby...

    all services that are free, and as such, have risk associated
Pay-for services also have associated risk.

As a flier for an event, yes I would and have.

Personally, I think this is awesome. If widely adopted it might to help ferret out all the software which still can't properly handle unicode urls (which is probably why it won't be widely adopted). :)

Back when Gruber tried to do something like that in his @daringfireball Twitter feed, it was so incredibly annoying to have the links fail on all my mobile devices that I set up a Python script to convert the links and re-post them under a @darlingfireball account...

He recently posted about that not making sense anymore due to Twitter's URL shortener, but I don't have the link handy offhand.

You should combine this with the trick Tinyarrows is doing since 2008: the domain name is a single Unicode character; I guess Punycode FTW :)

I got http://9m.no/𑂜൭ for my daughter's website, but I'm wondering whether this helps shrink character count when used for services like twitter. It's not at all readable, but since it's two (I think) 4-byte unicode characters, will that URL be counted as 13 characters or 21 characters?

Pasting one of those characters in, we see it's counted as one character. However: Twitter replaces all URLs, even shortened ones, with 22-character t.co URLs. Using 9m.no on Twitter is pointless, especially since Twitter displays the original URL for t.co URLs only. Using another shortener, the shortened URL is all that is shown, which isn't very reader-friendly.

Twitter "shrinks" URL's no matter what. My website link is is 11 characters[0], I don't know how shorter it can get.

[0] http://bt.hn

When is a URL shortener not a URL shortener?


For a while, years ago, http://cx worked.

Twitter shortens every URL regardless and reserves 23 chars (I believe) for each link in a tweet.

Obviously the correct answer is for Twitter to incorporate this approach.


Kind of disappointed I got a two character code. Has he used up all the one character ones yet? Time to start a new domain!

Added to Ohloh: https://www.ohloh.net/p/nine_m, or to stay stylistically consistent: http://9m.no/ꋅ곁

I tried shortening a vanity domain of mine, and the asian characters can roughly be translated as "produce fire from the rays of the sun and break wind". I don't think I'll market that shortcut.

What was your experience like using Scotty /Acid-State for this project?

I had briefly used Scotty before, but never acid-state. All of this is just the result of a discussion at work where my position was “oh, come on! it's not that stupid!”, so I just chose something I though would let me get a test site up and running really quickly.

I would probably polish it a bit more if I knew it would get this much attention, but hey! – it works, and uses almost no resources on the cheapest Digital Ocean account.

I recently saw some discussion about acid-state on Reddit, and it seems that the Hackage developers have had some troubles with it: http://www.reddit.com/r/haskell/comments/26405r/storing_data...

Probably should block the same domain from shortening.else you'll get something like http://9m.no/婀蒾 (multiple redirects)

I created a simple url shortener[0] a while back and though I thought of this I hadn't considered people could add a '.' to the domain to get around that (so http://yl.io/1 becomes http://yl.io./1), which somebody was nice enough to figure out for me ;)

[0] http://yl.io

Care to share the source? I like its simplicity!

HN really needs to let me know when I get replied to :)

The source is available[0], can't remember if it's any good though. :)

[0] https://github.com/buttscicles/yl.io

So, what would happen if I put in a url, then took the generated url and generated a shortened url on that and then did it again for about 1000 times?

To give you a clue: This was a really quick for-fun project and I did not expect it to get this much attention. ;-)

There's a way to find out!

URL shorteners without privacy policy make me feel uncomfortable, but I guess it's understandable in case of a new and tiny project.

This is a great way of finding all sorts of bugs in your support of Internationalized Domain Names.

Haskell <3

Didn't work in a tweet.

why would anyone in the unicode age have to shorten the urls? (:

krl.io son son



Upgrade. We only test IE9+ where I work now.

Same. And I looooove it.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact