Feb 28, 2011 0
I’m a Twitter fan, and I love thinking about ways to improve the experience we have using it, as I’ve shown previously here for a mockup on how to display short links — which to my surprise is how Twitter now shows them in #newtwitter — or on Flickr for a mockup on helping write microsyntaxes and TwitterFormats.
Even though Twitter is adding new features in regards to tweet management, most of the existing metadata mechanism and commands described by microsyntaxes and TwitterFormats are still very much valid. For instance, Twitter’s User and Site Streams provide deletion events rendering tDelete obsolete (obsolete for clients using the Streams, which the majority of clients are not yet supporting).
Another feature, Annotations — announced by Twitter around April 2010 or so, will allow adding metadata when a tweet is created. This is expected to obsolete some other of those microdata approaches, even though adding metadata after the fact would be impossible. Still, Annotations have been seemingly put on the backburner, with more pressing projects requiring Twitter’s resources and attention.
Even in a future world where we have Annotations, some TwitterFormats are still valid, usable and valuable, and this is a tweak of two of them.
This is a proposal for a “new” TwitterFormat (TF from now on) for editing a tweet, more precislely combining the existing tStrike and tInsert to make them easier to use manually and to adopt a common idiom for editing or replacing content (albeit surely only known by advanced users).
/edit “incorrect phrase or word” “correct phrase or word”
As an alternative up for debate
/s “incorrect phrase or word” “correct phrase or word” or
/s/incorrect phrase or word/correct phrase or word/
One could also add the same options specifiying the tweet you’re correcting
/edit “incorrect phrase or word” “correct phrase or word” from -2 for the second-to-last tweet
/edit “incorrect phrase or word” “correct phrase or word” from 123456789 for a specific tweet ID
tStrike allows you to remove words or characters from previous tweets, and tInsert allows you to insert words or characters into previous tweets. I was looking for something that did both at the same time, as to me correcting typos is most of the time removing the wrong word or characters and inserting the correct one in its place. I thought tReplace would be what I was looking for but it actually replaces the whole tweet, and not just a part of it.
You can certainly combine tStrike and tInsert in a single tweet, but I find it to be cumbersome for manual use. The resulting tweet would also be bigger, leaving less characters for the actual typo fixing — even though it’s rather less probable for one to replace most of a single tweet compared to one or two words. TF–aware clients are — at the beginning — most likely to implement handling input only rather than output, leaving the user to create the appropriate tweet. In this case — in my mind a very probable case — I’d want to make it easier to create the typo-correcting tweet.
For instance, to replace part of a tweet using those two formats, you’d have to tweet /strike “some phrase” from last /insert “this phrase” after “that other phrase” in last. Pretty bulky. You could argue both “from last”s could be removed from tStrike and tInsert to make them more concise, modifying the last tweet becoming implicit if no tweet target is specified.
So, I’d want a simpler and shorter syntax for the specific use case of replacing content, not supporting every tInsert use case (even though inserting before or after is still a more specific case of replacement using more search tokens for the content you want to replace)
Some advanced users (and quite a lot if I had to take a guess – most likely developers) are already used to regex/sed/awk/etc matching and replacing, to the extent that Skype chat also implements it using that syntax. So I’d propose having that syntax as an alternate, or an alias of the main syntax. I propose /edit “old” “new” to be the main syntax, with potential alternate /s “old” “new” or /s/old/new (which is close to the regular developer syntax — however I wouldn’t recommend offering options after a final ‘/’ like case insensitive or multiple matching).
The reasons why a user would use tEdit are exactly the same as tStrike and tInsert, modifying a tweet after the fact, and notifying your followers in realtime. Their clients can show the modification events exactly as described in those original TFs.
This TwitterFormat Proposal is released under a Creative Commons Attribution License.
I’d love to hear your thoughts on the syntax, use case, and so on. You can find me at twitter.com/lqd.