Annotations is a feature coming soon for Twitter that allows developers to attach arbitrary bits of metadata to tweets. I've written about this idea several times, most recently on April 9. How Twitter can kill the Twitter-killers: "If I want to write an app for dogs who tweet, let me add a 'field' to a tweet called isDog, a boolean, that tells me that the author of the tweet is a dog. That way the dog food company who has a Twitter presence can learn that the tweet is from a dog, from the guy who's developing a special Twitter client just for dogs, even though Twitter itself has no knowledge of the special needs of dogs. We can also add a field for breed and age (in dog years of course). Coat type. Toy preference. A link to his or her owner. Are there children in the household?" Almost as soon as it was announced, before any developers had actually used it, a concern was raised. How will the names be arrived at? And what happens if two developers use different names for the same idea? Based on this, they question the value of the entire architecture. How could it possibly work? There is an answer to the question. We know how it will work because this is far from the first time the question has come up. The answer is this: Developers will choose different names for the same idea. However, if the idea is important enough, and if an entity with a lot of users (and therefore a lot of tweets) gets involved, people will gravitate to the name that entity chooses. This is one of the advantages of a corporate platform like Twitter. There is by default an entity with a lot of users -- Twitter. They basically have all the users. So the names they use will by default become the standard names. This is a very good thing, and no amount of FUD from bigger companies should stop them from exercising their eminent domain. Further, in my April post, I suggested that "all the elements of the core namespace" be "reserved for Twitter. If you want to extend it, create a namespace and have a party." Now, it's reasonable to assume that Twitter won't want to get involved in every possible use of Annotations. In that case the chaos of the market and a sense of urgency will fill in. This happened in RSS, where there was a similar situation. Some developers even renamed ideas that were in the core namespace! Yes, it's a mess. But it worked anyway. The cool thing about Annotations is we don't have to wait for Twitter to try an idea out. In other words, it's exactly the feature that leads to chaos that makes it so valuable. Later, if your idea gains traction, if other people adopt it but perhaps with a different name, switching to the new name may hurt your pride, but otherwise it doesn't cost a lot. Neither does supporting two or three names for the same thing. When leading a group trying to arrive at what we hope will be a standard, I always say: "Let's pick the worst name possible in every case." That way when someone says they have a better name for something I explain that's why we won't be using it. Naming is one way that all formats get wrong. Get used to it. Another way to think of it: All babies are beautiful, no matter what you name them. If there are two or three names for the same idea, guess what an enterprising developer does -- he or she supports all of them. In these cases Postel's Law advises: "Be liberal in what you accept and conservative in what you send." That's how long we've been having this re-invention problem, it goes all the way back to the founding of the Internet. Hey it probably goes back to biblical or even caveman days. The desire to take credit for other people's accomplishments is something that's been in our species for a long time. I suspect the people who are casting stones at Twitter Annotations either don't have the experience to know that these things work themselves out if the incentives are strong enough, or have another agenda, like limiting the growth of the Twitter platform. I suggest not worrying about it. If it turns into a problem, it will be because we found at least a few valuable applications for Twitter Annotations. In other words, it's a good problem to have. "> |