This is as days pass by, by Stuart Langridge

And this is Identi.ca, Twitter, and posting between the two, written , and concerning Web, Sundry Hacks

It's now the trendy thing to write an essay about why Twitter is doomed, or why it's not doomed and all its competitors are doomed instead. And god knows I wouldn't want to break the back of that trend. I've been playing with Identi.ca, a Twitter clone written in PHP. Lots of Twitter people are becoming frustrated with seeing the famous Fail Whale on Twitter's "we are currently down" page, and people are starting to look elsewhere. There are lots (and lots and lots) of alterni-Twitters (which is a problem I'll come back to in a moment), but identi.ca is attracting one of the communities I operate in, open source people. This is because identi.ca is entirely open source: the codebase is called Laconica. This is a nice idea. First things first, though: I don't want to update two places at once. Identica* doesn't have an API (yet), but I wanted to post things to Twitter and have them appear on Identica too. So, I present the Twitter Identi.ca Reflector. Download as a tarball or check it out from Subversion or browse the source. The README tells you how to set it up. It uses Jabber to post to Identica, which isn't ideal, but (as mentioned) there's no API. So now you can send Twitter posts to Identi.ca, which is helpful. Now, why Twitter is good, why Identi.ca is good, and why everything else isn't. If you just wanted to post Twitter comments to Identi.ca then you can stop reading now. Twitter looks like it ought to be easy to clone, and it isn't. This is why there are lots of Twitter clones, and why none of them have taken off. The basic principle of microblogging is indeed an easy one, I agree. But all the other Twitter-alikes are missing something. They don't have SMS sending, or SMS following, or they don't have an API, or they don't have lots of desktop clients, or they have one desktop client that doesn't run on everyone's machine, or they don't do IM. What makes Twitter good is two things: the first is that you can get at it in so many ways. And because there are so many ways, people can build lots of things on top of it. For example, if you want to do the reverse of what the above reflector does (post your messages to Identi.ca and have them show up on Twitter) then you don't need an extra program, because it already exists: Twitterfeed. Simply sign up at Twitterfeed, and use it to send posts from your Identica feed to Twitter, and it's all done. That's the power of having an expressive and complete set of APIs. It can't be underestimated. The second reason Twitter is good is that everyone's already there. They got first-mover advantage. There's no point going to an alternative because none of your friends are there. This is also the reason that Twitter has fifty desktop clients and that things like Twitterfeed exist; it's worth the investment. It does mean that if people leave Twitter they'll all leave together and the bottom drops out of their market, but that's the way the internet cookie crumbles. Photo sharing sites have the same issue -- it's difficult to build a Flickr competitor because everyone's already at Flickr, so none of the "social" stuff happens elsewhere because you never hit a critical mass of people. So, what's good about Identi.ca then? Well, for me, the big things are open-sourceness and federation. The underlying codebase being open source is a huge win, from my perspective. It means people other than the Identi.ca team can work on adding new features, it means that we can see what's going on, and it means that there are more open source programs in the world. I like this. Other people may not, but what the hell. The other advantage is federation. This is all about the OpenMicroBlogging specification; it basically blows away the "all my friends are at Twitter so I must be too" point. It means that you can subscribe on one microblogging service to people on other microblogging services. I could be at Identi.ca, you could be at Twitter, someone else could be at Jaiku or Pownce or wherever else, and we all read one another's messages, happy as Larry. It levels the playing field. I can subscribe Identi.ca to Twitter without problems. This is a great idea which is rather hampered by the fact that basically no-one has implemented it yet. It's in Laconica, though, so Identica has it. It helps get around the scaling problems that Twitter are having, too: you don't need one centralised Twitter service any more. There can be lots of little islands, all of which talk to one another. No more scaling problems. No more Fail Whale. People who need the extras that Twitter provides can use Twitter quite happily (as I'm doing; I like SMS!), people who don't need that but do need other services can use something else that provides those other services. The basic concept of microblogging has been commoditised thanks to OpenMicroBlogging -- it's become a simple thing to implement anywhere. Microblogging services can now compete on which extras they offer. That's why I like Identi.ca. Oh, and they let you create your account with OpenID, which I did. It's a win all round. Development's going on at a fast pace on the Laconica codebase, so expect to see more and more appear over there. Blizzard's already added identi.ca support to Whoisi, so things are moving quickly. I don't know whether the trickle of Twitterites in Identi.ca's direction will continue, but thanks to the reflector code above, I'm now on Identi.ca without putting in any extra effort. That's identi.ca/sil for those of you who want to track it.

Comments

jonathan carter » Blog Archive » Open Source Microblogging

[...] it’s all the [...]

Phil Wilson

Surely moving to another single-point service is missing the point?

sil

Phil: that's what the OpenMicroBlogging stuff is about. If Twitter and Jaiku and Plurk and everyone else implemented that then there would be no single-point services. Until they do, it's *all* single-point.

Life Stupidities » Blog Archive » The waste of time and space that is twitter..

[...] has been a lot of discussion lately about micro blogging and the many problems associated with twitter. Something [...]

Phil Wilson

Ah yes, "This is a great idea which is rather hampered by the fact that basically no-one has implemented it yet." ;)

