ralphm's blog

Sunday, 27 February 2005

FOSDEM 2005 Report

Live from the booth...

Unlike last year, I am now at FOSDEM. This is the last day of the event, and I'm now at the Jabber Booth. Yesterday, I gave two presentations on Jabber: 'Crash course into Jabber' and 'Publish / Subscribe and its use in Jabber'.

The first one was very well visited. The room was packed, and some people were forced to stand. I gave an overview of the history of Jabber, what it is, what it is used for, and then went into protocol details. Of course, I also showed how easy the protocol is. There were many good questions and lots of interesting ideas, which barred me from showing an example of making a protocol extension. Also, there was no beamer in the room (although requested), so I had to make due with having the laptop on a chair on a table, with the screen facing the audience. The protocol pieces were too small for the far end to see, so I did those on the blackboard, and promised to publish the presentation sheets online.

After that presentation, Ian Sollars was up for his. His talk was titled "Gradient: Integrating XMPP with an SVG Browser". Unfortunately I couldn't not attend his presentation.

Then it was my turn again, this time about pubsub. There were about 20 people in the room, which was a fair number. I tried to convey what pubsub is about, starting from the Observer Pattern, and graduately adding to that. I'm not sure if everybody was able to grasp that, but I found it hard to explain well. Fortunately, there were a significant number of people that did understand (some because of my talk), and again, there were some very good questions.

So, the presentations went very well, in my opinion. This morning, we used the Jabber developers' room for discussing protocol and exchanging ideas for new application domains.

Besides the Jabber Developers' Room, we also have a Jabber Software Foundation booth, where a lot of interested people have come by and asked questions. There was some confusion this morning on where the JSF table cloth went, but it reappeared this afternoon. See the picture for an idea of our spot.

I'll post the rest of the pictures early coming week, as well as the promised presentation slides.

Thursday, 24 February 2005


On old Jabber software...

I'm being plagued by mysterious crashes of Gossip, my currently favourite Jabber client. Somehow, everytime I have used its groupchat stuff, the client becomes unstable. So far, I haven't been able to track it down, unfortunately. The fact that Gossip's main authors, Micke and Richard don't really use groupchat, doesn't help in getting this fixed, either.

Today, however, I remembered that nifty little tool called sjabber, a console groupchat-only Jabber client, written by qmacro. I was curious if it would still run, since this software hadn't been touched since 2001. Would it still adhere to Net::Jabber's API? Would it work with Multi-User Chat conference components? Almost a resounding yes!

Yes, sjabber still runs, even with the latest Net:Jabber. It works with the conferencing component at conference.ik.nu. However, it didn't fully work with the one on conference.jabber.fosdem.org. The difference? The former runs the old conference-v2 module, wheras the latter runs mu-conference. The mu-conference component implements the new Multi-User Chat protocol, and is a bit stricter on what it accepts. It turns out that sjabber wasn't setting the type attribute to groupchat on its outgoing messages and all messages from it were dropped at the component. Incoming messages, as well as presence was handled fine.

This was simple to fix, and now sjabber is working great. Its author, qmacro, was pretty amazed that his first foray into Jabber programming is still humming along nicely. For completeness, here's the fix:

--- sjabber.orig Wed Mar 28 11:04:39 2001
+++ sjabber     Thu Feb 24 10:07:52 2005
@@ -130,7 +130,7 @@
     elsif (length($input) and $config{currentgroup}) {
       my $gc_msg = Net::Jabber::Message->new();
-#       Type    => 'headline', # why did I do this?
+        Type    => 'groupchat',
         To      => groupName($config{currentgroup}).'@'.groupServer($config{currentgroup}),
         Body    => $input,

Friday, 18 February 2005

E-mail and Beyond

The NLUUG Spring Conference 2005...

Every half year, NLUUG, the Dutch Unix User Group organises a full-day conference around a particular theme. This years spring conference (26 May 2005, Ede, The Netherlands) has the topic 'E-mail and Beyond', with the following description:

The amount of e-mail is growing at an ever increasing rate. How do we prevent the system from collapsing? Add more hardware, tune the software or do we need a completely different way of communication? This conference will dig into the problems that we all cope with and present both proven solutions and brand new ideas.

During the Call for Papers, I was asked if I was interested in speaking at the conference about Jabber. Obviously, Instant Messaging is becoming more inportant for human-to-human communication, and the current e-mail system is becoming a big pain. Spam and other misuse are the biggest causes for this. I will try to pose Jabber as a possible replacement technology, bringing along, of course, significant enhancements over e-mail.

I'm happy to say that my abstract was recently accepted, so I'm really excited about going there and giving this presentation. For those who understand Dutch, here is the abstract I sent in:

Geboren als mogelijk antwoord op de versnippering van de Instant Messaging arena, is Jabber uitgegroeid tot een open, eenvoudig, veilig en vooral bijzonder uitbreidbaar platform voor het uitwisselen van berichten, 'presence' en andere gestructureerde informatie in 'near real time'.

Instant Messaging wint steeds meer terrein op e-mail, zowel onder jeugd als binnen bedrijven. Open protocollen, zoals het op IETF's XMPP gebaseerde Jabber, zullen hier een steeds grotere rol gaan spelen. In deze hoek zijn voor elk platform server en client software beschikbaar, zowel commerciëel als open source.

XMPP is een generiek systeem voor het communiceren van gestructureerde informatie op basis van XML, is dus niet beperkt tot IM. De Jabber Software Foundation (JSF) ontwikkelt Jabber Enhancement Proposals die bovenop XMPP uitbreidingen en best practice beschrijven. Onderwerpen zijn service discovery, groepscommunicatie, extended presence en publish-subscribe toepassingen voor real-time bezorging van nieuws, weer en waarschuwingsmeldingen bij rampen.

In 45 minuten wordt een overzicht gegeven van Jabber: de protocollen, de systeemarchitectuur en het huidige gebruiksgebied. Daarnaast komen de veiligheidskenmerken en bruggen naar andere communicatiesystemen aan bod. Verder zal er wat dieper worden ingegaan op de waarde van 'presence' en andere (publish-subscribe gebaseerde) real-time toepassingen om boven de functionaliteit van e-mail uit te stijgen.

Ralph Meijer is sinds 2000 actief in de Jabber gemeenschap. Als lid van de Jabber Software Foundation werkt hij in zijn vrije tijd aan het onwikkelen van Jabber protocollen en het maken van proof-of-concepts voor nieuwe ideeën. Daarnaast probeert hij Jabber onder de aandacht van software ontwikkelaars te krijgen, met name in Europa. Sinds de zomer van 2004 maakt hij deel uit van het Jabber Council, dat de Jabber Enhancement Proposals binnen de JSF overziet en beoordeelt. Professioneel is Ralph werkzaam aan de Technische Universiteit Eindhoven als wetenschappelijk programmeur van de faculteit Werktuigbouwkunde.