Twitter as a company is in a bit of a bind. When they came onto the scene 6 years ago, it exploded beyond anyone's expectation. It turned fairly quickly from a tool used by nerds to communicate to a mainstream tool used by moms, accountants, celebrities, and anyone else. I personally rely on it primarily to follow experts in technologies that I care about such as @joshuatopolsky and @siricusa, but also personalities like @alyankovic and @altonbrown.
Application developers, particularly for smartphones, have supported the platform's API for a long time, and it's really the secret to the platform's success. Tweetie for the iPhone is responsible for kicking off the trend, and they were purchased by Twitter and made into the official Twitter client. And there have been many, many quality Twitter clients for iOS and Android (where Tweet Lanes is my current favorite). This has made the experience of using Twitter on a phone much more pleasant than browsing the mobile website, or posting tweets via SMS. That, and it's created a wealth of different implementations with different ideas, and different usage patterns for different people. Clients like Tweetdeck and HootSuite shine for people that manage multiple accounts and do this sort of thing for a living. Clients like Echofon and Osfoora are more minimalist and simple in design. Clients like Tweetbot, Boid, and Tweet Lanes straddle the line between the power user and the basic user.
This sounds great, right? What's the problem? Well, their problem is making money. They made a great service that's loved by millions of people. It's a free service, so they're not getting money directly from their users. They've tinkered with selling "promoted tweets". They've sold hash tag trending. They do "expanded tweets" for commercial customers. The problem with all of these is that they have a pretty clean, open protocol that the third-party clients consume, and such clients can filter these things out.
More recently, Twitter has been threatening developers that in the future, they'll disallow third part clients that attempt to allow people to read their timelines without using one of the official clients.
The root of this problem is that many companies on the web, in order to provide a free service to end users, have to beholden themselves to advertisers. Thus, their users aren't their customers, the advertisers are.
Recently, App.net has come up with an alternative solution. They launched a Kickstarter-like campaign to raise $500,000 to make a Twitter competitor that isn't free to use, and they succeeded. The backers, going in at $50 a pop, get accounts for one year of service from App.net. The API is similar to Twitter's, the capabilities are similar. It wouldn't be too hard for many Twitter clients to support both. But the price of entry is problematic; it's unlikely they'll get to the critical mass to make it as valuable a tool as Twitter.
Though I applaud them for trying, I doubt it will catch on. Twitter, on the other hand, already has critical mass, and is extremely popular, and could probably make a decent living charging power users a yearly fee to use third-party clients, and this would be better.
Better still would be replacing Twitter with a decentralized protocol that nobody owns and that many vendors can provide as a service. I'd personally prefer it based on OpenID for authentication and email address for identification, as pretty much everyone already has one of those. Google, Facebook, Microsoft, and—heck—even Twitter could offer the service. Sure, it's more tedious to type in a reply firstname.lastname@example.org than @aarontraas, but the benefits of decentralization would far, far outweigh the consequences.
What about spam? Isn't that a big problem for decentralized services like email? Well, it's already a problem on Twitter. Plus, there are potential solutions in place that are largely impractical for email, such as having each OpenID provider have its own digital signature, and cryptographically sign all status messages from a given server. If a server allowed a lot of spam, its peers could block it. This would also make spoofing very difficult, so you can't just pretend you're another user than you really are.
I don't intend to make this sound simple; it's not an easy task. A centralized service is much, much easier than a decentralized one. There's a lot of decisions to be made, like do we completely rely on the DNS system like email does for pulling feeds and locating others, or do we have some sort of discovery mechanism that isn't linked to the domain of the OpenID provider? Does the client constantly poll all of your followers, or is there some sort of server-side aggregation? Does the provider of the service know if a user is being followed by another person, and push all updates to the followers, and if so, what are the ramifications in terms of bandwidth and privacy? How do we get everyone on board?
I do believe, however, for this sort of social platform to enjoy any sort of longevity, there will have to be some sort of decentralization and thus competition among providers. That way, when, say, Twitter or Google or whoever decides to dick over their customers, those customers can just leave and go elsewhere.
That all being said, if Twitter wanted to charge me $25 per year for the privilege of using arbitrary third-party clients and not seeing ads, I'd do it. And at least for now, you can follow me at @AaronTraas.