[Bug 26590] GetFrequentContacts

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Oct 11 13:05:44 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=26590

--- Comment #15 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-10-11 04:05:44 PDT ---
11:00 < smcv> danni: when you say Identifier do you implicitly mean the 
              identifier of a *contact* (and not a chatroom or a bee or 
              something)? I think it'd help clarity if you said so
11:01 < danni> smcv: it could also be a chatroom
11:01 < danni> which cassidy dislikes
11:01 < smcv> that's not GetFrequentContacts, that's GetFrequentEntities or 
              something

11:04 < smcv> how does the logger know how many contacts to return? is it a 
              hard-coded number or frequency threshold?
11:05 < smcv> that sounds uncomfortably like "if Empathy's UI design wants to 
              show more than Meego's, one of them has to patch the logger"
11:05 < danni> smcv: it actually returns all of them
11:05 < smcv> is that a guarantee?
11:06 < smcv> that doesn't sound as though it scales tbh

11:08 < danni> smcv: the idea was to be able to build a recency based contact 
               roster
11:08 < smcv> danni: right, for that you want "the rankings among the N most 
              recent have changed"
11:09 < smcv> danni: or "the contacts with frequency >= 0.6 have changed"
11:10 < danni> smcv: where it gets messy is when all the frequencies change 
               once a day
11:11 < danni> I'd forgotten what a hack that signal was :-/
11:11 < smcv> couldn't the UI just poll every n hours? :-)
11:12 < danni> smcv: yeah, certainly
11:12 < smcv> or the signal could have no actual content, just "poll now"
11:12 < danni> doesn't that have the scaling problem still?
11:12 < danni> the signal could include the frequency of just the changing 
               contact
11:13 < smcv> frequency and rank order?
11:13 < smcv> perhaps?
11:14 < danni> actually, I think the signal is only meant to give entities whos 
               frequency has changed
11:15 < danni> it's just an a(sd) in case there's more than one entity

As far as I can tell, the idea is to be able to display the N most frequent or
most recent contacts (where N ought to be chosen by the UI rather than the
logger), or to be able to display contacts whose frequency/"recency" is above a
threshold (which should perhaps also be chosen by the UI, but the UI can only
usefully do that if it knows what the numbers mean).

If you're not sure what the semantics are yet as regards little details like
multiple-entity signals, whether an entity is a contact or a (contact|room),
etc., then writing them down would probably help :-)

I think having a bitmask for the contact/room/both choice seems like premature
optimization. If you want it to be in terms of handle types, I'd just have an
'au', Handle_Type[]; if the first thing the implementation does is to convert
that into a non-API bitfield, then that's fine.

For choices between contacts and (contacts|rooms|both), or between IMs,
"abstract events" and (IMs|calls|both|...), I really can't say anything without
a use case. What information is it that you actually want?

I can imagine wanting to have some global idea of frequency, in which an IM is
worth one point and a call is worth N points, or something.

I can also imagine wanting to have a call UI list the most frequently called
contacts, have a text UI list the most frequently messaged contacts (not the
same, at least on my phone), and have the address book list a mixture of the
two...

I'd tend to err on the side of the logger providing data, and UIs choosing
their interpretation, particularly if in practice we want to pipe this
information through Folks for per-metacontact aggregation before the UIs
interpret it?

You can't really measure chatrooms on the same scale as contacts (even a
not-very-noisy room like #telepathy can easily log more messages than a long
1-1 conversation) and I don't think the user's interaction with chatrooms is
the same either, so it doesn't necessarily make sense to force contacts and
rooms into one API if they don't actually want the same semantics.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list