Archive for the 'Planet' Category

GWT bindings for the Strophe XMPP library

October 7, 2009

Google Web Toolkit bindings for Strophe, the JavaScript XMPP library, are available at https://launchpad.net/gwt-strophe. I believe it provides an almost complete API coverage, including the PubSub plugin. However, it is quite young and far from being thoroughly tested, hence comments are more than welcome. No release yet, so to get the code, proceed as follows:

bzr branch lp:gwt-strophe

People: a contact management framework

March 28, 2008

Today, people subscribe to social networks, use instant messaging, subscribe to podcasts and blog feeds, use electronic mail, and communication devices to exchange information but more importantly to keep in contact with their contacts and their entourage. Tomorrow people may use different means to achieve this same goal, but in the end it will always be about contacting people, and maybe by then smarter solutions would be found. But in the mean time, we are are stuck with the proliferation of independent and disconnected applications and appliances, each one tearing unique logical entities away to make them fit into limited models. In simpler words, the way applications treat contacts brings a bad user experience.

Unfortunately, we cannot really do much about it, but we can still try to attenuate the effects on the Free Desktop by providing a unified vision of who is a person to the user. The solution we propose is named “People“.

Many people agree that, in the desktop, a “people framework” is needed. Things get more complicated when it comes to define the scope of it. The People project intends to provide an unified way to access and manipulate contacts for the desktop applications. The goal is not, at first, to gather the pieces and simulate unity, but more to bring the tools allowing to do it in a smart way, among other things. In People, we consider that each contact source is incomplete and provides just a restricted vision on contacts (the way they are represented and the way we can act on them). With that vision, contact sources can be as numerous and lightweight as needed to cover every place where the notion of person appears: LDAP, Google Contacts, Facebook, MIT Public Key Server, Telepathy, EDS, phone address book…

Among the possible top level components that People aim to bring, a service providing meta-contacts (gathering all the little pieces of contacts and bringing back the notion of unique persons) is fundamental, as well as a synchronization solution (to update or enhance whatever contact source from another one). Another idea would be to provide a service managing ephemeral contact-related information (like the presence status of a person) to be shared among applications. An obvious and really great use of People would be an address book management application.

The idea behind the People Project is people sanity for the desktop: when some start to talk about amazing people integration in GNOME, the first step is to get consistency around the notion of a person. As the semantic of a person can’t be defined as a standard, we have to allow and exploit all the possible representations of it.

There are tons of possible applications to be explored: meta-contacts in Empathy, Gimmie or Soylent, integration with Seahorse, personal presence handling, activity framework, contact relationships, multiplayer games… People also fits the definition of what the address book component should be in the Online Desktop.

People is architectured around two libraries: a low level one to build backends and a higher one on top of which will lay a D-Bus interface. That interface must not be tainted by People as other implementations could come up. The libraries are developed using the Vala programming language. We want to allow backends to implement custom interfaces when it makes sense so we are not heading to a less common denominator syndrome. As an example, a relationship interface could be implemented by backends supporting FOAF. We have neat feature ideas that we take care to bring with several hot spots in mind, amongst which stand memory usage, network bandwidth usage (use on mobile devices) and i18n (name representation, automatic phone number formatting, …).

The idea that gave birth to People came up during a discussion I had one year ago with Felipe Contreras. It took some time for us to realize the potential of it. Few months ago, Ali Sabil got interested and passed it as a university project to get some time to hack on it, which brought some helpful hands as well. Lately, the development of People has been more and more active. We are constantly questioning our work in an iterative process to get the better implementation we can provide and each added feature is tested. Our effort aims to provide a working and validating implementation as soon as possible (with the release of a first usable version by June). There is currently a resource request for the People project at Freedesktop.org.

We hope to give a talk at GUADEC to get more people interested!

OpenIM and IMFreedom

February 26, 2008

Few months ago I wrote a bug report on the freedesktop.org bugzilla to ask for means to start a new project. The goal of that project, called “OpenIM” was to gather effort on the opening of closed instant messaging protocols. In the bug thread and on the pidgin mailing list, a discussion started to determine if freedesktop was the right place to host that kind of project (i.e. support reverse engineering and documentation of proprietary protocols) and a lot of people joined it, agreeing that such an effort was needed, regarding the poor and all over the place documentation parcels (at least referring to the MSN protocol ones). Those people included valuable guys from amsn, pidgin, pymsn, jabber, and other worthy individuals of the IM field.

