We also made the design decision to allow notifications to be hosted by the system tray applet. That has changed somewhat: the notifications agent is now a stand-alone Plasmoid, so you can put it anywhere you wish. By default, it lives with other items in the system tray, which is sort of a panel-in-a-panel (or a panel-on-the-desktop if you use it there). We've been working on making that more elegant for 4.5 as well.
Here is my system tray as of today's build of what will one day be KDE 4.5:
You may notice two things immediately: the icons have changed in both appearance and ordering. We're still experimenting with all of this, and any of it may change at a later point. For instance, I think it's likely that we'll end up changing the technical implementation of the how the new icons are sourced slightly. So, it's a work progress; please keep that in mind as we continue on here. :)
As for ordering, we're experimenting with putting the "most important" entries on the left of the system tray and the least important ones on the right. While this feels "good" visually and makes sense from a reading order POV, we're still unsure whether it's the "best order" due to the possibility of icons moving around in a way that increases the likelihood of changing the order of the "most important" icons on the left. We'll see.
In any case, entries can label themselves with a status, such as "Active" or "NeedsAttention". Both Plasmoids and the new system tray protocol items can do this, and the system tray Plasmoid listens up for these changes and arranges the icons accordingly.
It also groups icons according to type: application icons are kept together, hardware icons are kept together, messaging icons are kept together ... This reduces some of the chaos. With the advent of the menus being client side, something Aurélien Gâteau contributed as part of his work for Canonical, we may end up booting out the application entries from the system tray in the 4.6 release (we likely don't have time to experiment with this for 4.5, sadly) and instead host them in the task bar along with their windows. Towards that end, we have a new DataEngine for status notifiers contributed by Matthieu Gallien (with some code borrowed from other works by Marco and Alain Boyer in the mix), which will make this quite a bit easier.
The non-application icons are also losing their colorful nature and becoming easy to see and understand glyphs. The battery Plasmoid also doesn't save extra space for itself for the on-hover display of battery power. Tooltip hovering is consistent as well. I can now swipe my mouse across the tray and quite easily and quickly see the status of my battery, internet, sound, screen and more in an attractive manner.
The "more icons" arrow has moved to the right as well and now opens a window with all the entries in them, looking all Plasmalike. This prevents rearranging everything on the panel (or simply running out of space on small panels!) when expanding the system tray.
The information icon for notifications and job progress has also been toned down. Not only that, but it has been augmented with a number of nice animations and state transitions to communicate what's happening. For instance, when a notification comes in, it smoothly animates between the unobtrusive "empty" icon and a full coloured one (blue by default):
The transition is very smooth (hello, QtKinetic and Plasma Animations!) and while eye-catching isn't vulgar during its movement either. Another case where it moves is when one or more jobs are in progress, such as downloads. When they first get started, it shows the new (well, to Plasma, you may recognize it from other places :) busy animation along with a count of active jobs:
I caught it at a poor moment and so the snapshot looks worse than it tends to in practice. (Yes, I was too lazy to do a screencast today. :P) What's really cool is that it starts to fill up pie chart style as the jobs progresses:

Clicking on the icon expands to a fuller job information view, with multiple jobs showing in a scrolling view so that they don't eat up the screen anymore. Same for notifications, by the way! Clicking on the icon again will make all the information hide and you can just watch the icon slowly fill up, at which point you get a very stylish notification letting you know what was finished along with a link to click to open it and a button to copy the destination with.
There are also fewer lines, backgrounds and what not in the default theme for the system tray for 4.5. Other themes are still able to do so, of course, thanks to the Plasma theming system, but we're aiming for a less-is-more elegance on the visuals.
Between the better visuals, the nicer interaction, the increased interoperability (e.g. Gtk+ apps that use the DBus Status Notifier system will appear 100% natively rendered in Plasma Desktop and Netbook!), I'm really happy with how it is shaping up. We still have some more icons to do (you can see krandrtray's blue monitor there still, for instance) and there is work left to be done to integrate the status notifiers into the taskbar, but we're getting there step by step, release by release and the results are very satisfying in day-to-day usage. It feels good, it looks elegant and it lets me do what I want and need to. :)

