Monday, June 14, 2010

How Twitter SHOULD have Implemented "Short" URLS

Recently, Twitter announced their own URL-shortening service.


The reason we have "URL Shorteners" is because Twitter limits messages to 140 characters.
Most people think this means that Twitter messages are 140 characters long.

They are not.

They are only 140 characters long when they are sent over SMS.
And a "character" can be multiple bytes long if you're using Unicode characters.

Everything that uses the Twitter API, (and that's everything except SMS), has another layer of invisible metadata attached to it.
This metadata includes message and sender IDs, time, and even geo-location information. It's often larger than the actual message.

Most useful Twitter posts contain a link. And those links will often be longer than 140 characters on their own.

I understand why Twitter is introducing their own URL service: They want to track who's linking to what. This is extremely valuable data. Every time someone follow a compressed link, they are able to track it. This is particularly important for ads. Or, as they call them in the blog post "Promoted Tweets."

But Twitter's infrastructure is just not up to the task. They've proven time and time again that they don't know how to scale.

But back to my proposal: Twitter could remove most of the need for shorteners by allowing a full url link in the meta data of each post. ("Tweet" in Twitter's vernacular.)
Then, in the message itself just show a symbol or word for the link.
In this model, the link doesn't count towards the 140 characters. Heck, the position in the message could be in the metadata.
SMS clients wouldn't see the link.

"Smart" phones wouldn't have an issue, and most devices with built-in Twitter clients would still be able to follow links.
Only people using plain text-message-based Twitter would miss out on links, and their devices have terrible web capabilities if they have them at all.

In my proposal, I would only automatically pack one link into the metadata and let people use existing systems if they have more than one URL.
There's not technical reason for this: I think it would just make for simpler user interfaces.

Advantages of this model:
  • Users can use full URLS in their posts.
  • Followers can see full URLS (depending on how clients choose to implement the feature).
  • SMS users don't see links they can't click on.
  • Fast: compressed URL don't need to be looked up.
  • Very little extra overhead to Twitter's service.

Disadvantages:
  • Third-party URL redirectors/shorteners business could be seriously damaged.
  • Actual size of average Twitter message will probably increase.
  • Third-party gateways would have to be rewritten to handle links.
  • Client software will need an update.
  • Twitter will be able to track what URLs are posted to the system, but won't be able to track links used in third-party applications. Which is information they would love to have.



Technorati Tags: , ,