Blog by Sumana Harihareswara, Changeset founder

14 Jan 2010, 14:49 p.m.

Some Recent Collabora Open Source Development

Hi, reader. I wrote this in 2010 and it's now more than five years old. So it may be very out of date; the world, and I, have changed a lot since I wrote it! I'm keeping this up for historical archive purposes, but the me of today may 100% disagree with what I said then. I rarely edit posts after publishing them, but if I do, I usually leave a note in italics to mark the edit and the reason. If this post is particularly offensive or breaches someone's privacy, please contact me.

Has it been three months since I provided a snapshot of Collaborans' open source work? Too long! Here's a taste of our work from the end of 2009 & the start of this year (and there's a lot I'm leaving out, like a bunch of Maemo work, because otherwise this entry would go on forever! I'm already several days out-of-date): a few Collabora folks at dinner at Gran Canaria

  • Felix Kaser & Guillaume Desmottes hammered at the accounts user interface in our chat client, Empathy, to make it more intuitive and full-featured. In general, they did lots of Empathy fixes, triage, & chatting, on the way to Empathy 2.30. Speaking of which:
  • We released version 2.29.4 and version 2.29.5 of the Empathy chat client. From the release notes:

    2.29.4: Empathy is now able to start SIP video calls using the new "New Call" dialog. It also indicates whether an incoming call contains video or is audio only. The contact list can now display the protocol used by contacts, and the accounts dialog shows the accounts' status (enabled/disabled, available/busy/away/offline, etc.).
    Thanks to K. Vishnoo Charan Reddy, Empathy gained icons for 4 protocols.

    2.29.5: The contact list has been improved to make it harder to accidentally call a contact when you just intended to select a row. The accounts dialog has been reworked to reduce the number of steps when adding a new account.
    Thanks to Thomas Meire, a new contributor, the nick auto-completion has been improved in rooms.
    We also fixed a bunch of crashes and a regression when starting a video call.

  • the beach outside the conference center at Gran Canaria Collabora continued working on Fennec, a.k.a. Firefox for Mobile. Specifically, Collabora is helping re-architect Firefox to be multi-process, via the "Electrolysis" project. After Electrolysis separates out processes in Firefox, each window/tab will live in its own process. If it crashes or needs to be killed, then it won't take down the rest of your browser with it. Plugins will also live in their own process, which also improves your security: Electrolysis puts them in a sort of sandbox, so a badly written (or malicious) plugin can't hurt you too badly. You might have heard of this innovation in Google's Chrome browser. (Chrome is based on the WebKit engine, and Firefox is based on the competing Gecko engine.) So Electrolysis will make the UI more responsive in Firefox for Mobile, but it's not just for Firefox Mobile -- once this separation gets implemented in Gecko, your desktop Firefox will get those stability and performance improvements as well.

    Frédéric Plourde is working on Electrolysis for Collabora. Check out our notes, the Electrolysis team status board, and the Firefox For Mobile discussion board.

    Sumana enjoying the sun at Gran Canaria

  • We published a bunch of useful blog posts, especially Maemo 5 sample code from Danielle Madeley & Jonathon Jongsma, syndicated to the company planet (metablog).
  • Gustavo Noronha is working on buildbots for the Telepathy real-time communication framework and the WebKit browser engine, to automate the building and testing of those codebases.
  • Dariusz Mikulski & George Goldberg are nearly nearly done implementing Telepathy-based desktop sharing using Kopete (a KDE chat client).
  • Dariusz also started on a Tubes-enabled multiplayer chess game for Maemo 5.
  • Youness El Alaoui handed over his first design & implementation of Teamgeist to the Zeitgeist team. Zeitgeist introduces automatic activity logs and pervasive search to help you remember, research, and collaborate.
  • David Laban and Simon McVittie started on the telepathy-fargo project, which will allow anyone to set up a server with an XMPP gateway to facilitate people calling each other over the Internet. "telepathy-fargo is an XMPP server component allowing XMPP users to sign in to a SIP account (in the future, any other account supported by a Telepathy connection manager) and use it to call other SIP users." Look for more developments in telepathy-fargo in the next several weeks.
  • Eitan Isaacson (eeejay) started at Collabora. He's been investigating metacontacts (having Empathy know that your friend Leela on AIM and your friend Leela on GTalk are the same person), and working on certificate verification in Telepathy (for encrypting your conversations and keeping them private).

  • a few Collabora folks looking at Unicode symbols at Gran CanariaWe released telepathy-gabble 0.9.3, with several bugfixes and enhancements (see the release notes for details). Telepathy-gabble is the Jabber (XMPP) connection manager for Telepathy. The development version of Gabble currently uses Wocky, a new XMPP library we're developing that makes it easier to provide more modern XMPP features. Sjoerd Simons's, Vivek Dasmohapatra's & Mike Ruprecht's recent work on multi-user Jingle (Muji) includes a lot of work with telepathy-gabble -- we're working on multi-user chat support that'll eventually allow multi-user video chat right from your desktop. Sjoerd and Vivek especially have been getting Wocky multi-user chat code into telepathy-gabble and are quite excited about it.
  • Olivier Crête released Farsight2 version 0.0.17 to support packet time (the duration of a voice packet in milliseconds, a.k.a. ptime), and a corresponding update to telepathy-farsight, version 0.0.13. Farsight, also known as Farstream, is an audio/video communications framework that lets apps work with lots of different protocols, and the telepathy-farsight library lets Empathy use it. Olivier says that in the new release, "Farsight 2 was updated to respect the ptime requested by the peer. This can dramatically improve the quality of audio calls when interoperating with certain broken gateways."
  • The Telepathy mailing list saw discussion around encryption & immutability, partially toward the goal of helping users keep their conversations private.
  • group photo of several Collaborans, at Gran Canaria Ian Molton now has a working reimplementation of AF_UNIX as AF_DBUS, towards an goal of implementing in-kernel D-Bus, and Will Thompson hacked on the D-Bus specification and daemon. D-Bus is an inter-process communication system that applications use to communicate -- Telepathy among them -- and getting D-Bus running in the kernel will help performance by avoiding context switching. At the moment, AF_DBUS changes are fully buildable and operational, but lack a bus topology.

The photos here are all from the Gran Canaria Desktop Summit last year, which was warm and fun. January (here in the Northern Hemisphere) is a good time to remember how nice that was.