45 comments:
Yes, this seems much more usable and nicer than in 4.4.
Thank you for that, I'm really pleased with it! Can't wait to see in action on my desktop :)
However, you should have to figure out a better notification counter, because the actual (0/1) is not so elegant.
Keep up the good work!
Nice to see some work beeing done on the ordering in the system tray. I have always found it to be one of those small annoying things.
As for how to achive the "best order", I think the most important thing is to make it "static". So that those items the user always have present, stay at the same order at every login. I have not count on how many times I have opened ktorrent instead of KMail due to different ordering between logins.
I like the new improved solution to the "more icons" functin, it's impressive. And yet kind of emabarresingly obvius when demonstrated:-)
who decides what application icon is more important and what isnt when deciding ordering?
are media players icons less or more important that instant messenger ones? what about btw kopete and pidgin? i think this will lead to confusion more than anything else.
I like my icons to show up in a certain order and i start my application in order to guarantee it. I am afraid this will take that control away from me and add unnecessary confusion.
i agree with the above posted who mentioned counting of jobs from 0. It doesnt look good seeing "0/3 jobs complete". "Normal" people do not start counting from zero :-)
All the progress made in KDE is very nice.
I like the monochromatic icons, but is/will there be an option to change those white icons to black? Does this the chosen Plasma theme?
Like the black tray icons from Mac OS X, there are elegant and not intrusive.
If some tray icons are monochromatic and others have colors, it won't have a consistency, will not look professional and polish. What do you think about this?
I agree with mhogomchungu about icon ordering. I don't know if giving user ability to order the icon is a good decision, but to force them on how the icon is ordered is not a good choice too.
I would also like to comment about another minor annoyance related to tray icon ordering: the icons moving when a new entry comes in (perhaps a hidden icon is now visible because it became active). If it happens when you were about to click on an icon you end up clicking on the wrong one.
I don't know how it would interact with the new "ordering by category" of the new tray but if it's similar to the old system just adding the new icons on the left of the tray instead of on the right (and just before the notification and work progress) would solve this problem.
Anyway, thanks for your work on this. From the looks of the screenshots it seems the improved tray is going to rock.
By the way, could it be possible to animate the appearance of new icons? I was thinking in something similar to what happens now with the buttons of the task bar. It would be nice if the icons moved around smoothly to make room for new entries on the tray.
@szotaski: "However, you should have to figure out a better notification counter, because the actual (0/1) is not so elegant."
any suggestions for how to say "1 thing is running, none are finished" in <25 pixels?
@Morty: "I think the most important thing is to make it "static"."
we're working towards this. the new system gives us enough information to have the code start making reliable decisions.
@mhogomchungu: "who decides what application icon is more important and what isnt when deciding ordering?"
things are first categorized by type and then usually by order or appearance (though i think that will be changing to increase consistency). we don't have any external configuration for this currently.
"I like my icons to show up in a certain order and i start my application in order to guarantee it. I am afraid this will take that control away from me and add unnecessary confusion."
this assumes you start the applications yourself. with session management you don't. what matters more is that they are consistent in where they show regardless of when the app is started.
""Normal" people do not start counting from zero"
they do when the question is "How many apples have you eaten today?" and the answer is "Zero." ;)
@Götz: "but is/will there be an option to change those white icons to black? Does this the chosen Plasma theme? "
the icons come from the plasma theme, yes. we're still working out how we want to handle contrast problems. (no set colour is safe in all cases.)
"If some tray icons are monochromatic and others have colors, it won't have a consistency, will not look professional and polish. What do you think about this?"
i think that we need monochromatic icons for all the non-application icons (they are very limited in number and constitute 'well known' apps, so its' doable) and move all the application icns to the tasks widget. problem solved.
@Misbachul: "to force them on how the icon is ordered is not a good choice too."
unless it actually works. there's an assumption at play here: the user always knows better and can manage things better. this is often a true assumption, sometimes because the possible choices are numerous and none are better than the rest objectively (aka "it comes down to personal taste") and sometimes because the developer who wrote the software wasn't equipped to make good decisions. however, that assumption is not always true. i remember the days when one had to play with "irq settings" to get peripherals working and most people just sucked at that. with autoconfiguring buses that can accomodate any number of devices at once (e.g. USB) those days are gone. because it actually works, nobody cares that you don't get to screw with things like IRQ settings. same thing here.
@Naproxeno: "the icons moving when a new entry comes in (perhaps a hidden icon is now visible because it became active). If it happens when you were about to click on an icon you end up clicking on the wrong one."
this is why app icons don't belong in the system tray, as they are often the worst offenders for this. some icons still do come and go (e.g. the device icon; it autohides when there is nothing of interest connected to the machine, for instance), and solving this problem completely requires knowing the future. as such, and being an edge case, i don't plan on spending many resources on looking for a solution for it. sorry :) maybe someone else will.
"By the way, could it be possible to animate the appearance of new icons?"
yes, it is indeed now possible to do so without things completely sucking. it hasn't been implemented yet, but it certainly will be eventually.
"and there is work left to be done to integrate the status notifiers into the taskbar"
I hope you're referring to the slide-out window of notifications and such - I've never found it to really be "part" of my panel and it's always been sticking out in an ugly sort of way.
Are you planning to allow people to resize these icons? Monochrome does look good but I feel it might lose its awesomeness on slightly thicker panels and might look a bit sharper and cleaner if shrunk down.
One more thing, the complaints about "0/1" I don't think is about the format "0/1" but rather about how hard it is to read. Perhaps make it white, give it a black outline, and bold it and make it smaller to not completely cover the pie chart.
"we may end up booting out the application entries from the system tray in the 4.6 release (we likely don't have time to experiment with this for 4.5, sadly) and instead host them in the task bar along with their windows. "
Does this imply there is also going to be support for integrating application launchers (dock-style) with the taskbar? And would this also imply allowing applications to associate their own actions or menus with their taskbar icons (and perhaps thumbnails as well)?
Two other questions:
Have you considered allowing drag-and-drop reordering of the tray icons?
And what is the deal with the rekonq thing to the left of the tray in the fourth pictures? (sorry, it's off topic but I am really curious)
"any suggestions for how to say "1 thing is running, none are finished" in <25 pixels?"
I'd suggest having a very small progress bar scan across the icon (like the amarok track progress, but horizontal). The number could be omitted unless more than one job is running/finished.
For myself, the majority of the "jobs" that run are file transfers, usually one at a time, and it's an annoyance to click to bring out the extender just to check progress...I"m sure others run into this.
On another note- one really nice feature of win7 in being able to click and drag icons from the "always shown" group to the "hidden" group (when it's visible) and vice versa. Any chance that could be implemented here? It's very useful.
GREAT work though. Really looking forward to 4.5
This is starting to look really nice.
The system tray is what currently keeps me away from latest KDE, because I find it annoying.
Also, that progress bar is fugly, it has too many rectangles in it, which makes it feel dizzy; it would be cool to only have like 3, 4 or 5 rectangles, because usually people roughly estimate progress like that.
"any suggestions for how to say "1 thing is running, none are finished" in <25 pixels?"
how about 1/1??
0/1 means "there is only one job and i am done doing zero jobs
The same thing can be said with 1/1 to mean "there is only one job and i am currently doing the first one.
If there are five jobs in a queue and the first two are done and the third one is in progress, current setting that start from zero will say "2/5" where as the one that starts with one will say "3/5"
The difference is that the current way counts jobs that are done and the proposed one counts the job in progress.
The difference is a matter of counting a job in progress and jobs done.
"0/5" stick out more than "1/5", somebody should a poll on this and see what most people will say
Very nice article, Aaron. It's always enjoyable to read about the factors being considered in a given design. Love how 4.5 is shaping up.
As for the "0/1" issue - what about breaking up the pie chart itself into discrete sections? For example, if there are 3 tasks at hand, draw the pie chart with 3 "slices". Fill each slice according to the progress made by a given task; simultaneously, the entire pie will fill itself as multiple tasks complete.
That would remove any need for overlaying numbers (as text).
One other thought - I would think it actually makes more sense to place the important tray icons on the right. Important icons tend to be persistent, and they lose their importance if their position is constantly reshuffled as new icons appear/disappear in the tray. Important icons should preferentially retain their position, and the only way to do that on a right-aligned tray is to place the important icons on the right.
Also, while most of the world reads left-to-right, we are more conditioned to perceiving important things as being on edges (be it left or right) rather than floating in the middle.
Just some thoughts - thanks again for the post!
You can only show the jobs working, with a single number. I dont need to see how many jobs was made in the systray. :-)
Thanks for the updates! I greatly enjoy them, even though I mostly just RSS-lurk.
One question regarding system tray icons:
Would it be possible to combine the icons/functions for "Notifications and jobs", the Device notifier, and the "Indicator Display"?
I've never really understood the need to have three different icons, and three different notification types. I think the UI would be greatly improved, if somehow the three could be merged.
Thoughts?
How about switching it to just a single number, the tasks remaining to be completed.
So when you started a task, it would display 1, and then drop down to 0 and perhaps the text could then disappear entirely.
It just seems like normally the way you display things like this is to count down the remaining tasks rather than counting up completed ones.
"As for the "0/1" issue - what about breaking up the pie chart itself into discrete sections? For example, if there are 3 tasks at hand, draw the pie chart with 3 "slices". Fill each slice according to the progress made by a given task; simultaneously, the entire pie will fill itself as multiple tasks complete.
That would remove any need for overlaying numbers (as text)."
PleaseOhPleaseOhPleaseOhPleaseOhPlease!
This is *exactly* what I want. I don't *care* the specific number of discreet tasks that are done. I only care how far through the whole job it is, and that it can be read *visually* easily.
+1 for post above related stuff;
Honestly, the little icon + spinning thing animation + text on top of it = FUGLY!
About the notification icon progress issue: I like the idea of some graphical hint for progress.
Beside a progress bar how about a pie-chart or some colour coded spots? E.g. show 6 spots that are greyed out and for each starting task show one of them red slowly moving to green when finished greying out after some time.
For more than 6 tasks show some sort of expander or an inidcator that there more (change background colour, use an additional border etc.). Finally show task bars for progress in tooltips. The only drawback: you probably would need a more square formed icon or morph to one during running tasks.
Now I can't wait for kde 4.5 Thanks for all the great work. I definitely backed the right Horse :)
>draw the pie chart with 3 "slices"
+1 for a pie chart
File transfer progress bars in KDE3 were absolutely perfect.
- Informative. What, where from, where to, size, etc.
- Resizable. To any size, to even show loooong paths and file names.
- Movable. Place them exactly where you want them to be.
File transfer progress bars in KDE4 are an absolute idiocy in the name of "meshing with the rest of the user interface". Total crap.
That screenshot you show there of a running job, is absolutely useless.
Oh men, this is great!
With this monochromatic icons it get's sooo much better. I found the kmix icon especially ugly in previous releases, and the network manager icon unclear.
One remark: do you really need a notification counter? I mean, just a simple hint that 'something' is running should be enough, isn't?
Aaron, I'm so glad that this kind of polish is being brought to KDE. I sometimes get the feeling that the polish is forgotten in the flood of new functionality, but this proves otherwise. Keep up the great work!
Reading the comments I now realize that '0/1' means "1 thing is running, none are finished"
Never understood that, to be honest. Sounds like you were thinking too technical when designing that :)
Think about what you see on printed documents; they tend to say "Page 1/4" which means you are *looking* at page 1.
Or, from a humane point of view the "1/3" means that the first item is in progress. Not that the first item is done.
Then when you see "3/3" the last item is in progress. When thats done you remove the numbers and show its done (I really don't care about how many jobs it did at that point anymore).
Thats at least my thinking :)
Thomas Z
"i think that we need monochromatic icons for all the non-application icons (they are very limited in number and constitute 'well known' apps, so its' doable) and move all the application icns to the tasks widget. problem solved."
this sounds good. i had been wondering about it.
@Greg,
Turn off the plasma-progress bar for file-transfers then, and a normal window is used instead with all the details that were present in KDE3 (at least as far as I remember).
Right-click on the systray, select settings. Uncheck "File transfers and other jobs".
thanks a lot for this.
Hi Aaron, first comment from a regular reader:
YOU RULES, FUCK!!
It's really nice the new 'Sevenish' look xD
M$ are a big mtfs pir8 with buggy shitware -hey they build the OS, they build the soft to run top of it and they make both crash, WTF!?- but they (almost) allways excels in GUIs design.
I like *very much* KDE SC 4.4.2 look over W7 not to mention almost complete control and flexibility provided in KDE SC, never be seen and never to be equaled in W$, but new W7 systray looks nice.
Also one more thing I would like to see in newer KDE SC releases is standard menus go away - at least hidden.
'Ribbon' interface, as it's called in new W7 apps- is awesome, and the Free Software / Open Source software world should have something similar if not better in the short time to come.
Comming to systray topic again: one thing still bothers me is the chaotic way systray icons are loaded at system start up. Say you have eight icons, they never show up in the same position after every login.
I know this happens because 'load times' of every app, but it would be nice the systray keep a sort of order or position count, so you don't have to investigate were is the icon every time you restart your desktop. This is an issue I saw in W$, GNOME and yes, KDE.
One more thing: it's cool you're starting to put order in the systray. All system specific related icons (volume, battery meter, network connection, KWallet, Klipper, Trashcan, KOrganizer daemon, Device manager, Show desktop and so on) should have all similar look and feel and grouped together no matter which application trigger them, name it KMixer, KNemo and so on. Normal apps systrayed can have it own icon aswell - Amarok, Dropbox, KMplayer, RedNotebook, etc.).
Sorry for the long chat =D
@aaron
"the icons come from the plasma theme, yes. we're still working out how we want to handle contrast problems. (no set colour is safe in all cases.)"
Hi,
I just read this entry http://jimmac.musichall.cz/log/?p=974
about "GNOME Symbolic".
The idea of having symbols like text glyphs seem very good, enabling contrast as if it was text. Maybe KDE can use/copy/enhance/share this concept with GNOME?
I wouldn't get too hung up on the ordering - as long as it is consistent.
We already have a lot of control over the location and size of the panel, and the placement of widgets on it.
My panel runs down the left hand side of the screen so talk of left/right is largely irrelevant. What happens if I want the system tray at the top of the screen/bottom of the screen/left of the screen/right of the screen? Do different rules then apply for the ordering of the icons?
You can over complicate this; make it consistent and concentrate on the appearance.
So you're using rekonq...
Just thought I should mention it.. :-)
If this is a usability improvement that's being worked on, which I think it is, I appreciate it so much! It makes me interested in KDE again. I wanna see more of this, please??? I think KDE people should just stop adding features over features... I know you're incredible at hacking, I've known that long long ago. Please show me you're good at usability and interface design too! :-)
The icons look strangely inconsistent. The battery icon looks great, but the lines in the network one look too... thick in relation. I think it's mostly the differences in the level of detail. Then the audio icon's lines look extremely thin and blurry, but the speaker looks thick and not sufficiently detailed.
Why's my every upgrade just too old? Fantastic work! :)
I have to agree with some of the others above that having only one number (indicating the number of jobs left) would be better than having x/y.
It is much faster to scan a single number than 2 numbers and a slash. Scanning needs to be as quick as possible because the point of notifcations is to not get you distracted from your work.
Having one number also makes the pie graph at the back easier to see.
Also imagine if there are more than 10 jobs in the queue (which can easily happen during batch downloading). Using the current method you could get a situation when it looks like: 10/12 or 26/30 or even somthing above 100! Not sure if that would look good or even fit within 25px.
Going along with some others:
a.) Only the number of planned jobs as countdown (ie. 4,3,2,1,0)
b.) Done/Total (ie. 3/4)
I never understood the numbers, but it did not bother me enough to file a enhancement
@csousa this ideas ahve been coerdenated with tango people, notece that the solution is mostly the same, the only diference is that we leave the actual solution to each individual plasma theme.
Note that glips do not assure good contrast in all cases (look at some themes in plasma were the text becomes hard to read)...
Nice job. I really looking forward to 4.5
"0/1" issue - I think one number (with smaller font size than actual) would be much better. Behind the "8/23" you can hardly see pie chart and I don't care what total number of jobs was - less is more :)
Tanner's idea of breaking up the pie chart itself into discrete sections: it may be hard to see in small panel or with many sections, so after initial "great" I don't like it.
I don't like gray circle under inactive "i" icon, just "i" would be nice to be consistent with other icons.
I like Dread Knight's idea to have less progress bar rectangles. With 5 rectangles it is easier to guess %.
re: 1/1 meaning 'one job and i a running 1' To me, that looks like 100%, which isn't correct. 0/1 seems much more accurate, but I can see the confusion in both. The current screenshot of 0/1 all crammed into that little circle does seem a bit difficult to read, however.
regarding the monochrome icons, I feel that that Win7 ripped off KDE4 for many user interface things including the systray, but this seems to be moving more towards Win7 rather than distinguising KDE. But if we're making them monochrome anyways, could the colours be pulled out of other icons to force them to all appear monochrome?
After reading more comments, I think the countdown of processes may be the best idea; then when there is 2 processes running it reads 2, and when there are none left its at 0 (and likely shouldn't be displayed).
Just my 2 cents. Just got KDE 4.4.3 in Debian Sid and I'm loving it! Thanks for KDE!
The non-application icons are also losing their colorful nature and becoming easy to see and understand glyphs. The battery Plasmoid also doesn't save extra space for itself for the on-hover display of battery power.
Yay, and yay! :)
In particular, I also hope the mute status of kmix has been enhanced. I don't see red well so I can't judge well when mute is on or not.
In general I am very excited about all enhancements introduced in this blog post. Way to go!!!
I like the idea of pulling application icons in systray out to the task bar. It would reduce redundancy and save space. Does KDE need to make changes to specifically support this, or could a plasmoid already implement it?
About moving applications from the systray to the title bar...
How about introducing a whole new concept here. Let's allow *every* application that lives in the title bar, to enter a iconified state (much like the old systray icon) on the far right of the titlebar (or in a dedicated applet). In essence, this would be nothing else than a "titlebar for iconified apps". Then make it configurable to the end user, where an application should go on minimizing it.
Also, allow the menu that certain "tray applications" use, to be accessible both to an application that is in a "minimized", or "iconified" state. Essentially, since there are no special "tray icon mode" any longer, this would be something like the windows7 application specific menu's, or OSX's tile menus (those extra menu items that appear when right clicking some application icons in the task bar/dock), and all applications could have such menus with shortcuts to important actions like "play/pause", or whatever.
In case the user removes the "mimimized applet" and "iconified applet", and wishes to merge that into something like "stasks" (i'm sure you've seen that windows7 kde eqvivalent), then simply communicate that (what we used to call) "systray application menu" via dbus so they can have the same functionality there.
I'm just throwing out ideas here, but maybe someone will find it useful. I'm sure there are lots os typos in this comment, but i'm tired. ;)
Personally I do not like the monochrome icons. If we are going to keep using them we should make them smaller and not totally monochrome. The battery icon for instance, the "no battery" mark in the icon should have a red color. The icons also look much better if they are smaller, actually there is a configuration entry in systemsettings -> Application Appearence -> Icons -> Advanced -> Panel to force the icon size in the panel but it has no effect. Even for colored icon they would better if they are smaller in the panel but I have not found a way to do that, the panel always resizes them if you change panel size.
Post a Comment