On my last trip to California in spring 2007 I visited Marco in Oakland. After he picked me up at the airport, we had dinner and walked along the shore of lake merrit, talking about this and that and after a while in his appartement I gave him a demonstration of the 3rd version of zzap - what I had built so far. He found it interesting and soon we had a discussion about the best software architecture. At this time, I had built a lot of bells and whistles into the software (a lot more than I have in the current version) and the whole thing was more or less a traditional web application. Based on HTTP, built with the usual Apache/MySQL/PHP and a bunch of libraries (PEAR, SMARTY,...).
Marco suggested a different architecture, similar to instant messaging, because it would scale better. Since the basic element of zzap is a short textmessage like in the IM, we thought, we should check out, if JABBER could fit the needs. One month later I decided to stop further development, because I didn't succeeded in getting anybody who would support the project into it. Sad. Cut - next year:
A lot of people who are inspired by the the idea of microblogging, are discussing about possible ways to build a decentralized microblogging enviroment. As far as I can see now, there a two main parties: Some people want a "clean" and scaleable architecture, based on - surprise - Jabber. Others think it would be more pragmatic to build a web based service. Best example: laconi.ca.
Who's right? Well - it depends...
If the plan is to build a huge service with millions of users and gazillions of messages per second, to build a web application is definitely no wise decision. An IM based push service should be preferred then.
My idea of a decentralized microblogging network ist different. In my imagination there are thousands of independent servers, most of them with only very few active users, each with a manageable amount of contacts. Some of this servers hosting closed groups, some are semi-open and some are open to everyone - similar to Blogs: A few are for closed groups, many are hosted on private servers, and many are on open-for-all services like blogger.com or wordpress.com.
It's not so important, if the architecture permits thousand of messages per second, but the service must be easy to install on a standard hosting enviroment. With Jabber, you're out! Better think of Wordpress. It easy to set up for the average user.
But even with a web application - one thing to avoid is: polling the messages. It wastes way too much bandwith and processing power, just to ensure, that none of your friends wrote a new message within the last minute (or at whatever frequency the service is polling). An efficient microblogging protocol has to be a push-protocol. But on the other hand it is neccessary to build a kind of permission system to avoid spam. I don't want to go into details here.
The lesson of today is:
There are good reasons for a web based microblogging application, if it's using a clever lightweight exchange protocol.
Über meine Arbeit an zzap schreibe ich seit kurzem ja auf einem eigenen Produkt-Blog in englisch. Damit meine werten Leser hier davon überhaupt noch etwas mitbekommen, möchte ich kurz auf die bisher erschienenen Artikel hinweisen: Microblogging as I
Tracked: Sep 24, 12:09