
9m.no – Short URLs for the Unicode Age - ehamberg
http://9m.no/
======
jebus989
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](https://github.com/ehamberg/9m)

~~~
wcchandler
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."

~~~
mrtbld
> tounge-in-cheek

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

~~~
ehamberg
That was indeed a typo. Thanks!

------
riffraff
[http://tinyarrows.com/](http://tinyarrows.com/) has existed for years and is
actually shorter, i.e. [http://➡.ws/鷇](http://➡.ws/鷇)

~~~
pgl
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.

~~~
riffraff
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](http://✩.ws/awesometastic)

~~~
Dolimiter
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.

~~~
billmalarky
Seconded. Am stupid. Website made me remember.

------
Cthulhu_
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.

~~~
r0muald
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.

~~~
normloman
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).

------
batuhanicoz
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.

~~~
alexcroox
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.

------
DoubleMalt
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.

~~~
berdario
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 :)

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

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

~~~
Karunamon
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](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.

~~~
GrinningFool
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.

------
gojomo
From the source code README
<[https://github.com/ehamberg/9m>](https://github.com/ehamberg/9m>):

 _9m Unicode URL Shortener. Generates a shortcut
from[http://9m.no](http://9m.no) using two unicode characters, e.g.
[http://9m.no/പ湛](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.)_

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

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

~~~
martin-adams
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.

~~~
MereInterest
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.

~~~
martin-adams
>> 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...](http://www.theguardian.com/technology/2010/oct/08/bitly-libya)

~~~
cbr

        all services that are free, and as such, have risk associated
    

Pay-for services also have associated risk.

------
LatencyKills
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). :)

------
rcarmo
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.

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

------
smoyer
I got [http://9m.no/𑂜൭](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?

~~~
batuhanicoz
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](http://bt.hn)

~~~
TheLoneWolfling
When is a URL shortener not a URL shortener?

[http://qntm.org/twit](http://qntm.org/twit)

------
lnanek2
[http://9m.no/؞雅](http://9m.no/؞雅) ⇩
[http://www.google.com](http://www.google.com)

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!

------
PDegenPortnoy
Added to Ohloh:
[https://www.ohloh.net/p/nine_m](https://www.ohloh.net/p/nine_m), or to stay
stylistically consistent: [http://9m.no/ꋅ곁](http://9m.no/ꋅ곁)

------
tunesmith
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.

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

~~~
ehamberg
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...](http://www.reddit.com/r/haskell/comments/26405r/storing_data_in_haskell/chnfl27)

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

~~~
buttscicles
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](http://yl.io/1) becomes
[http://yl.io./1](http://yl.io./1)), which somebody was nice enough to figure
out for me ;)

[0] [http://yl.io](http://yl.io)

~~~
davidcollantes
Care to share the source? I like its simplicity!

~~~
buttscicles
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](https://github.com/buttscicles/yl.io)

------
izzydata
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?

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

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

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

------
shanth
Haskell <3

------
matsuu
[http://縮.jp](http://縮.jp)

------
nawitus
Didn't work in a tweet.

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

------
jedicoffee
krl.io son son

------
xsace
9m.no/鼞ϧ

~~~
ozh
[http://9m.no/끣⟲](http://9m.no/끣⟲) !

