I never wrote any Twitter clients, but I've been around since the very beginning. So yesterday when I read the news about your new developer roadmap - which boils down to "no new clients, thanks" - I was confused. I was confused because I remember the early days when there was no such thing as an official client and the web page was pretty bland (or just plain bad).
In those days, people stuck around because there were third party clients that allowed them to use twitter without refreshing a page all the time (you still need to actually click a link today, but you've certainly come a long way), or without even using a browser. Those clients let people use your service without disturbing their workflow (well, to an extent anyway). In those days, and I hope my memory isn't failing me, the number of tweets from third party clients was dramatically higher than those "from the web".
And so knowing a bit of your history, I find myself in the odd position of both loving your service and your people, and feeling like you are betraying what got you where you are today. How many users did you get out of 3rd parties? How many new features did you integrate upstream that were born in 3rd party clients? You are basically biting the hand that fed you for a very long time.##Enters: the devil's advocate
Now look, I can see your side of the coin too. You want people to have a consistent experience accessing your service. I certainly applaud that. But you can certainly guarantee a great experience by guiding developers instead of cutting their cord (see Apple's UI Guidelines - they don't stop you from creating a bad experience, but they guide you through building a great one).
But lets get it out there: this isn't just about the user experience. This is also about molding your ecosystem into something where you can control where the money goes. Which makes sense: Twitter needs to generate cash. But again, you can have rules that get you where you want/need to go without destroying the trust of 3rd parties.
This is a snowball effect, you see. If 3rd parties start telling their users that they can't serve them because you won't let them, it's certainly not them who are going to disappoint users - it's you. And i don't think you want to disappoint users in a world of Facebook.
Here's what I would do
If you want to keep control over the user experience and monetization, you can certainly ask developers to do things the way you want. You could have specific rules that developers would have to follow in order to keep using your API to build clients. Some of these might be:
*No changes to tweets - content of tweets should never be modified in any way (no short link changing, no affiliate link adding, certainly no automated keyword linking to ads and pages).
*No changes to the terms used by Twitter. A tweet is a tweet, a retweet is a retweet and a favorite is a favorite. No exceptions.
*No ads on the timeline that aren't generated and controlled by Twitter. Clients should/could find other ways to monetize if you really need to enforce that.
While these rules are somewhat restrictive (particularly the second and third), they don't feel to me like betrayal. They feel like you want people to know they're using Twitter, and that you're sticking to a specific language, consistent throughout the ecosystem - there would be nothing wrong with that.
Regarding monetization, you could go into a revenue share deal with third-parties. They have people using their software, they make a cut out of the ads you show in the stream. You would make money, and so would developers. This would be a win/win situation - a great ecosystem of companies making money.
The bottom line
Lack of trust (like what developers are feeling right now) trickles down through the ecosystem and to the users' ears. As I said above, you don't want users to be disappointed in a time when moving over to Facebook would be so easy. Sure, Facebook still doesn't make it as easy as you guys to follow certain people, but you do know they can move in that direction. You are already constrained by the limitation that made you interesting (140 characters) - don't give people another excuse to move.
I just don't see this as a time when you can just tell developers you don't need their clients anymore. Find ways to monetize your service by putting up sensible rules and guidelines, not walls.
PS: for a company that cares about user experience as your roadmap email mentioned, you have certainly weirded a few people out (me included) with #Dickbar. Have you lost touch with what people really want?