Window indicators

Monday, May 3rd, 2010

The Ayatana Indicators work has given us a crisp, clean basis for indicators in the panel. We’ve said they will all look a particular way, and behave a particular way. And we’ve said they will be placed on the right of the panel.

But why limit indicators to the panel? Let’s make it possible for applications to use indicators themselves, for all the things that indicators are good at:

  • Conveying a particular state, such as whether or not the application is connected,
  • Providing a handle for the indicator menu, to modify that state

We’ll start with “window indicators”, or “windicators” for fun. Windicators are indicators displayed in the window title bar that behave just like the indicators in the panel: they have an icon which shows state, and clicking on the icon brings up a menu. Applications can create, update and remove window indicators using an API more or less like the AppIndicator framework first put to use in 10.04 LTS.

Window indicators follow the standard Ayatana indicator pattern, but are specific to a particular window.

Window indicators, or "windicators", shown in a sample application window.

We’ve carefully placed all the panel indicators on the right, and we’ve carefully put the window controls and window title on the left. So now we have all this space on the right. As a pattern, it would fit to put the window indicators there.

Cody Russell is leading some work in Canonical around the technology which actually draws the window title bar and borders. It’s called “client side window decorations”. We are moving the rendering of the window decorations into the app itself, so that you don’t have the window manager and application drawing those pieces separately. That simplifies certain things (of course it also makes some things harder).

One of the most interesting consequences of the client-side decorations work is that it means that the application could more easily draw into the titlebar (because the application is drawing the title bar). And that makes it even more natural for the application to control the right side of the window title bar as well.

Update: Several commenters correctly pointed out that window indicators could just as easily be rendered by window managers in cases where the theme is not CSD-based. CSD provided the inspiration for giving that space to the application, it’s not essential to the implementation. It would be fantastic for window indicators to be available on 😉

Less chrome, more content: banish the status bar

I’m on a “less is more” kick with our design efforts, and one of the things I want to banish is wasted vertical space. For netbooks, that’s particularly important. And a lot of applications have status bars at the bottom, for no good reason other than it was that way in Windows 3.1.

Typically the application status bar has:

  • Some status icons (“online”)
  • Some tools (“Yslow”)
  • A transient status message (“Saving draft…”)

We can replace these with a combination of windicators and temporary, overlay status bars. I really liked the Chrome browser’s use of overlay status messages, so kudos and thanks to them for the inspiration. The net result of those two steps, in apps where we can, is to save about 5% of the vertical space for your stuff – real content.

Prioritising examples for implementation

If you’re interested in this idea, please join the Ayatana mailing list and participate in the design discussions there. We’d like to develop some patterns that are generic, so that we can use a common icon and possibly also common indicator menu entries for addressing the same issue in diverse applications. Of course, applications will be free to use the mechanism for things that are unique to them.

Candidates for 10.10

It would be fantastic to implement a few of these window indicators for 10.10. Please help us choose the most useful cases! Currently on the list are:

  • Online / offline status indicator and toggle options for the mail client, chat program or Gwibber, the broadcast messages application.
  • An “unsaved” indicator, that tells people that the contents of the file they are working on have changed and potentially lets them save it or set autosave properties.
  • Progress indicators, which show that an action is in progress, and possibly also indicate the extent of the progress. The associated menu would enable one to pause or cancel the operation, and perhaps define the behaviour on completion of the action.
  • A “basket” indicator, which shows if any items have been selected for purchase,
  • Sharing indicators, which would show if a document is shared with multiple people, and enable one to setup such a share.
  • Volume indicators, which would show the loudness of application audio streams, and enable one to set the volume for that specific application.

The key thing is that these indicators are entirely application-specific, and ideally only relevant to the window that you are actually looking at.

Just like Panel Indicators…

From a visual design point of view, again the goal would be to ensure that indicators are symbolic. They would follow the same styling as Ayatana indicators:

  • Monochrome by default, with shape indicating the function of the indicator
  • Semantically colored: with red for critical problems, orange for alerts, green for positive status changes and blue for informative states that are not the default or usual state.

