[Telepathy] Review of MissionControl spec

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Jan 24 03:22:44 PST 2008

Hash: SHA1

On Thu, 24 Jan 2008 at 12:21:50 +0200, Alberto Mardegan wrote:
> ext Simon McVittie wrote:
> > I actually meant signals that are emitted from AccountManager, but
> > describe all the accounts (or possibly connections) individually if
> > necessary... things that aren't Empathy do care about the status of particular
> > accounts, but I think it'd be vanishingly rare to care about the status
> > of account A but not about account B.
> That's most likely true. But then, this also holds for presence; if 
> accounts status is to be moved to the AccountManager, presence 
> information should also go there, since a client that is interested in 
> the connection status is most likely also interested in presence.

Yeah, and I spent part of yesterday afternoon vaguely drafting an API in which
the AccountManager tells you basic status and presence info for all
enabled accounts.

I'd like to design it with fewer, "larger" methods and signals than the current
proposals - number of round-trips costs us more than message size, I suspect
(if nothing else, it costs us by way of code complexity, which leads to
bugs) - but I can see that a certain amount of aggregation would be useful.

What I don't want is to have two interfaces of equal complexity - the
Connection one, and the Account one. That doesn't give us any benefit
over everyone using the Connection directly. If you're interested in
"all the accounts" you should use the AccountManager, and if you're
only interested in one account, you should probably have a reference to
its corresponding Connection anyway.

I think a reasonable model would be:

* the presence notification-area applet on the N810 (or equivalent), including
  the popup with status per account that appears when you click on it, should
  be able to operate entirely from the AccountManager

* the account configuration UI should be the main user of Account

* "actually do stuff" UIs (contact lists, chat, VoIP, ...) should mainly use
  the Connection and Channels, except that they could use MC to initiate
  outgoing channels and do online-on-demand (as yet I'm unsure how those
  should work, particularly if we make the account manager and the
  channel-handler dispatcher conceptually separate, but I'm working on it)



More information about the Telepathy mailing list