09.4.09

Steganographic Typo-Based URL Shorteners: Add a Link With Zero New Characters

Watch out, j.mp! Back off, tinyarro.ws. You can shorten a URL down to zero characters by steganographically embedding it into the text. Think of it this way: how many potential typos could be autocorrected for a given sentence? You’ve got the off-by-one errors, like “typ[“, the random capitalization errors (“tYpo”), transpositions (“tyop”), and full-word off-by-ones (“yu[p”). The word “typo” alone has:

  • 24 off-by-one-character potential typos.
  • 9 random capitalization errors (discard all-caps and capitalize first letters).
  • 3 transpositions.
  • 6 full-word off-by-one errors.

This gives you 42 unique ways to misspell typo, and in all cases it’s fairly easy to determine that the original word was “typo.”

What I’d like to propose is a service that uses typos to encode URLs. You visit a site, input your tweet and URL, and get, as an output, a tweet with a strategically insert typo (or typos). Someone who sees this tweet can input the text into the site, and get the URL that’s mapped to that particular set of typos.

Imagine! Instead of reading something lame and garbled like:

@ev this is a neat microblogging service: http://bit.ly/xE2sK

You could say something clean and space-saving, like:

@ev yjod iS a neta micRolbohhing sevriCe:

Don’t think of it as transmitting 140 characters at a time—think of it as transmitting 1140 bits—meaning there are far, far more potential unique tweets than there are atoms in the universe.

(Note: I have no interest in implementing a steganographic URL shortener, but it might be an interesting exercise. It’s probably possible to have an effectively infinite number of embedable URLs without making things unreadable. Maybe adding some backend analytics could tell you which typos result in a click-through and which don’t. If anyone does anything like this, please let me know.)