Tuesday, June 23, 2009

The Internet is broken

For a couple years now we are breaking the internet. When popular short URL providers like tinyurl, bit.ly or tr.im have a downtime, loose a database or even go out of business, we all are using massive amounts of connections through the World Wide Web.

The way to fix this would be to do away with the need for short URL providers. Until then I think we should start archiving all short URLs and their mappings to long URLs so that we can still resolve them when the original provider can no longer do it.

For this purpose I created a little Google App Engine app permanize.org.
It resolves short URLs and stores the mapping. Upon the next resolve it will use its own database to do the resolving. You can also download the database to distribute the network (a real P2P architecture would be cool here) and make the archiving more save.
I also created a very experimental Firefox plugin with the ultra-cool Mozilla Jetpack that replaces short-urls with long urls (only the href values of links for now) and automatically archives all short URLs that you visit with the browser. To install it, download Jetpack and then go to the permanize-site.


Anonymous said...


http://longurl.org/ does something like this but I dont think it actually archives the long url or makes them available for archiving.

Anonymous said...

this has been done at http://long.to a while ago

Anonymous said...

The good thing about this is that it is technically rather easy to implement. I like the openness of this system. With long.to and longurl.org we are just shifting the single point of failure.

Anonymous said...

I don't really get how this is different in not just re-shifting the point of failure. So now it's stored @ Google. Even empires fall.

Unknown said...

Difference is that you can download a copy of the database and keep it for yourself in case the empire fails.

Morton Swimmer said...

Awesomeness. I wonder if it would be better if done collaboratively? Anyway, it will be useful to have such a database going forward.
The link in the original post is now incorrect. It might also be better to explain how the Resolve Via and JSON links work as it isn't explained. OTOH, a programmer can probably figure it out and only a programmer would want to use them anyway :-)