The notifications issue – part 2: the status


welcome back!

Preamble about this series

This series will be structured in 3 posts:

This is, guess what, part 2.

About the previous post

It was great to see interested comments and most of all actual replies to my questions. I want to clarify a couple things before moving on:

Some of you mentioned the existence of indicators, Colibrì and such. No worries: I know about them and of course they played a big role in my analysis. Though, I intentionally left them out of my problem analysis since they’re not a part of the stock KDE framework, and we want to aim for a solution which somehow “integrates” everything in one single place and API

I got some great answers to the “more than one action question”. Especially, several people agree on the “invitation” (I really like the name, credits to TheBlackCat) to A/V calls. We’ll see how they scale as we go 🙂

Also, Celeste pointed me out a usability study she is promoting targeted towards finding out how to make the notification system better. Needless to say this is also very helpful for the project you’re reading about, so I encourage you to spend some minutes of your spare time to help out. The link is above, but in case you read through it, here it is in its full glory:

Preamble about this post

Those of you who might have come here getting ready to read a comparison between GNOME, Windows, Mac OS, etc. will probably be partially disappointed in seeing that my primary case studies actually do not belong to a desktop environment. Why, would you say, since this is what we’re trying to address? The first and obvious answer is that KDE is no longer “only” desktop, and needs a concept which scales. The second one is that (not even that) surprisingly, completely different appliances have the same needs and the same problems to address. After all, when you come to think about it, a notification is just… a notification.

WARNING: Long post is long.


We will start by analyzing Facebook first. It is a great example in many ways, and a bad example in other ways, and we will now see why. First of all, let’s take a look at the basics. I guess all of you know the system fairly well, but I found a couple pictures which are especially valid for showing you what I want to show you:

Let’s start analyzing the picture. First thing we notice, Facebook is split in 3 areas: friend requests, messages, and other. First question – why the heck do I have a friend confirmation on my “other” stream? I’d expect all friendship-related activities would go in the “friend” area.  There is a reason for that, though, and it makes sense to me. Also, you might have noticed that this screenshot is from an old version of the system – intentionally. I want to try to focus on the differences and on the evolution.

Now, notice the left bar. We see that we have Messages and Friends again. Does it make sense? Why is that? To be honest this is a part I don’t like, since it’s a duplication of information, but it helps in proving a point: friends and messages are stuff on which you want to take an action, which might be delayed, but still needs to be undertaken. On the other hand, you can disregard and not be reminded of the fact that $GUY is stalking your pictures.

This is a child of the “transient vs. persistent” issue. In the web world, the concept of transient notifications almost doesn’t exist after all, but here we stepped over a similar principle: prioritization. Facebook clearly tells us that some events are more important than others, and should be considered in a different way. Coming to think about it, isn’t that also partly true for your desktop?

But the reader might now think: then maybe the whole transient deal is just bul^Wcrap. Not really – the reason is that a web application such as Facebook cannot really have such a concept since it acts in a disconnected way most of the time. But in that list, for example, I’d rather not have a persistent notification everytime someone “likes” my post. Ok, it sets my ego on fire, but it can become annoying. That’s a case where probably a transient notification would have cut it better.

But, let’s move on with our analysis.

Ok, that’s something more recent. What changed? The first impact would say “The picture on the left”, which is correct. But to me there is something much more important: grouping. Notice how before we had a notification about “X commented Y”, whereas now we have “X,Y,Z and other stalkers commented W”. There is also something else which gives grouping even more sense, you can notice it on your account: a small “x” icon on the top right of every notification. I understand it’s not really discoverable, and also its purpose is weird: if you hover on it, you’ll see a label “Unfollow”. In fact, clicking that button will simply stop giving you notifications about that specific post.

This is quite awesome in my opinion – not really for the feature itself, which I consider quite undiscoverable and barely useful for most of the audience (probably the reason of its discoverability), but for showcasing the power of grouping. Not only I will get one single notification for any event happened in a particular stream, but I also have a single entry point for deciding not to be notified of a particular stream anymore. In particular, there is something really significant here if you compare this approach with messaging: we are now used (thanks to mobile phones which now find fancy to arrange SMSs by conversation [yes I know threads existed before that but I’m considering what IMHO made them mainstream</hipsterism>]) to consider messages in the context of a thread.

