tInsert Twitterformat Proposal

Syntax

/insert "word or phrase" after|before "word or phrase" in last|-N|tweetID

Summary

The tInsert Twitterformat (e.g., /insert "nothing is" before "impossible" in 10242048) informs your followers that you want to insert a word or phrase into an existing tweet with the given tweet ID. Twitter clients that implement tInsert can alert users in realtime that a tweet has been edited to have a word or phrase inserted.

Raison d'être

You send a tweet and need to edit it after the fact. Perhaps there is a simple typo or perhaps you want to revise what you've said in light of new information. The current way of achieving this in Twitter is to delete your existing tweet and tweet the updated one. This is less-than-ideal for several reasons. Firstly, it doesn't alert your followers to your intent unless (as they don't see you deleting the first tweet if they have it cached in their Twitter client (the tDelete Twitterformat addresses this) and, secondly, they can't see at a glance what you have changed. The tInsert Twitterformat addresses the latter.

Your followers will be notified, in realtime, that you have edited your tweet by inserting a word or phrase. Twitter clients that implement tInsert will update their timelines and display the added word or phrase in the referenced tweet with some sort of highlight. This will impact future conversations as your followers may respond differently based on this new piece of information (e.g., by not replying to your original tweet but to the updated version).

Manual usage

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

/insert "this phrase" after "that other phrase" in last

Implementation guide for Twitter client authors

A. User wants to insert a word or phrase into an existing tweet

1. Limited support:

  1. Allow the user to get the tweetID of tweets easily
  2. User writes out the tInsert command manually, as outlined in the Manual Usage section, above.

2. Full implementation:

Let the user to select an existing tweet and alter it. Then, automatically create the tInsert tweet for her and tweet it.

One possible flow (for desktop apps):

  1. User selects an existing tweet and selects the Edit option
  2. User edits the tweet
  3. The client creates a tInsert tweet (e.g., /insert "hello" before "world" in 10242048) and tweets it.

Note: If you are going to implement a generic edit function for existing tweets, you may have to run a diff between the old and new tweet and use one or more tInsert or tStrike commands. Alternatively, if too much has changed, you can simply do a single tCorrect command.

B. Client receives a tInsert tweet

  1. Extract the the tweet reference ("last", -tweetOffset, or tweetID), the word or phrase to insert, and the word or phrase to insert before or after.
  2. If the tweet reference is "last" or in relative offset format (-tweetOffset), find the corresponding tweetID.
  3. Is the tweet with the referenced tweetID being shown in the user's timeline (i.e., is it currently cached?) If not, don't do anything and ignore the tInsert tweet.
  4. Alter the existing tweet in the timeline, highlighting that a new word or phrase has been inserted.
  5. (Optional) Bring this to the user's attention via a Growl notification or some other ambient alert mechanism.
  6. Don't display the tInsert tweet itself in the user's own timeline as it doesn't add any further value as a separate tweet.

License

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

Comments