Integrated with the Netbook Edition Smart Panel

Last week I blogged about our decision to adopt a single, global menu for all applications, in the panel. And I also said we would explore putting the window title *and* menu into the panel, when the window is maximised. Of course, that means that we need to accommodate the window indicators in the panel as well.

So: when the window is maximised, and we are using a smart which can include both indicators and window titles, the window indicators will be inserted into the panel as well. They will appear on the right of the panel, and be the leftmost indicators. For example, here is the application, maximised (note the dodgy Ubuntu logo in the top left – that’s the panel, not the window title bar you’re looking at):

Mockup of maximised window, with smart panel and window indicators.

In this configuration, the system achieves “singular purpose”: the entire screen is devoted to a single application, yet the Ayatana elements continue to serve their purpose, either systemic (the battery indicator) or application specific.

281 Responses to “Window indicators”

  1. See's Message » Ubuntu演示新的Unity界面 Says:

    […] Unity环境绕过了传统的GNOME面板配置,它包含了一个类似dock的Launcher和任务管理工具,它们垂直放置在屏幕的左侧。面板上方是应用程序指示器、窗口指示器和菜单栏。窗口指示器是最近新提出的概念,设计目的是减少状态栏的需要。窗口指示器可以用来显示一个正在执行的操作,向用户通知应用程序事件,或去控制应用程序状态。Unity环境利用了GNOME 3用户体验中的多个重要组成部分。 […]

  2. Chris Lovaris Says:

    First of all i would like to congratulate all the Ubuntu members that work together to create this wonderful operating system. I think Ubuntu as a whole is going in the right direction, but it would be nice if we could give more emphasis on the user experience even more. I know a great deal of work has been done and Ubuntu has come a long way, but i think Ubuntu lacks a bit in the user experience and also in the bugs area.

  3. What can Linux learn from Toyota? (hint: it involves Ubuntu) Says:

    […] future of Ubuntu only gets more and more worrisome.  What’s next on the horizon?  How about Windicators – one of the worst UX ideas in computing […]

  4. ArubIslander Says:

    I am actually glad that Ubuntu is lacking a bit in the bugs area, I would hope with each release it would become ever more lacking in that area :)

  5. cbeck Says:

    Looks interesting. Though I personally don’t see what would be wrong with leaving the max/min/close buttons on the right and placing the “windicators” just to the left of them.

  6. sam Says:

    I just hope that since this is open source the ability to remove all this extra stuff will still be possible.

  7. Eru Says:

    Ubuntu is taking the computer world by storm. Too eager to get my hands on it now! Nice post :)

  8. t.h.w. Says:

    Hi! I am not very fond of this idea…
    As a former XP-user (and in the office still XP-user) I have moved the Ubuntu-bar, with the applications maenu etcetera, to the bottom of my screen, to match working on both systems by keeping a ‘similar look’.

    What will happen if this idea is implemented to the look and feel of my computer?

  9. Techwatch Says:

    Looks like whatever happens we will have Lucid for 3 years or maybe even more

  10. Facebook circling the drain « Rascal999 Says:

    […] software, I love Google Chrome. That thing with Ubuntu having window buttons on the left has been justified (finally) and, subsequently, blown over. However, something is undermining me as an advocacy of […]

  11. Подкаст об Ubuntu: Выпуск #4 — Глазастая гидра Says:

    […] — Виндикаторы […]

  12. Simanek Says:

    FTW, I have used Ubuntu Tweak to move my min/max/close buttons back to the right. However, I think it’s healthy that you are considering/developing alternative solutions to the desktop user interface. Many folks are critical of your efforts, but if Linux/Open Source is ever going to introduce innovation it will be by way of research/development/trial/error. Creativity and innovation is hard, laborious work with 95% of your efforts resulting in failure. Those failures do not indicate that you should stop trying to succeed. You are right to start with what is good from existing systems (OSX, Windows, Chrome, etc.). Novelty is overrated.

    And for the record, the overlay notifications that are getting attributed to Chrome were, in my experience, a concept that actually started several years ago (2002?) with a little custom notification system for OSX called Growl.

  13. Olaf Says:

    The windicators idea sounds interesting and might be a very nice feature.

    But the client side rendering sounds like crazy talk to me.
    Also IMHO unnecessary for the implementation of the windicators.

    Why not add new functionality to the window manager?
    App can request a special title space client area of some preferred width and window manager responds by either denying it (because theme does not allow for windicator area) or with the rectangle size it can offer the app (height determined by theme, width by window width minus other decorations). Then route mouse events for windicator space to the app, similar as it would send events for the main client area.

    That way pandoras box doesn’t get opened and we keep some consistency in window decorations (which will likely be a goner with general client side rendering) – plus users/theme designers retain control over placement of the windicator area – just as with other decorations (min, max, close, title).

    Global menu is a terrible idea for a normal desktop (and annoys me every time I use a friends Mac) – but could make sense for the special circumstances of Netbooks and similar special environments (limited space / use cases).

    I’m a fan of the dynamic status bar – as long as it is an option (at least for some apps). As has been mentioned above – some apps (e.g. editors, word processors, IDEs) use status area to show infos like line, column that one wants to have visible all the time.

    p.s. Thanks for Ubuntu – been using that it as my main system for ca 4 years.

  14. Русский подкаст об Ubuntu « Дмитрий Агафонов Says:

    […] – Глазастая гидра— Глобальное меню в Netbook Edition — Виндикаторы — Unity и Ubuntu Light — GNOME Shell не будет — На чём заработает […]

  15. lotus Says:

    Best wishes from Moldova & Romania, I love Ubuntu very much. Keep working 😉

  16. As novidades para o Ubuntu - Revolução Digital Says:

    […] Linux e eu pessoalmente estou curioso em saber até onde estas novidades nos levam, e vocês?Fonte                 Esta notícia já foi lida 5 vezesOutras […]

  17. ajmal Says:

    i dont know what are u thinking but iam really stuck there as a windows user and for most of windows users we like the maximize,minimize,close buttons on right and we are habituated with them,please put them there if possible and also brainstorm users too want it to be on the right. ./thanks a ton

  18. Русский подкаст об Ubuntu Says:

    […] Глобальное меню в Netbook Edition — Виндикаторы — Unity и Ubuntu Light — GNOME Shell не будет — На чём заработает […]

  19. Подкасты – Ubuntu Podcast: Выпуск #4 – Глазастая гидра « Says:

    […] меню в Netbook Edition – Виндикаторы – Unity и Ubuntu Light – GNOME Shell не будет – На чём заработает […]

  20. Einblicke in Ubuntu 10.10 Maverick Meerkat | Ubuntuxx Says:

    […] von nun an der linken Seite eingeblendet. Das obere Panel einer Benachrichtigungsleiste weichen. Window indicators (Programmspezifische Indikatoren) sollen ebenfalls sich dort niederlassen, worüber Menüs […]

  21. » Top-left, top-right: why not let me choose? My Green Life Says:

    […] the plans for the top-right corner of Ubuntu windows, as Mark Shuttleworth has posted a blog entry about the so-called “windicators” that they plan to put […]

  22. Andrew Davie Says:

    How about a CPU usage indicator on a per-window basis?
    Or memory usage, etc. These would be pretty neat.
    If multiple instances of the same proggy are open, perhaps a “switch to next instance” would be useful.
    I could see having a “Pause/Suspend/Resume” option might be useful for some programs.
    I’m one of those who absolutely hated the left-side button re-placement. However, I decided to “give it a go” and left it there. It takes a while to get used to. Now I’m pretty much “meh”. The one annoyance is the inconsistency with Firefox; and that is, if you drag a window by the blank space in the same horizontal plane as the menu, it works…. EXCEPT for Firefox, which doesn’t work. Pity.

  23. Identidad visual: más allá de la UI | Ayuda Linux Says:

    […] fueron implementados hace tiempo ya por Mac OS X? Una de las pocas ideas realmente nuevas son los Windicators, que utilizarían el espacio que quedó libre a la derecha. Relacionado con esto, el boom de las […]

  24. Things to do after installing Lucid Lynx 10.04 « Martin’s Ubuntu Blog Says:

    […] while first as it hear to stay! “windicators” are on their way for right hand side see  here for an explanation and […]

  25. h1z Says:

    Create “get root right” window indicator for Nautilus or use dialog passwd as a Finder(Mac OS X).

  26. Filosofia dell’Open Source, di GNU/Linux, e in particolare di Ubuntu « MartPizz Blog Says:

    […] stupido? Perché copiare dal Mac OS solo per il gusto di farlo? Dichiara Mark Shuttleworth in questo suo articolo, che lo spostamento è terapeutico a una futura aggiunta degli windicators, che ancora si deve […]

  27. [Tips]Ri-spostare le icone del bordo finestra a destra. « MartPizz Blog Says:

    […] Shuttleworth ha recentemente annunciato che ha in programma, per il prossimo rilascio di Ubuntu (10.10, Maverick Meerkat, il 28 Ottobre […]

  28. jenningsthecat Says:

    Why don’t you just put the Windicators on the LEFT side, and leave the window controls on the right, where most of us are used to having them? (You could swap left for right on the panel so it matches the windows’ titlebar layout; I believe this would be a much easier change for most users to accomodate). And if you’re going to move the window controls to the left corner, then please Please PLEASE leave us an easy way to move them back to the right corner, even if we have to disable the windicators to do so.

    Also, I can see “Temporary status message, as an overlay” could get really annoying really quickly. It reminds me somewhat of Windows’ pop-up ballons, which I disabled at the earliest opportunity back when I was a regular Windows user. If the overlay stays up too long then it’s obstructive and distracting, and transparency does very little to help with that. On the other hand, if it doesn’t stay up long enough then it’s not useful. And if the user has to click on it to get rid of it, that’s just one more interruption of the work flow.

    I fully understand both the desire and the need to keep improving Ubuntu and Gnome. So, how about fixing Nautilus? Its built-in search functionality doesn’t allow searching for text within files, or searching for a date range; these require launching a separate app. There is no click-and-drag selection capability. Right-click in Tree View doesn’t highlight the directory being clicked. There is no immediate indication of whether a directory is empty. It doesn’t honor date preferences when it’s called by an application as part of a ‘File – Save’ operation.

    I really thing basic functionality ought to be addressed before issues that are primarily esthetic are dealt with.

  29. theodore Says:

    Adding windicators also implies that netbook remix is moving away from the notion of always maximised apps with no chrome with buttons for minimising/closing apps.

    1. So wouldnt that actually take away vertical space? You will still need a panel containing a task bar/start menu button or some other intuitive and fast way to do those things. I saw that in gnome-shell that happens beautifully by just hitting the left top corner of the screen, but I read that next version of ubuntu will not use gnome-shell.

    From the viewpoint of a user with a really small netbook screen, I would prefer not to have any window decorations with windicators and just a panel, in order to save a couple of inches.

    2. Also, laying down applications in a list vertically leaves a huge blank space spot on the bottom of the list (as seen on your example mockup) .. Maybe instead of showing a list of the windows as text, it can show them in the form of thumbnails,which are scaled accordingly to the user’s preference?

    I really like the idea of the windicators, though it might confuse some new users by adding a whole new layer of complexity (but also user experience richness)

  30. theodore Says:

    I would also have the task bar panel automatically hide when its not needed (most of the time)

  31. westdam Says:

    Lucid is fantastic, great work!! I’m from italy, i like the windicators idea.. very impressive.

    I’d like to have a new windicators : just a button to obscure the window. This could be done for multiple reason also privacy. Once the button is pressed the windows just become black or trasparent ( only the window of course not the status bar ) . If the button is pressed again the user password should be asked for security reason and the content of the window appear. What do you think? it’s just an idea, glad to help if possibile of course

    marco bottacin