I've been taking a few days off, sort of, around the holidays here. The P-man is visiting his mom and I have a house guest, so it's a nice time to do so. Of course, I'm still checking my mail, closing bugs and making commits (just fixed a crasher in folderview, actually) ... but I'm only spending a few hours a day on KDE around the Christmas holiday time this year. That means my blog is not getting updated. =)
I've been brought out of blog hibernation a few days early because I keep getting asked about Mark Shuttleworth's post on notifications and figured I should get something out in a mildly timely fashion.
Before I do that, however, happy holidays to everyone out there. I hope you are finding some time with loved ones or even just some quiet contemplative time if this time of year is special for you. Happy new years as well. =)
That out of the way .. I do have to say that it's a little embarrassing that Mark's blog got picked up by places like Slashdot. I really hope it was a slow news day or something, but I suspect a bit of star worship at play. This makes us all look a little .. well .. trivial when something like "how we are going to show the user notifications from appications" gets touted as important enough news to make it to a Slashdot front page (and yes, they weren't the only ones). There's lots of much less trivial and much more intriguing stuff going on out there. Were I a Mac or Windows fan I'd be rolling my eyes right now at "those Freedom software guys" because evidently they are getting all excited about such trivial things. It's also pretty sad that the other much less trivial things going on get less coverage. This isn't Mark or Ubuntu's fault, of course, but something for us as a community to think about: when we start hanging on the words of anyone too much, it reflects something about ourselves. Usually it's not exactly flattering, either.
Now, Mark's UX (user experience) team has put out a concept for notifications which you can read about in detail on his blog. There are two main points to it: notifications should not have actions associated with them, only one notification at a time.
I think the one notification at a time thing has merit. There are too many applications spewing too many notifications. We need to do a better job of compressing these down. I think simply showing one at a time isn't going to help much, though, as you'll just have to watch the parade go by slower. It's an interesting start, perhaps. I think a more compelling solution is to watch the categories and severities of notifications and prioritize their being showed by that. Add per-applications compression (so all of Kopete's notifications would get compressed into one, even if Kopete insists on being a blabbering fool =) and it should be possible to show few announcements at a time in a fashion that is meaningful to the user. Finally, the user must have the ability to tell the system very easily "show me what other notifications are out there that you aren't telling me about" because it is quite simply impossible for us to know what the user is going to deem "important" with a 100% (or probably even a 98%) success rate.
The other item, that notifications should be non-interactive, is without merit. I'm a little worried that someone who came up with that is going to have a say in the *buntu desktop experience because it seems rather .. well .. silly.
Let's play a thought experiment: you move into a new house that has come pre-furnished. In it is a phone. However, this phone only rings. Moreover, you can't get it to stop ringing by picking up the receiver and putting it down again or hitting an "ignore" button. It will ring because it feels the need to let you know someone is calling, even if you know after the first ring you don't want to talk to that individual. (Damn telemarketers!)
It also doesn't care if the person on the other end only wants to let it ring twice or 10 times: it always rings 4 times. The oddness there is that even if the caller hangs up after two rings, you might hear the third ring and pick it up anyways .. only to find that there is nobody there. Odd, no? Of course, someone letting the phone ring 10 times usually communicates some urgency. But this phone doesn't care. Everyone gets four rings.
To take a call on this phone, however, you don't actually go to the phone itself. No, the phone only rings. It then routes the call to somewhere else. Where depends on who is phoning. So you need to check the number that's phoning and then go to the appropriate place in the house, find the little speaker and press the button on it. Hopefully you, the house occupant, can figure out which rings go with which speakers.
Thankfully, most of the speakers are in the same room as the phone. So it's only mostly inconvenient. Unfortunately, you have to figure out which speaker to use for which calls still. Thankfully, some of the speakers blink when a call is coming in. Unfortunately you have two phone lines and so sometimes you have two blinking speakers. You'll want to learn which speakers go with those rings pretty well.
This sounds absurd because it is. It's also what the proposal Mark describes espouses. I had this explained to me by one of the Canonical people on irc, so I know I'm not misunderstanding his blog entry either. They really do think it's more convenient to see only one notification at a time (even if two people try to chat to you within the same couple of seconds) and that you should then have to go find out where to get to that chat request via the system tray or task bar (or whatever else) rather than simply have a "Chat!" button or clickable link in the notification.
So while there's some good points in the proposal, there's also some highly dubious ones in my opinion. I don't think this will affect the notification spec in any way, however, as the spec can support their goals just fine as is and upstream KDE currently has no intention of implementing a system which we consider crippled by design.
As for the spec itself, I have been in touch with the Galago maintainer and I truly hope to see a unified spec by KDE 4.3 that we are all shipping with.
So for everyone who's been asking me about this over the last week, there you go. I'm going to go hibernate some more. =) Cheers!
Update: something I meant to write in the original post, but had forgotten by the time I'd gotten into it was that I realize that this is an experiment on the part of the Canonical UX team. Experiments are good and we need to be able to engage in them, even ones that fail. We need to examine, test and stress experiments, but we should not dismiss them out of hand or get upset at people trying them. Too few people are trying new and useful things in the Free desktop world as it is. It's a fine balance between accepting just any idea that floats by and discouraging innovation in general. In that sense, I'm happy to see the Canonical people trying to both contribute more to the F/OSS ecosystem and do so through attempts at innovation and user interface design.
Wednesday, December 24, 2008
Subscribe to:
Post Comments (Atom)

