I used to read a magazine called 2600, which was billed as a “Hacker’s Quarterly”. The title refers to the audio frequency, in hertz, used as a control tone in early analog telephone systems. Enterprising hackers discovered that a free promotional whistle in boxes of Cap’n Crunch cereal could be used to generate this tone. A whole class of phone hacking — or “phreaking” — was born. (Trivia: Apple co-founders Steve Jobs and Steve Wozniak were phreakers; Woz’s "blue box" or DTMF frequency generator, is preserved at the Computer History Museum in Mountain View, CA.)
This is an example of a system using “in-band signalling”. Both the control and data signals (audio) on early phone systems were transmitted on the same channel, thereby making the system open to compromise. Today’s modern phone networks have a completely isolated signalling system known as SS7.
Twitter is also a system with in-band signalling. I’ve always been bothered by the fact that Twitter commands —
LEAVE, etc. — are transmitted by the user as part of the data signal (your tweet). This leads to all kinds of mistakes. For example, users have publicly tweeted when they think they have
DM‘d, because they forgot to prefix their
DM with “
LEAVE users, due to misspelling commands (e.g. “FOLOW”).
@” reply prefix is also problematic. Tweets beginning with “
@[username]” are only seen by the receiver’s followers, and not the sender’s. If the sender wants a wider distribution, hacks like “
[email protected][username]” are used.
In-band signalling on Twitter clearly originated from the fact that it was intended to be used via SMS. Traditional mobile devices have no way to send signalling data out-of-band. What you see in 140 characters is what you get. As Twitter migrates to the desktop (or at least to rich mobile devices like the iPhone), we begin to see Twitter addressing this long-standing flaw. For example, the retweet identifier (
RT) is no longer considered as part of the actual tweet, as long as one is using the Twitter API. Other metadata like geolocation and user agent are already transmitted as signalling data through the API.
Eventually, I believe that even the remaining in-band commands will transition out of the data stream. It’s only a matter of time before a celebrity’s mistweet makes the news and forces Twitter to clearly separate control from data. (Could you imagine something like President Obama accidentally tweeting “DM tonyhayward You are a first-class douchebag”?) Fortunately, they already have an API on which to build the control system. Shall we call it Twittering System Seven?
As you said, traditional mobile devices have no way to send signalling data out-of-band. Indeed, I take that one step further and stipulate that SS7 is the only reliable push notification that mobile carriers have in their arsenal.
Smartphone penetration rates look pretty rosy from analysts and crystalball/navel gazers; optimistic estimates are 2.5bn smartphones by 2015. We hit 4bn mobile devices globally in late 2009, most of which were (and still are) dumb "feature" phones supporting SMS (~3bn supporting MMS & WAP). Global penetration rates for smartphones are, say, 15% (that's optimistic).
It's probably a fair (but completely unfounded) guess that most of Twitter's current users have easy access to broadband through a desktop or other advanced out-of-band signalling capability. Maybe Twitter will try to pander to and attempt to monetize these current developed nation users; but in doing so, they'd be alienating the majority of (potentially future) mobile subscribers who completely rely on SMS for their DM and @ tweet-crack.
(Embedding retarded and irrelevant comments in parentheses is a different type of addiction. Sorry about that.)