In the 37Signals book “Getting Real” they talk a lot about less. Chapter 2 of the Book is even titled “Build Less” and they list a whole bunch of things that your should have less of including features and options. I know that Twitter uses the Ruby on Rails Framework, so maybe they have a copy of the book lying around and they can read up on that chapter. They should think long and hard about dropping the “Direct Messages” feature from their platform.
Normally when you use Twitter you post a message (called a Tweet) of up to 140 characters. It is sent to everyone who is following you. The mechanism to send the message is independent of the message itself. Some people will choose to get the text message over SMS and some will get them via IM and others will let them sit until the next time they view / refresh the Twitter web site. A direct message is one that is sent from you to another person, only they get the messages.
What is so bad about a direct message?
First and foremost - The direct message problem has been solved in a number of ways over the last couple of thousand years. We first solved it with hand delivered messages, then with letters, telegrams, faxes, e-mails, instant message and finally SMS messages. We don’t need another way to solve this problem. If I want to send a message to just one person, I know how to do that. The Twitter platform is about broadcasting my messages to lots of people (and to intertwine my messages with those from other people).
The second reason is that Twitter is a platform with multiple applications that use the services provided. Some of these applications are official Twitter products and some are not. You have a web interface, a mobile optimized version of the web interface, SMS to phone, TwitterVision, Twadget (Vista Gadget) and Twitter Widgets (Mac OSX). Not everyone of these platforms supports the Twitter direct message interface. The 2 I use the most (mobile optimized web page and the Twadget) don’t show that you have direct messages. So I have to apologize to the people who have direct messaged me in the past, sorry I did not see them before today.
A symptom of a platform and multiple versions
This blog post started out as a rant for me, however when I started writing it I realized that this was more than just a complaint about the micro-blogging tool. The “Direct Messages” issue that I am facing is probably one that many companies are facing as they go to version their SOA services. When you create a service for others to consume (like Twitter’s Message Feeds) you have an idea about how people might use the service, but you can not guarantee that they will implement it exactly as you intended. When you go to update a service (like Twitter did a few months ago when they added direct messages to the API earlier this year) there is really no telling how people are going to use it or if they will ignore the new features. And of course the more you update a service the more the entropy increases in how developers of existing applications will react to it. Updating a service is a matter of fact, so you really have to develop a comprehensive plan for how you deal with the people already consuming the service. End of Rant…