20 comments:
Reading the feedback on Marks blog is seems most people are of the same opinion as you. I couldn't understand at all the rationality in such approach. Glad the KDE team is not taking it serious.
It was to be an experiment but if so many people already can sense it's kind of senseless, it doesn't make real sense to make everyone that installs the next Ubuntu part of this experiment...
That said... Please enjoy your holidays and have a happy new year
Dear Aaron,
Thank you for voicing your opinion on the topic. I really like the ideas underlying the plasma shell (more interaction across applications; expanding the desktop to include remote machines, web, etc.; semantic relationships; new workflow; etcetera) and I felt that this proposal runs counter to one of the very foundations of plasma, which is better workflows. I am glad to see you take a firm stand. :) I hope that the Ubuntu guys' experiments turn out well, though.
Enjoy your holidays,
mutlu
My understanding of Mark's point about non-interactivity was that if a notification requires a response or a button or needs to be anything other than purely passive, then it's not really a notification; it should be a dialog or something else. So his overall point was not so much that notifications should be non-interactive, but that there are (or should be) better ways to do interactive notifications, and that things requiring a response should be clearly different from passive notifications.
Perhaps this could be satisfied by a "filter" that converts interactive notifications into dialogs?
@Ryan: "but that there are (or should be) better ways to do interactive notifications, and that things requiring a response should be clearly different from passive notifications."
why does the user care about this difference? one is a "hey, this is happening" and the other is "hey, this is happening, here's something you can do about it"
we could certainly sort these separately in the queue, though i'm not sure at all that "has an action" makes it more or less interesting in practice.
i don't see the meaningful difference between "notifications without actions" and "notifications with actions". i do think that separating them too much simply adds more to the user's cognitive load as they now have more to deal with.
"Perhaps this could be satisfied by a "filter" that converts interactive notifications into dialogs?"
besides the fact that this is simply relocating the 'problem', i think the last thing most people want is more dialogs popping up on their screen.
the reason notifications / passive popups are so popular is because they are non-invasive but useful.
but yes, these notifications-with-actions ("someone is wanting to chat with you") need to be made to the user. moving them around so they appear somewhere else is just relocating the issue.
something i didn't get into in this blog entry, out of a desire to keep it simple, is that this will almost certainly increase the usage pressure on the system tray. this is exactly the opposite direction we ought to be going.
the system tray is our weakest desktop element right now, for starters. ("we" is the free desktop, not just KDE)
but more importantly, the system tray is already full of too many items and using it for application notifications with actions means having icons there for each stream of notification.
the most sensible strategy i can think of in that line is having specified types of notifications-with-actions (e.g. chat, system messages, etc) and having one generic area for each.
this means changing all the apps involved, still requires more icons on screen than necessary and still divides up notifications in rather, to the user, arbitrary ways.
whether something has an action or not is something that is nearly irrelevant to the user.
which brings us back to the "why does the user care" question in the first place.
I see the analogy differently. To me, notifications with actions are like wired phones with one-buttoned wireless remote controls: as soon as the phone rings, you have to decide whether you walk up to the phone and take it (or disconnect the power), or press the magic 'stop ringing' button on your remote control.
There must be a reason why they didn't invent one-buttoned wireless remote controls for wired phones, and came up with wireless phones.
@Sander: let's take a concrete example for notifications with an actions: someone sends you an IM message, the actions are "View" and "Ignore".
so our "remote" has 2 buttons, and it is the same as a wireless phone hand set in this case: it gives us instant access to who is calling and decide what to do with it.
where it is different is that the notification isn't a way to message just anybody.
which makes absolute sense: the notification is the *context*, and the actions are in context.
so i don't think your re-analogizing really reflects the mechanics of notifications.
While I initially rejected the idea, I now notice The nokia n8x0 tablets use such non-action notifications just fine.
It's used in things like "battery low" or "connected to wlan XXX". It's not used for "someone is calling you via VOIP". In such cases the voip UI is shown with reject/accept/ignore call buttons.
When something that requests *action* happens (missed call, Incoming IM) happens, the relevant application item in taskbar starts glowing instead - Right at the proper (better than notification area) context IMHO.
@Riku: That's another thing - the Nokia thingies are mobile phones after all.
If you work on something, the *last* thing I want are pop-ups in the middle of my screen.
As it has pointed out already, notification is ambiguous, that is there is pop-ups from, say, Kopete, and there is a notification area in firefox below, and them are both notifications, but very different kind of notifications.
First is rather obtrusive (pop-ups are obtrusive!), but rightfully so: It is instant messaging after all, it is not polite not to answer, usually. And it is of cause have some action connected to it, It must, else why it dare to distract you at all, if it don't need your action?
Second one is non-obtrusive at all, most of users most of the time don't look there, who care that DNS resolve this domain to that IP, after all, or that 3 of 5 images were downloaded, that kind of idle talk. But sometimes it is nice to now, and sometimes it is very useful.
But this second kind of nitifications are: 1. Not urgent, 2. Have no actions connected to it.
There is no excuse for this kind of messages in system tray pop ups, what a horrible idea. But it is nice to have in some notification area, system-wide.
Now, in KDE 4.2 beta as in current Kubuntu, as I start the system , there are a lot of pop-up messages from ktorrent stacked up from bottom to the top of the desktop and beyond.
they will be fixed in a way that they will not be shown at all, but would not it be nicer to show them in such notification area?
as a phone metaphor goes, these passive notifications are like a radio, not like a phone.
I think there is some merit to non-interactive notifications, but only because notifications that have an action that is likely to be used are usually broken.
Kopete is a good example of using notifications in an entirely useless way.
When someone starts talking to me, I want kopete to open a window (in the background preferably), not give me a notification that I have to click on in some completely arbitrary and insufficient time window before it disappears and I am left wondering where the heck that message went.
Same goes for the notifications when someone has gone online or even worse, offline. Kopete is ridiculously chatty, and most of the notifications add nothing to the user. The typical IM user may have dozens of contacts that go on and offline constantly (for extra fun, get a friend with a dicey internet connection in your list). Showing all these meaningless state changes is just clutter.
So what notifications actually require an action? I'm sure there are some, but they are in the far minority. I'd like to hear some examples of where actions really enhance notifications.
@ryan: kopete spent a long time *removing* dialogs, because it turns out they're really really fucking annoying to users. calling for a return to invasive, annoying dialogs is just silly.
@alexander: you may want kopete to open pop-under windows, but I don't. I found myself *losing* them regularly and people wouldn't get replies for days. but you can configure it to do that anyways if it suits your workflow better - and you can also confugure kopete to be less chatty (I too hate having notifications every time someone comes online or offline).
as for an example of a useful action: having an "accept" button on an incoming voice call. if someone calls me I don't want to have to hunt around for the application that's getting the call and then find their name; they might have hung up by the time I reach it (that happens with my cellphone all the damn time). it's much easier to have a button right in the notification that I can click. at the same time, I do NOT want some popup stealing my focus, in case I'm in the middle of a sentence and my typing is interpreted as "accept" or "hang up" before I've even seen who's calling.
notifications are perfect for this circumstance of wanting the option to react quickly while still being able to ignore the event too (even if only for the time it takes to finish typing a word). also, seeing a bit of text (say, "john is calling you") gives me the information necessary to decide whether it's worth my attention - seeing a blinking taskbar entry does not. on space-constrained devices like the n810 the blinking may be a better compromise, but on my 13" laptop I have plenty of room for a few little popups. :)
..actually, that reminds me about something that really bugs me on the n810: I can't click-away their popups, and the one telling me I unlocked the screen (thank you, I did notice myself pressing the button :P ) will cover the options of any systray thing I click - so I have to spend several seconds staring at the damn thing before I can adjust volume or connect to a network. gah.
@Alexander
you can go to kopete -> settings -> configure notifications and set what events you wish to be notified and how and what events you dont want to be notified ..
if you dont want to be notified if a user goes online/offline ..then turn off that event notification ..if you only wants a taskbar to flash on new chat request, then set that notifications on ..
your rant about kopete is of no merit as you have a choice to make kopete as noisy as you want or as quiet as you want ..
I'm hoping that KDE notification stay like they are right now. The only thing I liked in the video was that they became transparent when the mouse is hovering. I think it is hard to decide if there should only be one notification at a time because some people might feel patronised by that.
However, it cat get really annoying with the current (KDE4.2beta2) settings when the is not in the panel bottom right corner. I for example have it on the upper left right now and when I copy files I sometimes had up to 3 notifications that overlay dolphin. Clicking them away is, in my opinion, not an option even though I prefer them to be interactive.
So I think there is room for improvement and why not join the best ideas?
I was "shocked" too when I readed the Mark's suggestion on Slashdot.
Someone there said very good question (I dont like analogies because they do not fit to computer science, if we can not talk about computer science as it is, then we should not talk about it at all):
1) If your email application receive an new email, the application shows a dialoge "You have 1 new Email"
- What you want to do, is to read it now or later. If you choose now, you click "show email" on the notification. If you want to read it later, you just dont click it. Then the notification is passive. It does not require a interaction. The "Show email" button just helps that you dont need to open the application itself first, search the new mail etc.
2) You are downloading a file from internet, you get notification saying "XXXX download is finished"
- What you want to do, is to open the file, so you click the "Open file" button on the notification. If you do not want to open it now, you do not need to do anything because the notification will automatically hide and still acts like passive notification.
3) Your buddy sends an IM message and window is closed or placed on other desktop. You get an notification labeled "buddy_name: short text...."
- What you want to do, is to answer or read the whole message. You click the "Read/Open/Show" button on notification and the IM window pop-ups. If you dont have now time to read it, you just dont touch it and it will act like passive one, it gets hided automatically.
You can think for what situations the notification will be used. I would not mistake the notification to dialoge, what is own window what does not get hided untill you answer for question with 2-3 different answer. Dialoge what just says something and needs confirmation by pressing "OK" button is useless.
Dialog window what pop-ups is very distrubing, like child yelling "I want a icecream!" all the time until you say "We dont have an icecream, please be quiet" or until you give one. In both situations, you need to stop the work what you are doing.
We are still talking about notification what works as passive, but allows user to interact the task what was notified.
That is the best solution.
If Mark Shuttleworth really wants to get a stupid totally passive, one notification by time, for GNOME, let them to get it. It just shows how much better is the KDE4's nofotication system what shows the data from data management (file copy/move/delete actions), CD/DVD burning, Downloading information from kget and ktorrent, new emails, error messages, IM-messages... You dont need to touch to notifications but understand them as passive ones. But when something wants your attention, it is much more intuitive way to interact it by using notification.
I just say that one thing needs better UI on KDE4 notification. The notification icon (computer icon on systray) is too small. I would like to get the old kind, the big blue ! sign what would come up. It is nice that notification sign gets hided when there is nothing because you can just look the systray and find "THere is nothing important". And clickin it you get all the notifications what are still valid and not already taken care.
The other thing is bug what makes notification as active one. When you are typing with keyboard and notification pop-ups. You loose the focus for task what you were doing. I dont like it at all because then it is more like dialoge, what can still be forgotten by pressing again the window where you were typing.
Currently KDE developers are ahead about notification idea. The KDE4 notification is like good butler. You do not notice him but he is reading your minds and serves you all the time. You dont need to do more than just say something (click) and it gets done (running the notification action).
It seems like Ubuntu is trying to innovate using old ideas. They now try to do so with the notifications (which exist in a similar way in OSX [growl])... before that using the ubuntu-system-panel (USP). First they ignore you, then they laugh at you... and finally they adopt it. I still remember the resistance to the 'Novell Slab' and now they copy it??? And also the combining of the fast-user-switcher with the presence application?!
sighs... The cost of acquisition (getting a user to try your product) is VERY important, since if you loose the user it will be even more difficult to get him back after bad experience. These trivial questions get picked up by the media (liked it did) and sends out a signal of the immaturity of Linux as a desktop. because of this, the user is not even willing to try it!
Too many times we try to reinvent the wheel to create options... 'choices', but I doubt if it will really make it easier for the user. consistency among the desktop is what really helps people to switch to linux easier (and among distributions).
While I also think that removing the ability to click will likely turn out to be a bad idea -- and hearing only this, which is all that ever gets reported anywhere, I must say it sounds positively insane -- you are missing (failing to address) a key part of the argument. Namely, that by removing the ability to take an action (open an app, close the notification, etc.), you will also (allegedly) be removing the compulsion to act, and thereby making the notifications easier to ignore, hence, less intrusive. The idea is that when you see a notification pop up, your default response isn't, "now I have to decide what to do with it!", which is bothersome, but rather "thanks for the info", and "it'll go away by itself anyways".
The reason I think this will fail is that some people (or at least, I) hate it when something is on the screen and you don't want it there, because it's a constant mental drag even if you try to concentrate elsewhere. Not being able to make it go away would just be frustrating, which defeats the purpose of giving the user greater peace of mind.
As for the phone analogy, I don't think it's accurate. People already know which application does what and how to access them -- otherwise they wouldn't be using them. Sure, it's more convenient to be able to just click on the notification itself, but that's the tradeoff for the intended greater peace of mind from not being able to. I don't think it will work (see above), but I think it's definitely worth a try (after all, I could be wrong, which would actually be great), and I'm interested in the results.
In any case, I'm glad to hear that disagreements about these controversial aspects won't stand in the way of the spec. I got the impression from Mike's blog that they wanted the spec itself to be slimmed down, without these capabilities.
@illisius: "People already know which application does what and how to access them -- otherwise they wouldn't be using them."
you'd be surprised. especially when many notifications come from applications that are autostarted, such as powerdevil.
but it's more than knowing "oh, i use skype" it's also "that's where skype's systray icon is and that's how i use it to answer a chat"
"by removing the ability to take an action (open an app, close the notification, etc.), you will also (allegedly) be removing the compulsion to act,"
that has got to be one of the silliest arguments i've ever heard.
when someone starts chatting at you, you absolutely want to act. you don't remove the desire to act by removing the ability to act. ask anyone stuck in a wheelchair.
i've also yet to hear that notifications are a source of 'stress'. there are many other things that are, but notifications that are delivered as passive popups are quite ignorable.
if anything, it's their appearance *at all* that is disturbing as it breaks your concentration.
whether or not you can act as a result is a secondary issue, and is a desire that will exist independent of there being actions.
and if the desire is to make them ignorable, making the non-dismissable seems a bit odd.
I'm glad with your answer. Thanks by the way. I neither understood why the notifications would be passive, without user's interaction, ie, if a kopete's user gets online, you should be able to talk to that user. However, I'd like to have a better notification area in kde4, because, ie, knetworkmanager never told me when a new wireless is available, and kopete's notifications would be nicer, taking advantage of plasma. So, I tough that maybe was a goog mockup, a try to..., but never good as a final idea.
Cheers!!!
Have a nice time with your friends and family; and, happy new year 2009, kde 4.2 is coming!!!
I've just had a thought - a little late now that no one will read this post again but I shall procede for no particular reason other than my own benefit.
I have commented on Mark's blog and they were what your points are Aaron (albeit in a less abstract Twilight Zone manner).
The one that I just thought out was that we will just end back in a loop to the state that we are in now. Everyone agrees that it would be the right thing to have a standard dialogue/syntax for these things through DBUS so that if one took you app to a different desktop then the new pop up would appear in a en vogue manner that that particular desktop was skinned to. However limiting the posibilities would cause coders to create their own notifications for their own applications with their own dialogue/syntax for speaking to their own notification system taking us back to the uncoordinated way we have things now. A different style of notification in a different location is distracting for the user and is probably would be less considered than an individual system.
Think of the notifications for Amarok, as default they are vast taking up a large portion of the screen (in yo face stylee) and they are in a most inconsidered part of the screen.
Now think of Juk (wonderful app now I have given it a chance), it has an entirely different popup (much better than Amarok's (appears out of the way, of a reasonable size, doesn't spend an age drawing up on my less powerful laptop) and completely rewritten from both Amarok's and Knotify).
Any how my point is it is just a road back to where we are now. I hope that the Ubuntu guy's just don't make their wonderful distro that little bit less attractive because I like it the way it is. I also think the less they deviate from the way KDE is as standard the better as they are a terror for that. In KDE3 their choice of standard artwork was woeful. They changed the control panel and removed needed options like 'File Associations'. Adept has always been poor as it didn't ever stick to the chosen 'style' - it was plastik or nothing, ditto for fonts. etc, etc so the way I see it the closer they stick to the defualts the less chance they have to break things and keep the otherwise excellent distro the wonderful way it is!
you could recolor taskbar/system tray items on important notifications and give notification when the user clicks, although that changes an age old desktop workflow, and system tray is already somewhat of an alien.
it would also be nice if applications could globally turn off notifications - like multimedia apps, only to have them appear when they're finished.
it also wouldn't hurt if they had a scale of importance. I only sometimes care when a file finishes copying but I'm usually pretty concerned about running out of disk space or sector errors.
That said, I like how they work in the 4.2 betas I've played with. Besides notification spam from ktorrent I have no real complaints.
Post a Comment