Click here to show or hide the menubar.

Home >  Archive >  2012 >  August >  10

Previous / Next

If I were making a Twitter clone...
By Dave Winer on Friday, August 10, 2012 at 10:55 AM.

First I want to disclaim this -- I am not making a Twitter clone. But I have watched a number of people try, so I've had a chance to think about what I would do if I were making one. I love intellectual exercises like this.  permalink

Yesterday I posted a question in a thread which was intended to expose the issues around the API. I asked if the Twitter API is an open standard. I didn't express an opinion one way or another. Realistically it's probably a matter of consensus among developers, Twitter's competitors, Twitter itself and if it should come down to it, the law.  permalink

A picture named newAccordionGuyBig.gifBut one thing's clear to me -- it's better for the ecosystem and the Internet if the API were a basis for interop between competitors. That way developers and users would have choice. The only argument against using it as a basis for interop is that it would be too limiting.  permalink

We've faced that before in a very parallel situation with the Blogger API. The resulting extension to their API provided for features our software had that Blogger's didn't. That goes back a long way, to 2003. Both APIs thrived and are still in use, and the principles are still valid. permalink

So the answer for me is that if I were making a Twitter clone, I would start with an exact clone of the API. I would test interop. This would have the advantage of telegraphing intent clearly to developers. They wouldn't have to guess where our API was going.  permalink

However, I would not promise future compatibility if Twitter were to change the API. I wouldn't say we wouldn't go where they went, but I would not give them a blank check to invalidate our interop. The Twitter API has had years to burn in. It's widely supported. Even with the changes Twitter has made recently it's not hard to implement. I think it represents an excellent basis for interop. (And if it weren't the basis for interop, what would be?) permalink

Further, I would implement it in such a way that the names of the endpoints and the parameters they take were configured from a design spec. I'd probably use OPML and publish it openly. If Twitter objected by filing a lawsuit, we could reconfigure our API to be non-infringing but would openly explain to developers why we were doing it.  permalink

Honestly, I don't think Twitter would choose to compete at this level. They haven't lately been building their ecosystem around developers. To cut off other channels for developers to grow would seem spiteful and selfish, esp for a company that's been so successful and is so rich. At least some of that came from the hard work of their developers.  permalink

BTW I love the header graphic my CMS chose for the head of this post. It's totally random. I took that picture in the red light district of Amsterdam in 2000. I call it Negotiating. It's probably the best photo I've ever taken. By a lot.  permalink

RSS feed for Scripting News
This site contributes to the scripting.com community river.


© Copyright 1997-2012 Dave Winer. Last update: Friday, August 10, 2012 at 11:16 AM Eastern. Last build: 8/31/2012; 8:51:49 AM. "It's even worse than it appears."

RSS feed for Scripting News

Previous / Next