Slowly, we are starting to consider events in a thread as well, where a starting point (in this case, a post) leads to a chain of events belonging to the same thread. To counter the obvious “posts can be considered behaving as messages”, sharing notifications and like notifications work in the very same (threaded, grouped) way.

Also, this leads to a MUCH lower number of notifications, and *uh oh* introduced somehow transient notifications in Facebook! If you notice, now everytime a notification enters your stream, you get a nice bubble on the bottom left, sitting there a couple seconds. The behavior of this thing is really interesting and worth a study.

This picture is good enough for showing you what I am talking about, but not for proving my point in its entirety. Suppose a new event happens, $GUY comments a picture of yours. The bubble will appear and a notification stacked. You can directly take the action by clicking on the bubble itself, including discarding (the X is much more discoverable here, imho). In this case, the notification will disappear. But there’s more to that, and here comes the concept of a transient notification.

Suppose you weren’t at your PC, you come back and you see a “1” in your “other stream”. Now, another guy comments. The same bubble appears, the notification is grouped, but “1” remains “1”. This is as close as a transient notification can get, since you will just notice 1 notification if you weren’t in front at your PC, but you would have witnessed a whole stream of comments if you were sitting right there, and you could have taken action on any of them. Instead, the “root” notification will just bring you to the first unread comment.

Also, the “x” in the bubble behaves in a very different way: instead of unfollowing the related stream of events, it simply “silences” the notification.

Enough with Facebook? Not yet, there is one last thing.

I am sorry I couldn’t find a better picture, but as you know the notification area looks exactly the same as this screen. What is weird? Yes, interaction. We’ve seen how Facebook is keen on having us clicking the notification to pursue an action, but here we have 3 choices:

  • Look at his profile
  • Accept
  • Reject

I think it’s bad. It’s really inconsistent with the rest of the interface, and kind of breaks the paradigm we’ve seen in the rest of the system, which in my opinion remains really good.


Google+ notifications are a very good case study for tackling the two weird things we found in Facebook: the separation between events (G+ has a single notification area) and the interaction. Let’s see why.

First of all we notice two obvious things: the grouping is even more aggressive: the “Friend” area of Facebook has been shrinked to a single grouped notification (this is closely related to how interaction works). Secondly, the layout helps the impression of grouping by showing a visual feedback of roughly how many events the notification refers to (by showing a set of pictures, or a “stacked” set of pictures). But the way one interacts with notifications is probably the most interesting part of G+:

Clicking on a notification brings up a full interface to the event that notification would have led to. This solves in a very interesting way the issue with interaction. Usually, the chain of arguments is that you need more than one action, you need a lot of them since otherwise the problem would be made worse, as instead of having one clear thing to do, you would have to cope with a downscaled interface for making your choice. There I fixed it: now you simply have your whole interface to deal with. But when we port this to our case (KDE), we should ask ourselves: is this that much different than opening a new window?

My answer is: not that much. The reason why people like this approach is that their workflow is not interrupted in any way – they can check out the event, maybe even reply to a message, then they can close the notification area and – bang – back to where they were. In a way, we can say that every G+ notification has one single action: “interact”.

Bored with all this social crap? Time for…

The N9, or: the mobile world

I am intentionally considering only the N9 since it’s the only smartphone I know really well (since I use it daily). I won’t be as long as before, since many things are just the same as before:

  • The N9 groups events: you get a single notification about having 5 sms incoming
  • The N9 does something very close to Facebook about transient/persistent notifications: you get the equivalent of the “bubble” which is instead a small banner on the top of the screen. The behavior upon clicking/stacking is exactly the same
  • The N9 allows a single action a-la-G+: when you act on a notification, a full interface is brought up for you to choose how to interact with it.

There are, though, a couple really interesting things in the N9. Let’s have a look at them.

Oh, how much I love this. The notifications on the lock screen really just cut it when I check my phone for events. And what about swiping on them to activate the notification itself? Just amazing.  This really shows how it is possible to make notifications an integral part of your experience when you are “offline”.

I am really sorry I couldn’t really find a picture for the next thing I want to show you. Some of you might know the N9 integrates its notifications with Facebook ones, basically showing notifications from Facebook as native. The interesting part here is that the grouping happens in a completely different way. A typical example of notification you might get is:

  • 3 new notifications
  • 4 new messages
  • 15 new friend requests

