Somewhat of a bombshell was dropped by Ryan Sarver from Twitters own Platform Team on the developer forums on the weekend. Rather than quote it I strongly encourage Twitter fans to read it and also read the comments that follow his post. In a nutshell, Ryan (on Twitters behalf presumably) is informing developers not to develop applications that interact with Twitter (i.e. Twitter Clients) if all they do are the basic functions of the Twitter apps supplied by Twitter themselves. They are encouraging developers to focus on more advanced user interfaces with aggregation and very focussed and specific purpose-use of Twitter.
They argue that fragmentation is occurring (this is becoming a catch phrase lately it seems) in Twitter with different clients having different terminology and methods for retweeting, quoting and other basic Twitter functionality. The interface differences between products is something I have seen myself (not naming application names) so I see their point there. They go on to argue that 90% of Twitter users are using the Twitter supplied clients to access Twitter and claiming in effect that they (Twitter) have that covered and developers don’t bother.
They have created a service with a published interface and allowed developers to spend their own time and money developing clients to interact with the Twitter service. Once the clients had reached a level of maturity Twitter bought the clients they believed to be the best (and I note, not the BEST) then made them free for all users. Users given a choice between paying for a client and getting one for free usually pick the free option. Twitter then started adding functionality like push notifications directly from the Twitter service and remote account creation which were never available for Client developers to use and then the official Twitter clients have an edge over everyone else. In so doing, Twitter now knifes their developers in the back and says, thanks for your help, see you later.
In a parting salvo showing a sad indifference to the feelings of their now betrayed developers, Ryan then encourages them to try new and more advanced Twitter features in their clients beyond the standard features provided by Twitters own clients. Presumably this is so Twitter can buy the best of those clients in a few years and then screw the developers all over again.
Having said that, Twitter needs to run itself as a business and businesses need to make money. Twitter developers weren’t licensed by Twitter (an alternative model Twitter could have used but chose not to) and Twitter made no money directly from their clients. Twitter had therefore no real control over the applications that were developed and when developers didn’t follow their design guidelines there was very little Twitter could do to stop them and in the interests of growing their platform it’s likely that they turned a partly blind-eye until now. It’s their platform and their choice. For Twitters sake, I hope the near instant loss of developers doesn’t hurt their ecosystem too much, though I believe it will in the short term at least. Long term, probably less so. For the developers out there, so long, and thanks for all the fish. This is Twitter, and we’re packing up our marbles and going home. Such a shame.