FOSDEM is the biggest free and non-commercial event organized by and for the community. Its goal is to provide Free and Open Source developers a place to meet. No registration necessary.

Raul Gutierrez Segales
Day Sunday
Room H.1309
Capacity 150
Start time 11:00
End time 11:45
Duration 00:45
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:

When Event Track Where
10:30-11:15 Project Coin Free Java AW1.125
10:30-12:15 LPI Exam 3 Certification Guillissen
10:45-11:25 Mobicents 2.0, The Open Source Java Communication Platform Open Source Telephony AW1.124
11:00-11:15 Rails Admin: The right way of doing data administration with Rails 3 Lightning Talks Ferrer
11:00-11:20 FairVPN, overlay topology construction tool to maximize TCP fairness New challenges in Virtualization AW1.105
11:00-11:30 Tracing Perl with DTrace/SystemTap Perl AW1.126
11:00-11:30 Messaging / Thunderbird Mozilla H.1301
11:00-11:45 Application Deployment With Chef Configuration & Systems Management AW1.120
11:00-11:45 Understanding the writer core LibreOffice H.2214
11:00-11:45 PostgreSQL extension's development PostgreSQL H.2213
11:00-11:50 Django's architecture - the good, the bad, and the ugly Web Frameworks Chavanne
11:00-11:50 Objective-C: Not just for Macs and iPhones Languages Janson
11:00-11:55 Making the printed world accessible: A11y in OCRFeeder Accessibility AW1.121
11:00-12:00 Can we build a simple, cross-distribution installation framework? CrossDistro H.1302
11:00-12:00 Qt tales from the embedded trenches Embedded Lameere
11:00-12:00 Debian GNU/kFreeBSD CrossDistro H.1308
11:20-11:35 KDevelop: Rapid C++ Programming Lightning Talks Ferrer
11:20-11:40 Virtualbricks - a graphical tool for virtual networks management New challenges in Virtualization AW1.105
11:30-12:00 Using Gloda to extend Thunderbird Mozilla H.1301
11:30-12:00 Observing HotSpot with SystemTap Free Java AW1.125
11:30-12:10 Template::Zoom - Modern HTML and PDF Engine Perl AW1.126
11:30-12:10 Scaling Location Services in Large SIP Networks with Kamailio Open Source Telephony AW1.124
11:40-11:55 Timebank: The Timebank free software project Lightning Talks Ferrer
11:40-12:00 VDE 3, architecture overview New challenges in Virtualization AW1.105