sil

Phil: yep. It's like being the first dude with a telephone. But _someone_ has to be the first dide with a telephone, which is why I'm at identi.ca :)

alex

I don't quite get why they don't use xmpp.

server-2-server : check

pub-sub : check

encryption : check

opensource : check

internet standard : check

huge client base : check

now. someone enlighten me please.

Phil Wilson

Alex - I agree, federated XMPP pubsub is a "better" solution, but let's face it, any old schmo with web hosting can run a PHP app, whereas far fewer people have the opportunity to run an XMPP server. This is important.

alex

Any old schmoo with webhosting won't have a traffic limitation (processor time) that's interesting for a microblogging infrastructure though. The people having their own server are far more interesting - and they should be able to setup a xmpp server.

Phil Wilson

They might be more interesting, but surely that's not the point? As far as I can see it, laconica is a way out of being locked into a single microblogging service ever again, not a way to be locked into a smaller service on the server of someone you might know. If you're only federating with your contacts then your requirements scale up with the size of your personal network, which seems reasonable to me, and should happily deal with a grouping of around Dunbar-proportions.

I certainly won't be signing up on identi.ca, although in a few months' time (when federation works as advertised) I will probably set up my own laconica install. I'm not daft enough to move off twitter just for lock-in somewhere else.

saperduper

You don't have to use Jabber to post to identi.ca! You could do this using a very simple python script.

An example can be found here http://pastebin.com/f78360ff8

sil

saperduper: does this "simple" Python script handle OpenID, which is how I log into identi.ca? Using documented APIs rather than screen-scraping is the way to do it...

» OpenID login and APIs » as days pass by, by Stuart Langridge

[...] OAuth isn’t the answer here. My use-case for this is, say, a little script that allows me to post to Identi.ca. OAuth requires me (the “Consumer”) to request a “Consumer Secret” and a [...]

tonywhitmore.co.uk » Identi.ca and Twitter

[...] have thus far failed to get Aq’s reflector working so find me on which ever suits you most and take your chances. I am really interested to [...]

Bookmarks about Webhosting

[...] http://yennygirl.com/?p=2012 - bookmarked by 6 members originally found by vraius on 2008-08-05 Comment on Identi.ca, Twitter, and posting between the two by alex http://www.kryogenix.org/days/2008/07/03/identica-twitter-and-posting-between-the-two - bookmarked [...]

sil

I'm now using Twitterfeed for this, because it can now post to Identi.ca. So, subscribe to your Twitter page's RSS feed and post it to Identi.ca and it all works. Well done Twitterfeed.

» Sending posts from Twitter to Identi.ca part 2 » as days pass by, by Stuart Langridge

[...] while back I wrote a reflector which sent posts from Twitter to Identi.ca if you want to post to both. However, that required [...]

For Social Networks To Really Be Social, They Must Be Open » Boztopia.com

[...] Identi.ca could, theoretically, be the bridge to get all of these different platforms working together through the OpenMicroBlogging project, but there is one big pitfall preventing this, even more than the logistical challenges of getting platforms to communicate. It’s getting people to do the same. As Stuart Langridge said last year: [...]

Leo

If you're running this script on Linux, you need to add the she-bang at the top of the .py file:

#!/usr/bin/python

Or you'll just get this error:

./twitter-identica.py: line 1: import: command not found

./twitter-identica.py: line 3: syntax error near unexpected token `('

./twitter-identica.py: line 3: `config = ConfigParser.ConfigParser()'

This website belongs to Stuart Langridge. Contact details are available. Don't eat yellow snow. Valid HTML5, at least in theory, except for the bits that aren't because I'm that futuristic that I'm ahead of the spec, oh yes. HTML5 help from Bruce Lawson, among others. Fonts from the superb FontSquirrel. End.