[Telepathy] mission control API

Robert McQueen robert.mcqueen at collabora.co.uk
Tue Oct 17 11:06:04 PDT 2006


Dafydd Harries wrote:
> I spent a bit of time with Raphaël at Boston thinking about what mission
> control needs to do, and what API it needs to provide.
> 
>  - Unifying presence across accounts

Presumably this also includes actually launching the connections, and
heeding some preferences & implementing a policy on responding to eg
connectivity/idle/away events. Connect -> online; lock screen -> away; etc.

>  - Manage accounts

Interesting; I hadn't considered that mission control would provide an
API to others to modify/read the account data, more that MC would read
the same source of data as the other components did (the widget library,
the control panel widget for making your accounts) etc. I'm not too
fussed either way, but we have to make sure it's worth ending up with a
rich/complex D-Bus API just to allow eg a KDE control panel applet to
work with a GNOME mission control. Is that a very important use case?

MC needs to be able to tell people the equivalences between the
configured accounts and the connections that are currently active.
Ideally, it needs to also store them, so that if you shoot it in the
head it can continue being able to say that your configured
bob at jabber.org account is represented by this Gabble instance here.

>  - Launch channel handlers

Yes; possibly also with reference to which channel handlers the user
would prefer were used in a given situation.

>  - Advertise capabilities

This is just a freebie that you get by putting the info from the channel
handler code

> I think this covers the major areas of functionality. Did we miss anything?

Worth considering a few use cases like; you're offline and the user's in
the address book and clicks chat. Should we:

a) have a widget that implements that chat button by: asking mission
control to go on-line, waiting for presence to arrive, choosing or
asking the user to select a contact, sending a request to that
connection manager
b) have no widget and the application can just say 'chat me with
bob at jabber.org on jabber' and MC sorts it all out?
c) something in between? On the 770, there's also a 3rd approach - the
chat button launches the chat program with a contact ID which then takes
care of putting you on-line with MC's help, asks you for any further
contact/protocol info, and requests the channel from MC.

a) is better if we're on-line but pushes a lot of logic into each
application, b) makes it harder to take user input into the process of
choosing how to contact someone, but is better if we're offline, and c)
means the UI needs to have some contact identifier in common with the
initial app, which I don't think we can rely on. Not sure which is best.

Regards,
Rob


More information about the Telepathy mailing list