Speakers | |
---|---|
Raul Gutierrez Segales | |
Schedule | |
Day | Sunday |
Room | H.1309 |
Capacity | 150 |
Start time | 11:00 |
End time | 11:45 |
Duration | 00:45 |
Info | |
Track | Crossdesktop devroom |
Aggregating contacts: writing a backend for libfolks
As its site says, libfolks is “a library that aggregates people from multiple sources”. Because the modern user has so many different sources of contacts – address book, IM, social networking, etc – duplicates from the different backends are inevitable. We call these (potential) duplicates from each backend Personas, and the goal of libfolks is to link the Personas into non-duplicated Individual objects. Each Individual contains all of the fields from the different Personas that are linked together – the phone number from the address book, a current alias from a Social Network, etc.
Since there is no need to explain the obvious benefits for Desktops in having a library like libfolks around I'd like to dive directly into Folks' architecture and writing new backends. The current version of Folks supports two backends: one is a key-file and the other is based on Telepathy. There is also a third backend for libsocialweb that was developed by Marco Barisione which allows you to fetch your contacts from Facebook and Twitter (and eventually many other social services). Recently, I was asked to implement a new backend to interact with EDS (Evolution Data Server).
The goal of this talk is to illustrate the core elements that compose a backend in Folks. With what we'll cover that attendants should be able to leave with the practical knowledge needed to write their own backends. The second aim is to open a debate in the area of contact aggregation.
Concurrent events:
Next (up to 3) talks in the same room (H.1309):
When | Event | Track |
---|---|---|
11:45-12:30 | Tasty Application Distribution with Project Bretzn | Crossdesktop |
13:00-13:45 | Creating and Distributing Games with Gluon | Crossdesktop |
13:45-14:30 | Grilo: Integration of Multimedia Contents in Applications Made Easy | Crossdesktop |
Events that start after this one (within 30 minutes):
When | Event | Track | Where |
---|---|---|---|
11:45-12:30 | Tasty Application Distribution with Project Bretzn | Crossdesktop | H.1309 |
11:45-12:15 | Wikihelp, moving our help on-line | LibreOffice | H.2214 |
12:00-12:30 | JamVM Gets a New Flavour | Free Java | AW1.125 |
12:00-12:45 | Configuration management for development environments | Configuration & Systems Management | AW1.120 |
12:00-12:45 | Writing a user-defined type | PostgreSQL | H.2213 |
12:00-12:50 | Data-as-a-Service with Infinispan | Cloud | Chavanne |
12:00-12:50 | Practical Go Programming | Languages | Janson |
12:00-12:55 | Towards a GNOME 3.0 accessible: Building accessibility into GNOME Shell and its UI Libraries | Accessibility | AW1.121 |
12:00-13:00 | MeeGo: A solid platform for hackable mobile devices | Embedded | Lameere |
12:00-13:00 | NCIV brainstorming | New challenges in Virtualization | AW1.105 |
12:00-14:00 | Keysigning | Keysigning | Ferrer |
12:10-12:50 | Moose - A Postmodern Object System for Perl 5 | Perl | AW1.126 |
12:15-12:55 | Unifying SIP and Web Worlds with Lua | Open Source Telephony | AW1.124 |