Whereas for the “global notifications” it doesn’t really make sense, it is really interesting to see that the “new friend requests” grouping is incredibly close to G+ as a concept, and acts in the same way.


Those three cases quite cut it in my opinion, and really help in showing mutual similarities and differences. In particular, we’ve seen how G+ tackled the concept of notifications in a way which is really close to the mobile world: a notification opens an application. Sure, the interface is different, but the principle remains – instead of giving the choice of taking a stock action, it leads you to a richer interface in case it’s obvious that you might want to undertake more than one choice. Facebook does this when it comes to messages and posts, but fails in applying this concept to friend requests – probably on purpose.


So what did we learn today? That the outer world already found several possible solutions to the problems we have previously outlined, and somehow faced most of the challenges we are up to. The circle is about to close with the next blog post, where I’ll try to gather what we learned up to now and try to come up with a concept which might, eventually, become the guideline for a new notification system in KDE. While you’re waiting, are there any other existing notification examples you’d like to point out? And thanks for reading until here, that was indeed a long run.

~ by Dario on 31 July, 2012.

20 Responses to “The notifications issue – part 2: the status”

  1. Just one case’s come to my mind – Synchronization. When you read notification on one deice it should disappear on others.

  2. Well. nice research. Let’s have a look at your solution before judging 😉

  3. Interesting study 🙂

    >> But when we port this to our case (KDE), we should ask ourselves: is this that much different than opening a new window?

    I don’t know if I caught your right – your point is: G+ “inline” response within notification scales pretty much to the new window within KDE?

    The best compassion in this case could be AJAX based vs. static web sites. The key differences are: 1) lag 2) focus 3) UI. 4) going back

    * LAG – Having inline response means the next UI is ready within 10-100ms, while opening new window could take a even second or longer. Especially if notification came from Akonadi and you are opening KMail for the first time.

    * FOCUS- New window is usually on top center position of the screen, and most likely in the different place than notification popup. This requires both eyes and cursor movement, that could be annoying for small tasks. This is less an issue for <10" having touchscreen devices, imho.
    Some apps fails to give focus for the right element once new window is opened.

    * UI – notifications will have plasma style, window – "KDE native". It forces user to think whats going on.

    * BACK – Lets say user got 3 messages. In case he replies within widget, you can easily go back to previous G+ style widget, yet replacing original message with "Your message was sent" while display other events as before.

    In case of new window – the popup gets closed and it becomes hard to follow on older events. Especially if you reply in full blown "IM app single chat window". Clicking back on notification area again? Is it a good idea?

  4. What works for everything – works for nothing.

    Having single UI style for all notifications is a bad bad thing, because it makes hard to scan and ignore potentially useless content (un)consciously.

    You have mentioned the Facebook “inconsistent” friend request element. Having it in a separate UI serves to purposes – prioritization and not messing the general UI. Putting it in the general news feed would look out of its place, at least. Having as a separate unit makes it, while not perfect, yet way more than acceptable and easy to use. As ugly as is – you will never confuse ti with spamy notification from some FB app!!!

    Talking about KDE notifications, they should be separated and styled accordingly to wherever the notification came from the user action directly or from background process. Depending on this we can use 2 different locations for them.


    Put all the notification form the user actions on the top right of the screen. E.g. User sends email, display “Your email to has been sent” right in the top of the screen in some Ayatana Notification style widget WITH visible countdown when it will auto hide (hovering element should stop timer so user could check if he sent the right email).

    The important bit for user initiated notifications should be the UNDO button. Undo the sending email, undo contact deletion, undo setting self destruction of your mini nuclear plant 🙂

    User initiated action should not stack – if I deleted a file, the act that the message has been sent is no longer important, isn’t it?

    In case underlying action takes more than 1-2 sec, show the expected remaining time as and hide notification as usual. Then “transform” the user initiated task into background notification.


    Any task started by a process – moving *large* file, receiving an IM, burning a DVD could go to the bottom right of the screen (bottom as association to down/background/below etc).

    Any undergoing task, like moving large file should be hidden from the beginning and indicated as a spinner, just like current (remember – we showed the task name and estimated remaining time in the top notification as stating such action was direct user request, while doing it is more a background process?)

    This way event doing 100 cp commands wont clutter the UI, while each cp would still give reasonable feed back.

    For all the background notifications, informing that something happened, any G+, FB etc style popup with grouping will do the job.
    Using colors to indicate the purpose of notification could be great too. Green left border for messages, red for – errors, blue for routine tasks etc.

    One more thing – the size of notifications. We are almost always doing them as small as possible. This definitely makes sense while poping new notification, as user might and might not what to interact. But if user clicks on show all – I see no reason why popup shouldn’t expand to even 50% screen real estate with proper search/filter/grouping functionality?

    Probably you would have covered this in part 3, yet I hope at least some of the points would be new for your research 🙂

  5. […] The status – what have been others up to in this topic. […]

  6. The N9 picture is no longer available. Is there a mirror?

  7. I’m gone to tell my little brother, that he should also visit this weblog on regular basis to take updated from hottest news update.

  8. This is really interesting, You are a very skilled blogger.
    I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  9. Sheila It is a world class airport that has now been upgraded and converted into an Airbus A380 compatible one.
    How much do you spend every month in clothes, games, expensive restaurants.
    Mdiba Freedom Museum, Constitution Hill and Hector
    Peterson Museum are some museums in the city dedicated to political scenarios.

  10. Cancer,Breast Cancer Surgery,Liver Cancer Surgeon,New
    york Surgeon for more information. When financial support is in question, the court
    will look at several different factors when determining how much one of the parents will have
    to pay. However, the reality is that sometimes people change and simply
    grow apart. Is this the usual scenario in your
    day to day life.

  11. Hey there would you mind letting me know which hosting company you’re utilizing? I’ve loaded your blog in 3 completely
    different internet browsers and I must say this blog loads a lot faster then
    most. Can you recommend a good web hosting provider at a reasonable price?
    Thanks a lot, I appreciate it!

  12. What’s up everyone, it’s my first pay a visit at this site, and article is in fact fruitful
    in favor of me, keep up posting such articles or reviews.

  13. I will right away grab your rss as I can’t find your email subscription hyperlink or newsletter service. Do you have any? Kindly permit me recognise so that I may subscribe. Thanks.

  14. Thanks for sharing your info. I really appreciate your efforts and I am waiting for your further post thanks once again.

  15. Fixed ceiling fixtures also frequently come with the option
    to have a ceiling fan as well. Wobbling and vibrating place significant stress on many parts of
    the fan and will ultimately shorten its life.
    A little fan put in an exceedingly huge area can definitely not
    do the job.

  16. I do not drop a comment, however after browsing a bunch of responses on this page The
    notifications issue – part 2: the status | A Quiet Place.

    I actually do have some questions for you if you tend not to mind.

    Could it be just me or do some of the comments look as
    if they are written by brain dead individuals?
    😛 And, if you are writing on other online sites, I would like to follow you.
    Would you list of all of all your social networking sites like your linkedin
    profile, Facebook page or twitter feed?

  17. I almost never comment, but I looked at some of
    the comments on The notifications issue –
    part 2: the status | A Quiet Place. I do have
    2 questions for you if it’s allright. Is it simply me or does it give the impression like a few of these comments appear like they are coming from brain dead individuals? 😛 And, if you are posting on additional social sites, I’d
    like to follow you. Would you post a list of every one of
    all your shared sites like your twitter feed, Facebook page
    or linkedin profile?

  18. For most recent news yoou have to pay a visit world wide web and on
    the web Ifound this site as a best web site for most up-to-date updates.

  19. El mejor ante el robo, el mejor ante seguridad, el mejor ante comodidad y confort y el mejor ante diseño y exclusividad. No me importa el debate, yo viajo en burro, puedo fumar puros holandeses y marihuana mientras me da el aire en la cara. Importante empresa del sector de la madera, requiere para almacén de cadena personal capacitado y con conocimientos en instalación de mueblería en madera, (Closet, puertas, muebles, cocinas etc.), adicional conocimiento en manejo de herramienta electro manual.

  20. Si alguien a adquirido un mueble cajonero on line. me puede informar sobre su experiencia, en tanto que en <a href="; esta web tienen mucha pluralidad y muy buenas ofertas y me estoy proponiendo comprar una.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: