tReference Twitterformat Proposal


/ref @screen_name/status_id
/ref @screen_name/status_id, @screen_name/status_id, …


The tReference Twitterformat (e.g., @aral/10242048) lets you reference another tweet by screen name and status ID. The command for this Twitterformat (/ref) is optional and may be used when it adds. Twitter clients that implement tReference can display the referenced tweets or at least links to the referenced tweets.

Raison d'être

Today, the main way to reference an existing tweet (apart from replying to it or retweeting it) is to include a link to the tweet in your tweet. Even with URL shortening, these URLs take up a lot of space. Tweets have unique status IDs that refer to them, so we can use these instead to refer to other tweets.

Twitter already has a convention in place for referencing user specific items.

To continue:

tReference makes it easy to reference one or more tweets in a tweet, and compliments replies and retweets to help thread Twitter conversations and create better associations between tweets.

An added benefit is the added context of the tweets author without having to visit it. Applications don’t have to hit the API unless they need the status text. Avatars can be displayed using (And for people who use SMS they have the automatic context of who the author is.)

Implementation details

A. User wants to reference a tweet

1. Manual version:

The tReference Twitterformat is simple enough to be used manually by users. e.g.,

Don't agree with @aral/10242048 but think @abraham/20481024, @aegirthor/40962048 are spot on. What do you think? /poll (Agree, Disagree)

The hardest bit is for the user to get the status ID of a tweet and Twitter clients should at least provide a mechanism for the user to access this easily.

2. Semi-automated version:

  1. Allow the user to get the status ID of tweets easily (e.g., via a context menu option on the tweet itself).
  2. User writes out the tReference command manually, as per method 1, above.

3. Full implementation:

Allows the user to select one or more tweets on her timeline and then creates the tReference command for her and inserts it into her current tweet.

One possible flow:

  1. User starts writing a new tweet
  2. User selects one or more tweets in her timeline
  3. User presses the Reference button
  4. The client creates a tReference command (e.g., @aral/10242048, @aegirthor/40962048) and adds it to the current tweet at the current cursor position.

B. Client receives a tweet that contains a tReference Twitterformat

  1. Extract the tweetID(s) from the tReference command.
  2. Either load the referenced tweets and display them with the original tweet or at least provide a means for the user to access these tweets via links, etc.



This Twitterformat Proposal is released under a Creative Commons Attribution License.