Like a Floppy Disk in the Sky

Back in the heady days of 2008, one of my nicknames in the newsroom was Mr. Twitter, due to my work on the @nytimes twitter account (and other automated pages) and my work (with others here at the NYT) to coax more members of the Times into signing up for twitter on their own. I have always found Twitter’s spartan user experience fascinating: the short message sizes, the basic social networking layer, the unrelenting emphasis on communication instead of social or professional networks; as I explained in a few talks I delivered here at the Times, Twitter was compelling because on the surface it offered so little functionality to users, it leaves people to do what they do best, and talk away the silences one status update at a time.

So perhaps unsurprisingly, Twitter’s brevity has been an impetus for user-created inventions. Now-official conventions like the @reply and hashtags (I perhaps am the only one disappointed they aren’t called octothorpetags) originated as user-invented conventions to scaffold in useful functionality despite twitter’s limitations. But text markup can only do so much. For much richer communication like photos, videos, music, twitter falls short and can only send users elsewhere to pick up pieces of the conversation.

For users who want to attach photos or other media to their messages, the only option has been to post the content on the third-party website and embed the link in a tweet. Furthermore, given the space constraints of twitter, it is often necessary to use a URL shortening service that acts as a proxy and provides a compact URL that is expanded into the full URL upon a request. The limitations of such services have been noted many times by now; these include obfuscation, fragility, impermanence, and a disconcerting association with the nation of Libya.

But the biggest drawback of using third-party websites for hosting photos and videos is that it wrenches the reader out of the firehose of the status update stream and forces them to visit the rest of the web. And it’s scary out there. Such transitions can be jarring (Not to mention impossible for users of SMS or the Peek twitter devices), and have only been tolerated thus far by the status update services because there has been no alternative. Until now.

Introducing TweetFTP (the Tweet File Transfer Protocol), a revolutionary new approach for sharing files within the contents of tweets themselves. It works by encoding a file to be transferred as a series of encoded tweets (plus a few header and footer tweets). No more guessing whether to use Twitpic or YFrog. No more having to wrench yourself out of the stream just to see a picture of someone’s sandwich. No more having to post your photos to some randomly named photo-service that’ll run out of funding in 3 months. TweetFTP instead stores them in twitter’s servers which operates in the cloud somewhere. And everything important is in the Cloud these days, so tweetftp is like a floppy disk in the sky! And it fully embraces all of Twitter’s conventions: Want to send a file to one person instead of the world? Prefix the tweets with their username; want to tag a public file with keywords, use all the hashtags you want to describe it. Don’t work against twitter, but embrace it; send that photo to Grandma in only 35,693 tweets!

However, there are some caveats. Currently, the only language support is hastily coded Ruby driver, although this standard is Open Source and I expect other drivers will be created shortly. In addition, twitter’s API currently places some artificial constraints on transmission speed. Twitter currently allows API clients to only post up to 150 messages per hour. This practically limits this mechanism to a maximum speed of 0.019kbps. But do not despair! Serious users of twitter may apply for an elevated rate limit of 20,000 requests per hour, which increases throughput to a comparatively blazing 2.51kbps. A bigger problem is that this mechanism might be used for illegal file sharing. And indeed, since it only takes a mere 60,000 or so tweets (or about 17 days) to upload an MP3, it would be pretty hard to resist that temptation. I can only appeal to user’s moral judgment to ensure tweetftp is only used for the right reasons.

So there you have it. To learn more, please read the tweetftp specification and let me know if you implement support for it in your own favorite language. I’ll send you a badge for for blog. Via tweetftp!

Next post: Will tweetftp save journalism?

About these ads
  1. Good work! :)

    You should check out (code at:

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

%d bloggers like this: