Monday, December 15, 2008

whit.me: the Whats, the Whys, and the Hows.

Well, not so long ago, I've launched a service for URL shortening, whit.me. If you don't know that much about URL shorteners, please head to Wikipedia for a crash course. The canonical (and most famous) example for this type of services is TinyURL.

Thorough reviews on URL shortening services can be found elsewhere on the Web. This begs for the question: why another URL shortener, since they appear like mushrooms? Lets start by analysing what does whit.me has in common with all of them:


  • Short URLs: well, it's the main purpose of the service. whit.me's have a typical length of 21 chars (e.g., http://whit.me/XXXXXX), but they can be reduced to a 16 chars count;

  • Automatic redirection: by default, following a whit.me URL will automatically redirect to the linked Web page;

  • Manual redirection: to prevent URL obfuscation (which can lead to annoyances such as spamming or rick-rolling);

  • Custom aliases: to help making short URLs more user-friendly;

  • Bookmarklet: always useful, to lower the entry barrier on interacting with URL shortening services;

  • APIs: JSON (and JSONP) APIs provide simple endpoints to help flourishing an ecosystem built on whit.me's shoulders.



Now, why might (should?) you change from your preferred/favourite URL shortening service to whit.me? Some highlights:


  • High availability: whit.me sits on top of Google App Engine, which ensures a high quality of service for whit.me and, consequently, ensures that whit.me short URLs will not suffer from link rot, or even service unavailability;

  • Multiple URLs: few services allow linking to multiple Web pages. It has often been one of the key problems with the Web, on-to-many links (in comparison with other hypertext systems);

  • Annotation: additionally to the URLs, one can add a simple text note to enrich the context of the linked Web pages;

  • Integration in Web sites: By embedding a script into any Web page, existing whit.me URLs become active, by displaying a drop-down menu in-situ with all the URLs (view example);

  • iPhone-friendly: URL redirection pages also have an iPhone friendly user interface, which can be used e.g. for the creation of start pages for Web navigation (and properly bookmarked to the Home screen).



Such a simple service can, of course, be further expanded with other features (some present in competing services) such as spam detection, link analytics, personal link management, etc. (in no relevant order) Naturally, whit.me will evolve in the future to cover these features. I have planned several other features (not present in any URL shortening service, as far as I can tell), which will increase its value from the perspective of all users (those who create/manage URLs, and those who just click on them). If all goes as expected, whit.me will be much more than simply URL shortening, but indeed a nice platform for information/navigation management for the Web-savvy. More on this later on (you're free - and more than welcome - to follow me in twitter to get updates on this as soon as they come out).

Developing this type of services is really simple, since there's no special magic or voodoo required to master. This was quickly hacked with a set of technologies: Google App Engine, Python, jQuery, and, of course, all outputting and manipulating the ubiquitous HTML+CSS Web combo. Some (probably) interesting tidbits/hacks in Python and App Engine's APIs have given rise to a nice simple framework that someday might be extracted and refactored into a small stand-alone project on itself.

However, reaching the sweet spot on User Experience is a difficult task. Keeping the user interface (UI) simple and attractive is not a trivial task, since whit.me supports more features than the common URL shortener. I believe that, after some iterations, it has reached UI stability. From now on, all features added to whit.me will probably take a while to be launched, to ensure that User Experience is maintained or, ideally, improved.

Stay tuned!