This is going to make two blog posts in a row that are “off the cuff” for me. This one particularly so, because it involves a lot of emotion, and not a lot of certainty. There are some arguments to be made, but most of it is about how I feel. That’s something that’s hard to justify logically; it just is.
I’ve been frustrated with Twitter regarding how it relates to its developer community for several months now. My perspective might be different from some folks, I think, because I’ve been a part of that community for a long time. The Twitter Dev Talk Google Group shows me as joining on March 15, 2007. I remember being proud that I was asked to be a moderator for the group; it felt good to be both friends with some folks at Twitter, and a “Friend of Twitter” as someone from the company referred to me and a few others once.
It felt good because Twitter really seemed to make an effort to be open and transparent with their development community. We were part of what helped them get off the ground — not the biggest part by any means, but a part. At the time, the vibe I got from Twitter was that they were a group of people trying to build Cool Stuff. I liked that because I like building Cool Stuff too, for the sake of building it. It felt like it was being built by guys who had the same passion for making things that I do. I would hear that they really liked what I was doing in creating an open source, multi-platform client for Twitter; that it was important to have options like that.
Over the years I often found myself defending Twitter’s API team when folks would air their own frustrations. Some of those frustrations were valid, and some of them were based on really unrealistic expectations. I often said that it was foolish to build a business on top of Twitter, because (except in very rare circumstances) there was no guarantee of any service level of API feature permanence. Things were often pretty spotty back then in terms of uptime and performance; that frustrated a lot of people. But I had their back, ya know? I was a Friend.
Things grew, and things changed. That’s not really surprising at all. I’m happily naive of most things related to VC investment, but I suppose to keep up with all the traffic Twitter got as it became more popular, they needed money to pay for services and hire people. If you aren’t making any money, you need to ask people to give it to you. And now you have to worry about what they want, too.
In the past year or so, it felt like I was seeing a shift in how Twitter related to its developers. People move around in a big company, and that was surely part of it – I didn’t know all the New Dudes. And I had really withdrawn from the dev mailing list, because I was tired of dealing with spam and talking about uptime and downtime and social graphs and pagination limits.
But it got weirder when they announced Chirp, their “official developer conference.” Doing this event made sense, but I felt like some of their choices about who was speaking didn’t. I didn’t see guys like Cameron Kaiser, Abraham Williams, Marco Kaiser, JazzyChad, or Damon Cortesi listed as speakers. Instead, I saw execs, pundits, and VC investors.
Now I’ve been to a lot of developer conferences, both as an attendee and a speaker. And I’ve never seen a speaker lineup so devoid of actual developers. Anyone who knows me, knows that I generally believe pundits and VC investors (and execs to some extent) to be moronic at best, and pure evil at worst — corrupting the purity and passion for Making Cool Stuff.
Then there was how some stuff was handled. When Chirp was first announced in late January, before the speaker lineup was finalized, I inquired about speaking there myself. A friend suggested I talk about my experiences as an open source dev, and this seemed like a pretty darn good idea – I wanted to talk about what I’d learned, what motivates us as developers, and how we define success. So I made an official inquiry, and was told by a Twitter employee that they’d look into it and get back to me soon. I didn’t hear anything for a couple weeks, so I sent a follow-up, and was told that things were filling up on the main day (well, that’s why I asked early!) but that there might be an unconference opportunity. There’d be a public announcement about it in March.
Well, the conference is on April 15th. Not knowing until March what might happen is just not enough time to plan. And to buy a $450 ticket, and then hotel in SF, and then airfare; I just couldn’t afford that. Of course, it turns out that cheaper, hackday-only tickets would be made available, but these weren’t released until March 30, 15 days before the conference1. Far too short notice, and by this time the speaker lineup described above was set, which indicated to me that this wasn’t a conference for developers like me.
So in this, I saw a pretty big chasm between where I was, and where Twitter was. Before then I hadn’t quite realized what it was like, but this kinda dumped on me like a ton of bricks. Getting a bit of the runaround hurt my ego, for sure, and that’s part of it. I don’t really think that’s a good reason to get upset, but I did feel like I had a longstanding relationship with Twitter, and through this, and the way Chirp was being presented, I didn’t feel like this was the same organization I’d interacted with for the past three years.
And, well, it wasn’t. They used to have 6 employees, and now they’re over 140. Duh.
So with all that, then we have Twitter dropping an enormous bombshell yesterday on their dev community, by creating official clients for both BlackBerry and iPhone. Twitter had done a few things before to add services that had previously been handled by third parties, but in general they’d had a very hands-off approach with the dev community, sticking with their core features and letting developers handle stuff like url shortening, photo uploading, and — most significantly — all non-web clients. Twitter has enjoyed a very diverse, very organic community of applications and services. Client apps that serve as primary user tools for interacting with Twitter are a very large part of that community. Twitter’s moves in that space have suddenly and dramatically changed the playing field for all of them.2
There was no warning, and there were no apologies. No statements made to developers that Twitter knew this was going to impact a lot of them; no attempt to unruffle feathers or explain how this was what Twitter needed to do as a company. We did get a couple notes on the dev list, but they could be summed up as follows: “it happened, now find other things to do.” That’s what angered me more than anything last night.
This really isn’t about my own client, Spaz. Spaz is not popular, and I doubt even having a directly-competing Official Client on desktop or webOS would impact its numbers – folks choose Spaz because they like it, and if they don’t that’s fine with me. Spaz exists as an alternative to closed source, commercial apps, and it’s even MORE important now that it exists, I think.
I guess it’s about respect. It’s about a relationship I had, and I think many of us had, with Twitter, that doesn’t seem to be there anymore. And that’s frustrating, and disappointing. But mostly I guess it’s just sad.
Curiously, this wasn’t announced on the API announcement mailing list or the twitter dev mailing list; in fact, there was very little information about Chirp posted there. Far more information was available on sites like TechCrunch. This made me wonder further at whom this conference was aimed. ↩
It would be naive to expect Twitter to not move into other platforms it decides are key to its experience. Or in any other services it decides to do internally. This is a very big reminder that we can only count on something for the term of the contract, and few of us have a contract with Twitter. ↩