Why Retweet works the way it does

This week on Twitter, we're rolling a feature we've been working on for a while out to a lot more users. (If you don't have it yet, you will soon.) That feature is our native version of Retweet, which Biz posted about on the Twitter blog a couple months ago.

I'm making this post because I know the design of this feature will be somewhat controversial. People understandably have expectations of how the retweet function should work. And I want to show some of the thinking that's gone into it. I've been a big proponent of this particular design internally at Twitter, because, while it won't serve every use case, I think it offers something new and powerful.

Background
As you know, retweeting is a very cool thing that emerged organically from Twitter users as a way of passing on interesting bits of information. Third party developers who make Twitter clients embraced it and added retweet functionality to their apps without us at Twitter doing anything at all with the feature. This isn't the first time this has happened, and this kind of emergent behavior is one of the best things about our ecosystem of users and developers.

People have long asked when we're going to build a RT button on twitter.com. While it would have been pretty trivial to do the way some clients have, the reason it's taken a while is because we wanted to do something a little more fundamental that we thought would add a lot more value.

While retweets as they work today are great, they have some drawbacks. Notably:

Attribution confusion
. With regular tweets, you have a user picture, a username, and the tweet text. They all have a particular relation to each other. We call this, the "anatomy of a tweet."

With what I'll call organic RTs, you have the same elements, but they have a different relation to each other. Most notably, the text of the tweet is not written by the person whose picture you're seeing, nor the username that's at the beginning—except for when the retweeter annotates the tweet, so they have written part of it. (And sometimes that's at the beginning, sometimes the end.) Even once you get used to the common syntax (and there's not just one), there's extra mental parsing to associating the text with the right username and not the picture.

I believe this is a bigger issue for the readability of tweets than is obvious. I also often receive @replies from people who clearly think I said the thing that I just retweeted.

Mangled and messy
. The attribution is confusing in the best case. But it's worse because different clients treat RTs differently, and if someone retweets a retweet it gets messy fast. Because organically retweeted tweets can be edited, even if the original author is properly understood as the author, it's not necessarily for what they really said. Inaccurate attribution is possible in any medium. But in Twitter, because of the character limit, it's often necessary. People shorten and edit retweeted tweets to make them fit along with the extra metadata. Even when for legit purposes, that can be misleading and unfair to the author. Worse, RTs can actually be easily faked, which has become a form of spam, wherein well-known people are shown to be promoting something they never twittered about.

Redundancy
. If five people you follow retweet the same thing, you get five copies, which can be useful but is a lot of noise. This comes up even more in search. Popular users can get retweeted enough to saturate a search query. Coincidentally, as I'm writing this I came across this:



Noisiness
. Let's face it: Some people over-retweet. You may be interested in what they personally say, but you don't need to know about every link and charity cause they pull their RT-happy trigger finger on. The only choice you have today is deciding if the benefit of getting their occasional gems is worth the cost of their retweetarrhea.

Untrackable
. Retweets potentially reveal very interesting data. After all, if something's worth repeating out to all your followers, that's a signal that it's more interesting than something that's not (over-retweeters aside). If something retweeted by a bunch of people, relative to how many are following the original author, that's valuable data that may help people discover interesting news more quickly. Third-party developers have recognized this and built sites to try and track this information. But it's fundamentally hard because the data isn't structured.


This last point is not obvious but is particularly important for fulfilling Twitter's goal of helping you discover the information that matters most to you as quickly as possible. Part of the beauty of Twitter is that you can follow your friends, organizations, public figures, or strangers you find interesting. But no matter how carefully you've groomed your following list, out of the millions of tweets written today, are you seeing the absolute most relevant ones to you? Or are you getting some good stuff, some stuff you don't care about, and likely missing a whole lot of other killer tweetage you don't even know is there?

I would argue it's the latter. The perfect Twitter would show you only the stuff you care about—relevant, timely, local, funny, whatever you're most interested in—even if you don't follow the person who wrote it. And, of course, it would give you ultimate, fine-grained control in how to do so. We want to give you more ways to help the good stuff bubble to the top.

Foreground

Toward that end, we've designed Retweets in a way that helps people get more good stuff, while solving some of the other problems described above.

In
an announcement a few weeks ago to get developers building new RT functionality into their clients, we released some preliminary mockups showing how the new Retweet functionality might work on twitter.com. (I've read a couple times today that we're apparently keeping this feature only for twitter.com, which is exactly wrong. Most of the clients are working on incorporating it presently.)

The design is simple: There's a retweet link by each tweet and, with two clicks, it will be sent on to your followers. This takes care of the
mangled and messy problem because no one gets an opportunity to edit the tweet (more on that below). The meta data (about who tweeted and who retweeted) is not in the tweet text itself, so they never have to be edited for length. Because they're built natively into the system, they're trackable. And because they're trackable, we can take care of the redundancy problem: You will only get the first copy of something retweeted multiple times by people you follow.

It will be very quick and easy to retweet, you'll never have to edit the text, and you also won't have to worry if your followers have already seen something, so this should encourage retweeting more and more useful stuff flowing farther.

The
noisiness problem is taken care of by a new setting that will allow you to turn on and off retweets on a per-user basis. That is, if you only want to see someone's personally authored tweets, you can shut off just their retweets altogether but still follow them.

The attribution problem: In order to get rid of the attribution confusion, in your timeline we show the avatar and username of the original author of the tweet—with the person who retweeted it (whom you actually follow) in the metadata underneath. The decision is that this:



...is a better presentation than this:



No fault of @AleciaHuck's but the first is simply easier to read, and it gives proper credit to @badbanana. Even if you know @AleciaHuck, there's no benefit to having her picture in there.


The drawback is that it may be a little surprising (unpleasant even, for some) to discover avatars of people they don't follow in their timeline. I ask those people to keep in mind the following: You're already reading the content from these people via organic retweets. This is just giving you more context. My experience is that you get used to this pretty quickly, and it's a welcome way to mix things up. If you find someone constantly throwing people in there you don't like, as mentioned before, you can turn off Retweets from them (while still following their non-retweets). And if you really don't like it, and you only want to see what people you follow wrote themselves, you can turn off Retweets for everyone you follow (individually). Organic RTs do not offer nearly this flexibility.

The other thing some people will not like is that, unlike organic RTs, there's no way to annotate or leave your own comment when you retweet something with the new system. Some people annotate with every retweet, some don't do it at all. But it's definitely useful in certain scenarios. We left it out of this first version mostly for simplicity. It's especially tricky when you consider transports like SMS where adding a lot of structure or additional content is hard. But we have some ideas there, and it's possible we'll build that in at a later date. (This point should not be missed.)

What about those cases where you really want to add a comment when RTing something? K
eep in mind, there's nothing stopping you from simply quoting another tweet if that's what you want to do. Also, old-school retweets are still allowed, as well. We had to prioritize some use cases over others in this release. But just as Twitter didn't have this functionality at all before, people can still work around and do whatever they want. This just gives another option.

The larger point, though, is that this feature should make Twitter a more powerful system for helping people find out what's happening now that they care about.

To give you a better sense of what we're trying to accomplish, check out this guest post on Techcrunch from back in May by David Sacks, CEO of Geni and Yammer and former COO of PayPal:
The Awesome Potential of Retweet. In it, he lays out much of what I do above—describing the drawbacks of how RTs work today and proposing a native solution that's pretty much identical to what we've come up with. (Believe it or not, we had this design before he wrote that—not that we would have minded stealing the idea from him.)

I'm excited to see what our users and developers do with it and teach us about Retweet, so we can improve it more.