XMPP Video calls with Nokia N900

So, this morning, I did my first video call over XMPP between two N900.

However, so far, I failed to do an XMPP video call from an N900 to something else. When I try to call pidgin on my laptop, pidgin simply crashes, but of course that’s not a serious bug if people can DOS your pidgin instance since, according to the Debian bug:

Assuming your XMPP settings require that users must authenticate with you before being able to send you messages, only your authenticated users would be able to freeze your client, assuming they knew you were actually affected by this bug.

The upstream pidgin bug hasn’t seen a lot of activity lately. :-(

XMPP/Jabber clients and OS usage statistics (5)

(Previous editions: 2005, 2006, 2007 and march 2008)

Here are my (almost) yearly stats about XMPP/Jabber clients (OK, the last one was 18 months ago).

1250 users were online on the Apinc Jabber server when I ran the poll, and 1192 clients answered. This year, I’ve also used Disco to poll the clients, allowing to detect Telepathy (thanks Sjoerd for the tip!).


  • Pidgin 43% (2008: 27%)
  • Gajim 19% (2008: 20%)
  • Psi 9% (2008: 16%)
  • Kopete 7% (2008: 14%)
  • Adium 5% (2008: 6%)
  • BitlBee 2% (2008: <=2%)
  • Telepathy 2% (2008 unknown)
  • Other clients with less than 2%: iChat, Pandion, Miranda, mcabber, Smack, meebo, Trillian. All other clients had less than 5 users online.

The systems and distributions stats are biased, because some clients don’t disclose that information, or worse, give wrong information (Psi reports running Debian when on Ubuntu).


  • Unknown 57% (Pidgin doesn’t report the OS) (2008: 36%)
  • GNU/Linux 24% (2008: 40%)
  • Windows 15% (2008: 17%)
  • MacOS 2% (2008: 5%)
  • Others 0% (3 FreeBSD, 2 OpenBSD)

Linux distributions:
164 clients reported a Linux distribution (249 last year).

  • Ubuntu 44% (2008: 45%)
  • Debian 23% (2008: 36%)
  • Arch Linux: 9% (2008: 1%)
  • Gentoo: 9% (2008: 10%)
  • Fedora: 7% (2008: 5%)
  • Mandriva: 5% (2008: 3%)
  • Slackware: 2% (2008: 1%)


  • The top 5 clients are the same, in the same order, but Pidgin’s lead is increasing. Gajim stays stable at the second place, while the two Qt-based clients, Psi and Kopete, both lose a lot of market share.
  • Apparently the Mac hype is gone, at least for Jabber users. Or it’s just that all Mac users use Pidgin, which doesn’t report the OS.
  • Regarding Linux distributions, Arch Linux gained a lot of market share over the last year.

Living in France? Not an April member? You are WRONG.

I’ve been a member of April, the french association for promotion and defense of Free Software, for a bit more than a year, and I often regret not becoming a member earlier. (I was feeling so guilty and shameful about not being a member that I actually postponed becoming a member.)

Stop feeling guilty and shameful, become an April member today!

Why Is becoming an April member so important?

  • Clearly, April doesn’t address the same problems as your local LUG. April is a country-wide organization, and it works on country-wide problems. It’s the only group able to work on such problems at this scale (I’m not sure of the situation in other countries, but I think CCC shares a similar role in Germany for example).
  • Each time I talk to people really involved in April (which I’m not), I’m amazed by how powerful they have become. They are able to talk to french or european deputies or ministers’ cabinets, and are considered important. They are doing a fantastic job spreading what matters to us to legislative and executive powers in France and Europe.

Some of the things they worked on recently (from the top of my head):

  • Lobbying on :
    • OOXML
    • General announcements about politics (Plan France Numérique 2012, aka Plan Besson).
    • European telecom package and HADOPI law (french graduated response) law, through Quadrature du net. (OK, it doesn’t have anything to do with April, but most of the people involved in Quadrature du Net are also involved in April :-)
    • vente liée : the fact that it’s not possible to buy a computer without a Windows license. It’s illegal in French law, but still the de facto situation almost everywhere.
  • Organization of a campaign where candidates to elections in France where asked questions, or asked to sign a declaration about Free Software. In 2007, 8 out of the 12 candidates of the french presidential election answered April’s questions.

So, really, become a member today. It’s only 10 EUR, and you already know they will be well used. April is trying to reach 5000 members by the end of 2008.

(Apparently, if you use that address, April will now that you came from me. No benefit for me at all.)

Jabber clients and OS usage stats (4)

After 2005, 2006 and 2007, I did it again. Here are my yearly stats about Jabber clients!

1244 users were online on the Apinc Jabber server when I ran the poll, and 1163 clients answered. Telepathy doesn’t seem to answer to jabber:iq:version, and it seems that a bug prevents Gajim from answering in some obscure cases (even when the “send info about OS” option is enabled).


  • GNU/Linux 40%
  • Unknown 36% (Pidgin doesn’t report the OS)
  • Windows 17%
  • MacOS 5%
  • Others 0% (4 clients)


  • Pidgin 27% (2007: gaim: 22%)
  • Gajim 20% (2007: 22%)
  • Psi 16% (2007: 24%)
  • Kopete 14% (2007: 11%)
  • libpurple (Adium) 6% (2007: 5%)
  • iChat 4% (2007: 9%)
  • Other clients with 2% or less: gajim, BitlBee, Miranda, Pandion, neos, pidgin (with ‘p’ instead of ‘P’), Trillian, Exodus, Coccinella, JabberLib, Tkabber, Gossip, Digsby Client, sim, Finch, JAJC, Bluejabb, Spark.

Jabber clients and OS usage stats (3)

Using XMPP4R, I did some stats about Jabber clients usage on the Apinc Jabber server, which hosts im.apinc.org, jabber.fr, and many more using virtual hosting. I already did similar stats in March 2006 and September 2005.

The poll was done by sending jabber:iq:version to online users, around 1:00 PM (french local time, most of the users are french). 1343 clients were pinged, and 1315 answered, which is better than last year (1145 answers). Of the 1145 jids that answered last year, 368 were also part of the poll this year (I don’t know if this is good, or not enough).


  • GNU/Linux: 43% (2006: 38% ; 2005: 34%)
  • Windows: 35% (2006: 37% ; 2005: 34%)
  • Mac OS: 16% (2006: 18% ; 2005: 23%)
  • Unknown: 4 (2006: 5% ; 2005: 6%)
  • Others: 0% (12 clients ; 2006: 0% ; 2005: 1%)


  • Psi: 24% (2006: 28% ; 2005: 28%)
  • gaim: 22% (2006: 25% ; 2005: 25%)
  • Gajim: 12% (2006: 5% ; 2005: 3%)
  • Kopete: 11% (2006: 7% ; 2005: 7%)
  • iChatAgent: 9% (2006: 13% ; 2005: 18%)
  • libgaim (Adium): 5% (2006: 4% ; 2005: 3%)
  • Pandion: 4% (2006: 4% ; 2005: 2%)
  • Miranda: 2% (2006: 2% ; 2005: 1%)
  • BitlBee: 2%
  • neos: 1%
  • Unknown client: 0%
  • Exodus: 0%
  • Imendio Gossip: 0%
  • Jabbin: 0%
  • Spark IM Client: 0%
  • Trillian: 0%
  • JBother: 0%
  • jabber.el: 0%
  • JETI: 0%
  • JAJC: 0%
  • Class.Jabber.PHP: 0%
  • Jabberwocky: 0%
  • Tkabber: 0%
  • Gush: 0%

(all clients with at least one reply are listed here)

I also did some stats on the Linux distros. With 566 Linux users, one can consider that statistically signifiant.

  • Client answers with the kernel version, not including distribution information: 62%
  • Debian: 14%
  • Ubuntu: 12%
  • Gentoo: 2%
  • Unknown distros (not provided by the client): 2%
  • Fedora Core: 1%
  • Arch Linux: 1%
  • Mandriva: 1% (despite the fact that most users are french!)
  • Slackware: 0%

(Other distros are below 5 replies)

The Debian/Ubuntu situation is interesting. Debian is not dying, even on the desktop ! The server is hosting jabber.ubuntu-fr.org, so the results are biased towards Ubuntu.

Update: it seems that Psi reports “Debian GNU/Linux (testing/unstable)” even when running on Ubuntu. This is the case for ~5% of linux users.

To server admins: if you are running a large jabber server with jabberd 1.6, it’s easy to give me the right to get the list of online users, so contact me if your are interested in me doing your users stats. It would be interesting to see if users from different servers/countries have different behaviours. I’m not sure if it’s possible with ejabberd and other servers.

Discussion about moving Ubuntu IRC channels to Jabber

The Ubuntu GNU/Linux distribution is using IRC channels as a central place for its development. This week-end, Samir van de Sand proposed to move from IRC to Jabber on the ubuntu-devel@ mailing list. A discussion started, with lots of good arguments on both sides, and Samir started a specification summarizing its proposal.

Even if I’m not sure if I would like to use MUC rooms instead of IRC for Ubuntu-related discussions (mainly because I don’t think there are Jabber clients allowing to join 10 rooms with the same user experience I get with XChat), this might be a good opportunity to work on our argumentation regarding the IRC vs MUC debate.

Now, something totally different for my readers from planet.jabberfr.org: I usually blog my Jabber entries in english, because I’m syndicated on planet.jabber.org as well. Somebody argued that I should not post stuff written in english to planet.jabberfr.org. So, should I:

  1. Continue to post entries in english to planet.jabberfr.org
  2. Stop posting entries in english to planet.jabberfr.org (I’m not going to translate my entries, so my posts to planet.jabberfr.org will be limited to stuff which is not relevant to planet.jabber.org)

Version française: mes billets sur Jabber sont généralement écrits en anglais, car je suis également syndiqué sur planet.jabber.org. Quelqu’un m’a fait remarquer que je ne devrais pas publier de billets en anglais sur planet.jabberfr.org. Que dois-je faire :

  1. Continuer à poster des billets en anglais sur planet.jabberfr.org
  2. Arrêter de poster des billets en anglais sur planet.jabberfr.org (Je ne vais pas traduire mes billets, donc mes billets sur planet.jabberfr.org se limiteraient aux sujets qui ne concernent pas planet.jabber.org)

Unintrusive Instant Messaging

Most IM clients have a big problem: they seem to think they are the most important application on the desktop, or that their users always consider IM as top priority. Problem is, some users don’t! It would be great if IM clients where dealing better with two use cases :

  • Joe is working intensively on something, and doesn’t really want to be disturbed, except, of course, if the chat he would have is of extremely high importance (knowing who just sent him a message would probably help in determining how important the chat is going to be). He can’t rely on setting himself “Busy” on jabber, because people then write to him saying “ok, you are busy, answer me later, but here is my question: ….”.
  • Joe is working with Jack (a colleague) in front of his workstation. Since he has a mix of both professional and personal contacts, he needs to check if the message he just received is from his boss or from his girlfriend. (Opening a message from his girlfriend while Jack is watching might not be a good idea).

Typical stuff clients do:

  • Display incoming messages using notification-daemon (see picture below), but do not provide a way to disable this behaviour (I don’t think many clients fail this test).
  • The tooltip of the notification area icon (“system tray”) provides a fast way to be informed of important information. However, some clients (e.g Gajim) only give the number of unread messages, but don’t say who they are from (see picture below). The tooltip would be a perfect place to say “3 unread messages, 1 is from Boss, 2 are from ” in a Jack-safe way. When working intensively, it also allows you to make a quick decision about whether you want to read the messages and maybe start a chat now, or reply to them later.
  • Some clients (e.g Gajim) do not provide a way to easily read a specific unread message (and not all of them) (see picture below). Adding something event-specific in addition to “Show All Pending Events” would allow to read the message from Boss without reading the message from Girlfriend in front of Jack.

So, how does your client behave in regard to this ? I don’t really like the way Gajim behaves because it doesn’t provide much info in the tooltip, and doesn’t allow you to read a specific event (you have to open the roster and select the contact). Is your client doing better ?

Random chat using XMPP/Jabber, anyone ?

A Random Chat applet hit digg recently. It allows you to chat with a random stranger visiting the website at the same time as you.

It’s a good idea, but it would really be much better to have something similar based on Jabber (and maybe it could become a Jabber killer app’ ?)

Some thoughts:

  • It should be easy to get in the system, but slightly more difficult to get out of it : the main problem with the current website-based system is that it doesn’t work very well outside of flash-crowd periods. For example, you could be considered available for Random Chat as soon as you are “Available” or “Free for chat” on Jabber.
  • The system should provide strong anonymity (no direct messages between participating users to hide their JID) and allow for blacklisting to avoid the usual harassment problems.
  • The system should work with a classic Jabber client: no specific software or support for unimplemented JEPs should be required.
  • The system could include a tag-based system to be able to chat with people with similar interests or speaking the same language(s)

So, is somebody interested in working on this ? It would be quite easy to do with XMPP4R or another Ruby library. (This was from my list of things that I would really like to see implemented, but I won’t have time to work on it myself)

Related links:

XMPP4R 0.3 Released !

Stephan Maka announced that XMPP4R 0.3, the new version of the XMPP/Jabber library for Ruby, was released very early this morning. From the announcement :

XMPP4R is a Ruby library for the Jabber/XMPP instant messaging protocol.

Version 0.3 brings a lot of new features and fixes. The release has been
delayed by a redesign process, thus the class and module names of
additional features have changed. Updaters are advised to read the
included UPDATING document.

From the ChangeLog:

* SRV lookup capability in Client#connect
* Stringprep support for JIDs
* TLS & SASL support
* Basic Dataforms support
* Multi-User Chat Helpers
* Helpers for File-Transfer, SOCKS5 Bytestreams, In-Band Bytestreams
* Roster helper has modified subscription-request semantics (see
* A lot of features have renamed namespaces (see UPDATING file)

Pointers for further information:

* XMPP4R Homepage: http://home.gna.org/xmpp4r/
* Downloads: http://download.gna.org/xmpp4r/
* API reference: http://home.gna.org/xmpp4r/rdoc/

While I worked on version 0.2, I didn’t do anything for this version, and I’m very proud of that, because it’s actually the first time that I was able to hand over all the maintainership of a project I created ;) Stephan Maka really did a Great Job. Congratulations, Stephan !

Vidéo de ma présentation sur XMPP/Jabber aux RMLL

La vidéo de ma présentation aux RMLL est disponible sur cette page (lien direct). Si vous voulez suivre avec les slides pendant que vous la regardez, elles sont dispo ici.

Quelques remarques en vrac :

  • Dommage que le son soit celui de l’amphi, et pas celui du micro. Comme j’ai tendance à parler un peu vite et à manger certains mots (normal après 5j de resto U ;)), ca ne me rend pas facile à comprendre. J’espère que c’était plus clair dans la salle !
  • Il faut vraiment que je change de thème beamer, les couleurs passent très mal au vidéo-projecteur.
  • Merci à Michael Opdenaker pour avoir filmé ces conférences. C’est vraiment dommage que des initiatives de ce genre ne soient pas plus nombreuses …
  • J’ai pas vraiment assuré pendant les questions. La prochaine fois, mieux écouter, et plus réfléchir avant de répondre :-)

Alors, vu du public, c’était comment ?