Chat behavior
Daniele E. Domenichelli
daniele.domenichelli at gmail.com
Fri Nov 23 17:12:34 UTC 2012
Hello Aleix,
On 23/11/12 17:08, Aleix Pol wrote:> Hi,
> Right now, when you receive a chat message (and you don't have tha
> chat plasmoid ;)) you get a systray message. I don't really like this
> behavior because it doesn't help much, since you have to click it to
> know what's going on anyway.
I agree that current behaviour is not the best. For sure we should
improve the notification system here. We have a few other ugly bugs
there ([1,2,3] and probably more never reported).
Anyway, a small technical summary about the mechanism behind. When you
receive a message, a few things happen:
- The channel dispatcher (CD) in Telepathy Mission Control receives a
new text channel and checks if there is an approver for that particular
channel type. We have an approver that runs as a kded module because
otherwise if empathy is installed, the channel could be dispatched to
empathy instead (if there is an approver already running, the channel is
dispatched to that approver, otherwise one is started, and we cannot
guarantee that our is started). CD request to the approver to approve
the channel.
- The approver receives the channel to approve and shows the icon and
the notification.
- When the user "accepts", the approver reports to the CD that the
channel was approved, together with a "hint" about the channel handler
to use, in order to handle that channel (in our case ktp-text-ui)
- CD dispatches the channel to the text-ui
- The text-ui receives and handles the channel until the tab is closed.
TLDR: we have 2 separate components to work on, the icon in the systray
is shown by the approver, and the channel is handled by the text-ui.
I'm quite sure that users don't want the text-ui to popup magically when
the first channel is received, because it could become quite annoying,
but the approver could be modified to check if the text-ui is already
running and eventually accept the channel immediately without showing
the systray notification to the user (perhaps just the notification that
a new message arrived). I also assume that the window should not be
raised if it is not in front, but we can just update it in the background.
So, from the technological point of view, it is definitely doable, and
I'm partially in favour, but there are some usability issues we should
consider, and tbh I don't know what's better here.
What should happen in your opinion? How is the user notified that a new
chat is started in the chat-ui? Which tab in the chat-ui stays on top,
the old one or the one with the new message?
Perhaps we could still show the icon in the systray, but approve the
channel, and then the user can either click the icon or click the tab on
the chat-ui.
We have a few other usability issues with icons, titles, and tabs we
discussed at Bruxelles with Bjoern from the usability team (and I have a
patch on reviewboard to remind me that we should fix them :P ). I think
this issue is related to those and that we should really fix them before
0.6.
Cheers,
Daniele
P.S. That reminds me also that George K. some time ago said that there
is some new specification that implies that the approver should be also
an observer, George can you remind me what it was about?
[1]https://bugs.kde.org/show_bug.cgi?id=282211
[2]https://bugs.kde.org/show_bug.cgi?id=282583
[3]https://bugs.kde.org/show_bug.cgi?id=303473
More information about the KDE-Telepathy
mailing list