[Telepathy] Massively complicating Folks for greater future

mikhail.zabaluev at nokia.com mikhail.zabaluev at nokia.com
Thu Dec 16 07:29:36 PST 2010


> -----Original Message-----
> From: ext frederik.nnaji at gmail.com [mailto:frederik.nnaji at gmail.com]
> Sent: Monday, November 29, 2010 1:52 AM
> To: Zabaluev Mikhail (Nokia-MS/Helsinki)
> Cc: telepathy at lists.freedesktop.org
> Subject: Re: [Telepathy] Massively complicating Folks for greater
> future
> 	I have created a branch on Folks to propose a more scalable API:
> 	http://git.collabora.co.uk/?p=user/zabaluev/folks.git;a=shortlog;
> h=refs/heads/views
> 	The new classes are only stubs for discussion purposes. The main
> additions are IndividualList, providing an asynchronously retrieved
> live view on individuals matching a certain query, and an abstract
> Query class with some useful subclasses. The intent with queries is to
> broadly cover a few common cases, keeping the complexity of
> implementing queries in persona stores under control.
> my guess is that specialized query belongs into the client, not into
> Folks.
> Folks should provide accurate data, the client should provide ways of
> managing or editing this data, tailored to the use case which the
> respective client ("app") desires to address.

My main concern here is scalability. If the persona stores give you several thousand contacts (which is not a long stretch: I consider myself a modestly connected person and my phone's address book has 142 contacts), accessing all them through an explicit in-memory data structure can become a bottleneck. Also, you have to replicate this structure at every client, so there can be no benefit from caching in the filesystem.

> Case insensitivity and fuzzy search logic are nice features that a
> client can include as needed, they won't make aggregating contact
> information more accurate imo.

No, the aggregated contacts should stay as they are; it's only the list retrieval methods that change.

Best regards,

More information about the telepathy mailing list