[Telepathy] Telepathy integration plans

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Jan 15 09:07:06 PST 2010

Hi Dan,

Le mercredi 13 janvier 2010 à 08:58 -0500, Dan Winship a écrit :
> > - What are your requirements regarding IM integration into gnome-shell?
> > Last time I checked the plan was implement something like this mokcup:
> > http://www.gnome.org/~mccann/shell/mockups/20090630-demo/
> > Is that still accurate? Do you have more documents explaining the
> > user-experience you want to reach regarding IM integration?
> The latest PDF design doc has more detail than that demo
> (http://www.gnome.org/~mccann/shell/design/GNOME_Shell-20091114.pdf).
> This is still a work in progress though, and we haven't figured out
> exactly how this will work with empathy either. (We're assuming empathy
> will need some changes to fully support what we want it to do.) The
> general idea in my head right now though is that we'll add some
> extensions to the org.freedesktop.Notifications protocol (or add another
> D-Bus interface alongside it) that would allow empathy to know when it
> was running under GNOME Shell (eg via notify_get_server_caps()) and then
> empathy could use notification "hints"
> (notify_notification_set_hint_uint32(), etc) to do things like indicate
> to the shell that it can provide a pop-up mini chat window upon request,
> and empathy would be the one creating that window seen in the PDF.
> (Rhythmbox would use the same interface to provide the mini
> controls/now-playing window seen in the demo.) Again, not totally sure
> about the specifics, but it definitely makes sense to have empathy
> providing that window, not GNOME Shell, so that it has access to the
> existing chat log,

Note that we are working on a new component called telepathy-logger [1].
It includes an application doing the logging part and one library for
applications wishing to access to the logs.

Empathy should start to use it soon [2] so the shell will be able to
access to logs.

> and so that it matches your other empathy prefs in
> terms of things like spell check language, etc, and so it can integrate
> cleanly with whatever new features you add to empathy in the future.

I'm not convinced than using Notifications for everything is the way to
go. I'm a bit afraid to have to modify Empathy heavily to use
notifications in a non-standard/hacky way and so break notifications
with non gnome-shell desktops. I'd like to avoid to introduce
gnome-shell specific code to Empathy if possible.

We are currently working on implementing the different mission control
interfaces to allow a better separation of the different Empathy
components and allow external applications to properly integrate with
Telepathy. I'm afraid that gnome-shell relying too much on Empathy
specific things instead of using the right Telepathy API could be a step

For example your design document says:
"Instant Message applications are expected to present Message Sources
for each currently active conversation."

This should be done by implementing an Observer [3] watching the current
conversation, not Empathy pushing these information to gnome-shell.
That's how Moblin implemented its "People panel" for example [4].

Maybe I misunderstood the scope of the recent change and you still plan
to do all of that. But I'd be a bit more confident if we'd all share a
clear view of the goals we want to reach in term of Telepathy
integration inside in the shell and how they will be implemented.



[1] http://telepathy.freedesktop.org/wiki/Logger
[2] https://bugzilla.gnome.org/show_bug.cgi?id=518414

More information about the telepathy mailing list