Jack Dorsey and Alex Payne of Twitter
The creator of Twitter talks about developing the popular messaging site.
Interviewed by Geoffrey Grosenbach
Geoffrey Grosenbach: Geoffrey Grosenbach, “Ruby on Rails Podcast”, here at South by Southwest, talking to Alex Payne and Jack Dorsey of Twitter. Now, I’ve used Twitter and I still have to ask, “What is it?”
Jack Dorset: [chuckle] It’s a site that constantly asks one question, maybe annoyingly so, “What are you doing?” And you answer that question by your phone, by the web, or by IM. You also get the answers from your friends to that question on those same devices.
Alex Payne: Or by RSS, or by an API, XML, Jason. Basically, if you want to ask to ask or answer that question, whatever format you want, we can probably deliver it.
Jack: There are so many ways.
Geoffrey: Now, where’d the idea come from originally? Obvious was doing Odeo podcasting aggregation site. Was this just a side project or was it originally expected to be as popular as it is?
Jack: It was an idea I’ve had for a long time. I was fascinated…
Geoffrey: So, it was your idea?
Jack: It was my idea, yeah. A long time ago, I was an early adopter to LiveJournal and I love the friends page. I love that I could read all my friends in one aggregated page. I also love the concept of IM chat status, just the simplicity of that.
Geoffrey: Yes! How people will just change to broadcast whatever they’re…
Jack: But I really wanted to set that away from the computer because the statuses when you’re at the computer are not that interesting because you’re sitting at the computer. What else can you be doing? You could be listening to music. I wanted some way to update that but the technology just wasn’t there.
I went to work with Odeo about two years ago and we’re kind of looking around for other things to do. I presented the idea; we were an audio company so there’s kind of a conceptual leap. How does this fit into audio? Are we going to send MMS messages and voices? Asking the question over the phone?
But we fell in love with SMS. We just started using it constantly. So, we pitched the idea. I was given the go-ahead. I took another programmer by the name of Florine Weaver, who was on Rails Core, and we knocked it out in two weeks and showed the company. Everyone feel in love with it. We decided to really push ahead and get going with the carriers as well.
Geoffrey: Of course we’re at a technology conference so maybe this is a little inflated, but it seems to be very popular. People love it. Did you expect it to be that popular and why do you think it is?
Jack: I expected it to be pretty popular. I think the concept is very strong. I think it’s something that people really want to do.
Alex: As far as the popularity here, most of the people that attend this conference, especially the interactive, are already onto it. We have a great hold on the bloggers and the people attending this conference. And they’ve done an amazing job spreading it to their friends. Some will only communicate with their friends now through Twitter so that’s helped us.
Geoffrey: That was surprised to me, I have to say, I’ve only been using it maybe a couple weeks or a month, to see people have conversations with each other via the Twitter messages.
Alex, you’re one of the developers. What’s the team like that develops and maintains Twitter? How many people are on it, working on that right now?
Alex: Well, I’m a fairly recent addition to the team. I was on contract since earlier this year. And I just recently decided to come on full-time and move out from D.C. to San Francisco. But it’s a great little team.
As far as Rails developers, there is, on full-time, I’d say Blaine, myself; we have a new addition in the form of a guy named Britt who runs a little site called userscripts.org. He’s a very talented programmer. Jack is still, I would say, maybe half- to three-quarter-time on the Rails.
And, of course, it was awesome coming on while Florine was still helping out with the site because, being on the core team, he’s got some very interesting code that’s in subversion to check out. So it was cool to working with him for a little while.
Geoffrey: You’ve got so many ways for information to come into the site, obviously the fact that it’s pervasively present on your phone and not only can you submit but you can also receive notifications on your phone, was that hard to implement that whole process and take data from so man different locations?
Jack: It started off very easy because we only focused on the phone. Most of these SMS aggregators go through just an XML post. When we added Jabber, it became much more complicated.
We’re doing some interesting things with Jabber. First of all, we have one bot on our GTalk account which has potentially thousands of friends so there are some scaling problems.
Actually, Blaine Cook is back home working on the scaling problems right now. He’s done some awesome work with really thinking of Jabber in a new way at an API and thinking about it as more connection.
So, Twitter has become more of a very sophisticated message routing system. That is how we are approaching the problem right now, and we are trying to figure out how to scale that.
Geoffrey: For me, I have worked on a couple apps where we wanted to receive email, and I think we really need the Geoffrey Zeldman of email standards. Because definitely there are standards out there, but people aren’t following them, especially phone companies seem to think they can just implement it however they want to and change it every couple of weeks and add their extra little graphics on there.
It may be a little simpler because you are just working with the text and none of the other attachments or graphics, but have you had struggles with that or does it make it easier, the fact that it is just text?
Jack: Making it just text is very easy, but we are pushing a lot of text. And we are pushing it across multiple devices. So yeah, it has been difficult.
Alex: And internationalization has been a nightmare. Getting everything in your stack to make sure that it is all talking UTF-8 properly seems rudimentary. It seems like you just set the flags and you are good, it’s not. There is going to be something in your stack that trips you up.
In our case it was our SMS provider sending Latin-1 and not really telling us that. It took Blaine some incredible reverse-debugging to figure that out. So text can be simple, but it is not stupid-simple.
Geoffrey: Dancing around technical to social design topics here, but it seems that maybe it started out very one-way, what are you doing? but people are using it two-way and chatting with each other. Do you have any intention to change the way that it works to make it accommodate those different kinds of uses, or is it good enough as-is and people just modify it the way that they want to use it?
Jack: We are definitely very aware of how people use it, and we want to keep listening and modify it to their needs. One of the most recent examples of that is, we have noticed a lot of people start their messages with the “
" symbol and then a username, so Blaine put in support for recognizing that someone is writing the "” symbol then the username, and then it will actually link back to the original update that that person was referring to.
Alex: So you see “such and such, I’m really enjoying these new pants.” and that was in reply to this other user. It’s not just the ”@” symbol, there are a couple other formats that you can structure. You can say username-colon, you can say username-space, and it will try to figure it out.
Geoffrey: How about filtering? Are you trying to do any kind of censoring or cleanup as content comes through, or is it just raw whatever is posted?
Jack: It’s raw right now. We have a “Mark as explicit” flag for admin’s; we would like to open that up to users. We want our users to kind of police the site a bit more, much like the Flickr model; that would be our inspiration.
Geoffrey: Another thing that has been hot in the past couple of weeks is OpenID. Do you see that as being a big deal for Twitter or does the fact that there are multiple ways to use it make that less of an issue?
Jack: We are definitely looking into it. We have had some conversations. We are definitely interested in implementing that.
Alex: A big concern is the sign-up workflow. I know sites like Ma.gnolia have done an awesome job of, you know, you need to tell Ma.gnolia a lot more than just your domain name to work on that site. So they collect that when you first use your OpenID.
We would like to do something similar, but we also need to set up some from of old-style password-based authentication for developers for the API. They kind of still need a traditional account. You can’t off everything with OpenID, not easily anyway.
Geoffrey: That’s a good point. So OpenID is not, or at least currently is not, going to be as good for APIs because it is made to work with browsers or things that can be redirected off to other sites and come back with the proper cookie or all that.
Alex: It is a little cumbersome, yes.
Geoffrey: Well, definitely an engaging product. I saw people out there, you have got big HDTV screens with Twitter messages floating across, and people just standing there, I don’t know for how long, just reading the messages.
Jack: Oh, yeah. Our Flash developer, Ray, has done an amazing job with the visual advisor.
Geoffrey: Oh, so that is just a big Flash widget?
Jack: That is one big Flash widget. Anyone can see it if you go to sxsw.twitter.com you can bring it up on your computer.
It’s beautiful, and people do stare. It’s kind of soothing; it’s almost like an aquarium.
Geoffrey: Well, thanks guys. Good luck with twitter.
Jack: Thank you.
Announcer: Ruby on Rails podcast is sponsored by PeepCode Screencasts. Free episodes for your Ruby user group and a new site design.