[Telepathy] Massively complicating Folks for greater future
mikhail.zabaluev at nokia.com
mikhail.zabaluev at nokia.com
Mon Nov 29 09:04:54 PST 2010
Hi,
> -----Original Message-----
> From: ext Travis Reitter [mailto:travis.reitter at collabora.co.uk]
> Sent: Monday, November 29, 2010 4:58 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
> >
> Thanks for proposing this. At a high level, it looks good. I know how
> useful it can be to have a query interface for contacts (we could use
> this in Empathy's LiveSearch widget and Gnome Shell when we get around
> to writing a search provider).
Live search is interesting enough to deserve its own specific interface.
But if no known backend can optimize for incremental search, perhaps it can be done with instantiating a (subclassed) IndividualList and modifying the search query.
> I've already thought of some Persona-fetching rate limiting to smooth
> out the CPU and I/O loads after preparing the Aggregator with a few
> hundred Personas (which even makes Empathy seemingly block for a couple
> seconds on my laptop - though I haven't confirmed this is necessarily
> Folks' fault). This would probably fit in well with Query support.
Yes; the implementation of IndividualList can possibly support lazy retrieval as the client requests slices of the list.
> Other than that, though, it seems it could be a while before this would
> let us improve performance. I would think it would only help if we can
> push the query back into some of the Backends.
It may also help to avoid brute-forcing IndividualAggregator.individuals to get at the individuals possessing desired attributes; I have another query subclass in mind to e.g. retrieve everybody who is IMable, but I need to ponder on it a little. I don't have real examples of supersized individual lists yet, though. Maybe with Facebook? :)
> And e-d-s and Tracker
> are
> the only potential sources I can think of that would be able to support
> this.
Yes, that's the general intent. Other sources where it can be useful could be LDAP directories and alike, but I'm not sure if those can be worked into the Folks concept. There is that different use case of searching in a remote directory which cannot be replicated locally.
> Still, this seems generally useful. So please file a bug and develop
> the
> branch further. Tests would be greatly appreciated (especially if they
> can suggest that queries would smooth out the initial CPU/IO spike).
I can't promise at the moment that I will have much time for this, but I'll file the request.
Best regards,
Misha
More information about the telepathy
mailing list