Instead of freedesktop, the pidgin guys proposed to host the initiative on IMFreedom, a Foundation they did setup as a façade when they got justice problems with AOL. We all agreed that using IMFreedom for OpenIM would make more sense. That gave birth to a brand new wiki to collect our efforts.

Be interested, sweat, contribute!

FOSDEM and other cool stuff

February 25, 2008

So, lots of good things are happening to me these times. Well, I guess.

Studies are soon-to-be-finished and I actually began my final year internship that ends in June, when I’ll graduate. For one week now, I have been a trainee at Nokia, Helsinki (Finland). This is quite a big move for me, since I never really left France until now. I’m really enjoying that new environment, this is challenging to adapt, on a personal side. I’m working in the OSSO Multimedia team at Nokia and I got surprised of how my arrival went well, people are really cool and I’m enjoying to be there, that’s a great opportunity to learn from them and actually discover the “big company” world, even using open source technologies. I’m sure that experience will bring me a lot and I’m not waiting for less on that.

So it’s Sunday night and I’m in Brussels (Belgium), spending some cool time with friends in the hotel hall. That was my first FOSDEM and I enjoyed it. Well, the classic thing about FOSDEM is to say that it was too short, and it was, but I can add my very own observations as well. The top advantage of such conferences is to gather and share some words with cool and respected people that you already know, like the Collabora crew and the GNOME community or meet with guys you aspire to share with, like the Vala developers. It’s also still refreshing to spend time with friends that are usually just too far away from you. FOSDEM is just maybe too subject-wide and not a lot of the talks grabbed my attention. As a comparison, GUADEC talks were a far lot more oriented to my fields of interest.

That conference was also the opportunity for Ali and I to share a bit about the project we’re working on, People. People is an unified address book management framework and I’ll blog about it very soon.

Tomorrow morning I fly back to Helsinki and try to begin well my second week there. The real difficult thing is to keep myself alive (i.e. feeding and basic other things like that) but I enjoy the freedom I have there and all the free time I can use (to hack a lot on People, eventually).

the Erlang thing went well

December 5, 2007

Yesterday, four of my classmates and myself gave an hour long lecture on Erlang/OTP. That lecture was followed by a two hours long lab. It’s been a while I wanted to share about Erlang, I read a lot about it but unfortunately, I never found some project I was interrested enough to dive in. I now have an idea but the usual problem is showing up : not enough time.

So the presentation covered the Erlang language, with its roots (the Ericsson lab, industrial use), its paradigms (functionnal and concurrency oriented) and syntax (that reminded Prolog and OCaml to the attendance). I mentionned the capabilities offered by the OTP framework (generic behaviours, supersivion trees, hot code swapping, …) linking all that to reliability and availability concepts as we got a fault tolerance lecture few weeks ago.

The lab was based on a simple messenger application from the Erlang getting started tutorial. Given the amount of time, I structured it as a “fill in the blanks” exercise. All went OK and people seemed happy with their working system, at the end. That was really a great feeling to explain processus interaction and deal with students mistakes while helping them. It’s also great to open their eyes on an unknown technology, as they now could choose to pick it up to solve some industrial challenges they could run into during their career.

On my side, I’m now gonna find time to start that Erlang project I think about. I really need to get skills on it as it’s definitively part of my fields of interrest. That could help to find a related job later.

pymsn, butterfly and empathy

September 17, 2007

This weekend, Ali got his msnp2p stack polished so we could work on some p2p integration in pymsn. This led display pictures (aka avatars) to land into the library. That means we are really close to release the new version of pymsn on which we’re working for several months now.

Today, as we were implementing display pictures in pymsn, I wrote the telepathy-butterfly (the MSN connection manager for Telepathy based on pymsn) part for avatars, which was a good opportunity to test the new feature. This closes the list of features to implement into butterfly before a release as well, since I got groups and aliasing (you can nickname your buddies) working in the past days. Contact handles format was changed to support Yahoo contacts in butterfly (as pymsn, covering MSNP15, allows it).I’ve tried to integrate the pymsn offline messages feature into butterfly but I wasn’t pleased with it so it’s sleeping in a separate branch for now. However, I’d like to get full membership groups management too to be able to add/remove contacts, block them, etc.

The next screenshot shows empathy displaying my personal MSN account using telepathy-butterfly. I’m really glad that we are finally getting concrete things to show :)

screenshot-contact-list-1.png

Follow

Get every new post delivered to your Inbox.