Archive for the 'empathy' Category

Looking forward to FOSDEM

January 16, 2009

I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

For the second time in my life I’ll be attending FOSDEM in Brussels, beginning of February. I’m looking forward to it because it’s a very rich event that exposes diversity of the FOSS communities through lots of presentations given by tons of projects. It’ll be great to run into friends as well.

We’ll give a talk on the People framework in the GNOME devroom on Saturday, 7. It’s been a while I really produced work on People, mostly because of active life adaptation and energy spent at work (I’m working for TANDBERG in Oslo, Norway since September 2008). Giving a talk hopefully provides me with enough motivation to make things move forward.

The goal for us is to quickly (well, before the event) have a usable and installable framework, providing a daemon, application libraries and a useful set of contact sources. Following my thoughts exposed in a previous post, and considering that we are presenting towards the GNOME community, we hope to demonstrate some hot integration with components of this desktop ecosystem, such as Empathy.

See you there!

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!

Finally, a pymsn release

January 12, 2008

Hello everyone,

The Pymsn developers are happy to introduce you to Pymsn 0.3, the brand new version of the python MSN protocol free implementation. This release is the result of about one year of unsteady development, during which Pymsn was completely rewritten to support the latest version of the protocol: MSNP15.

We are proud to announce that we reached our goal, and you can grab the tarballs from here: http://telepathy.freedesktop.org/releases/pymsn/

Features brought to you by this release are :

- Best MSNP2P implementation : avatars and custom emoticons
- Yahoo messenger contacts support : chat and presence
- Live Address Book support : full contact and group management
- Server side contacts aliasing
- Offline messages support
- MSN Spaces
- Content Roaming support : avatar, display name and personal message storage
- Full support for HTTP and HTTPS proxies
- Support HTTP Polling transport
- No threads, fully asynchronous
- Caching system

We would like to thank everyone who helped to make this release happen.

The new telepathy-butterfly is out as well : http://telepathy.freedesktop.org/releases/telepathy-butterfly/

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