Rocking The Application Indicators

Some time back the Ayatana project introduced the Application Indicator Framework, based upon technology created by the KDE project. We have been shipping this technology in Ubuntu for a few releases now and it makes the top-right part of the desktop a smooth, efficient, and pleasant experience, getting over the inconsistent and limiting notification area we had before.

To help build integration in the GNOME panel for this indicator work we had Ted Gould, Cody Somerville, and Jason Smith produce an implementation complete with C, Python and C# bindings, had Aurélien Gâteau continue to perform his excellent work with KDE, and Jorge Castro to help spread awareness of this work. In addition to this we contracted some developers to port apps with notification indicators that we ship in Ubuntu to the new framework, and this included apps such as Brasero, GNOME Bluetooth, GNOME Power Manager, Gnome Settings Daemon, XChat-GNOME, iBus, Nautilus, Policykit GNOME, Empathy, Gwibber and more. All of these patches are publicly available if other distros would like to use them.

The community has really got involved with the technology too, with community patches for Lernid, Banshee, LottaNZB, and DejaDup, and System Monitor, Weather, Screenshotting, Workspaces, Device Mounting indicators, support for the indicator framework built into AWN and Lubuntu, and more. I am absolutely delighted to see so much interest from application developers in the technology.

  • http://libregraphicsworld.org Alexandre

    Stiph’s comment from August 21st, 2010 (11:06 am) at http://blogs.gnome.org/sudaltsov/2010/08/20/keyboard-indicator-in-ubuntu-10-10-disclaimer/ doesn’t sound so exciting :-/

  • Aaron Seigo

    This is fairly spectacular. Canonical has taken an attempt at improving the system tray area which has historically been crammed with everything one can imagine, and actually managed to take that new thing and make the situation worse. How? By encouraging people to use it as a general purpose panel plugin API.

    Take the weather item, for instance: the information is shown in a menu, as menu entries .. even though they aren’t actions at all. And what category of notifier does it belong to? Applications? Sure isn’t hardware, system or communications.

    It’s a complete misuse of the UI elements from top to bottom, whether we look at it from the perspective of the system tray / message indicator area itself or the use of menus for these things.

    Status notifiers, or “app indicators” as Canonical re-branded them, is a hammer. Not everything is a nail.

    Plasma can also put the weather in your system tray if you like (to take that example again), but it isn’t done by misusing status notifiers.

    With a reasonably decent applet API you can achieve the exact same results minus the atrociousness.

    Now, I agree that the current set of indicators you have make for great screenshots, but people need to use this software not hang it on their wall.

    :/

  • http://kamikazow.wordpress.com/ Markus

    Considering that the patches have not been upstreamed (no, not Ayatana is the upstream, GNOME is) I don’t know any reason why any GNOME application author should even support a protocol that can only be used in Ubuntu and no other distro around. Distributors certainly have better things to do than to spend all day checking every other distributor’s private SCM repo for some patch he was to lazy to upstream to GNOME.

  • Krzysztof Klimonda

    Inconsistency has always been only one of two major problems with Notification Area.

    The second one was that people were putting everything into it – because it was the easiest way to present user with easily and globally accessible actions. And now I see people doing exactly the same with indicator-application – only now they don’t write it into fully-fledged applications but instead write small applications that use only indicator-application as the user interface.

    Seriously, that is something to be happy about and to promote? Is this where are are heading with post-release applications, quickly and the “opportunistic developer” initiative? More tiny applications that are written over a weekend and don’t conform our user interface guidelines?

  • jorge
  • jorge

    Sigh I fail at basic html, sorry. :-/

  • Krzysztof Klimonda

    We’ll obviously never be able to tell people what to do but we may, at least, not promote those applications and the whole movement as its something we all like and care about. We could create a webpage where we gather all info about the platform we are advocating. Or even better, work with GNOME on that one. A place where developers can check what is the status of the latest library – where is it already available, what new does it provide. A place where they can learn that HAL is being removed and what to do to prepare for this – what replacement is being prepared, how to port his software for it etc. A single location for all User Interface guidelines. A place to discuss both usability and technical part of developing an application. Oh, better tools for developers to write, debug and profile their applications? ;)

  • jono

    I agree that there will always be misuse of parts of an application developer stack, but the goal of this blog entry was not about encouraging misuse but showcasing how people have been inspired by the technology.

    We do have a set of Design Guidelines at http://wiki.ubuntu.com/CustomStatusMenuDesignGuidelines that advise suitable usage, and course, it is up to the user if they choose to use one of these apps.

  • jorge

    Markus,

    Please point out to me patches that we’re currently shipping in Ubuntu for application support that are not sitting in GNOME bugzilla.

    Also, none of these are sitting in a “private SCM” anywhere, AND the library has fallback so that application authors can support the feature and still work fine in a distro that doesn’t have it. Please see Transmission’s support for a good example on how this works.

  • http://www.ps3linux.fr Miles

    How about making the desktop-switching applet wider and craming in big, nice live previews?

    http://img26.imageshack.us/img26/4166/gimped.jpg

    Previews could even use compositing for a nicer view of running apps, and the applet could allow to rearrange desktops order (drag to switch viewports order) and even to drag and drop applications windows.

  • http://www.ps3linux.fr Miles
  • Simon

    Sent upstream is quite a different matter from accepted upstream. And that upstream Gnome has rejected the app-indicator patches suggests that not everyone agrees with the approach Ubuntu is taking.

  • Simon

    That might have been your intention, but it doesn’t help that every single one of your examples are a clear abuse of the framework. None of them are actually application status indicators – they’re mini applets. Look at the weather one, for god’s sake – they’re using a dropdown menu as a way of displaying a bullet-point list….

  • Eddward

    That post and the comments seem to illustrate a problem (or at least a perceived problem). It appears that Fedora and the like have a reputation of cooperating and collaborating with upstreams when proposing updates. It appears as though Ubuntu seems to dictate.

  • Diorama Yuanito

    Wow ! Awesome !

  • Johan

    I really don’t see the problem. If this is something that people want to support, then they will support it. And considering the fact that a lot of people seem to be jumping aboard this train, maybe Gnome should accept the features?

  • abba abba

    What I really don’t get is why they are grouped together. When I use my mouse to select the shutdown button, I can not scroll to the mail button, but only the ‘user’ button. Why, oh why…?

  • http://alexandrubucur.com CoolGoose

    Seriously people should stop bitching. Canonical is fixing crap that has been on the bugzilla of gnome for a shitload of time.

    A solution is a valid one as long as there aren’t any other available.

    At least they are doing something for improving the desktop, and not just having “ideas” and “plans” that aren’t achieved anytime soon.

    oh noes, gnome doesn’t like the new indicators, did they do anything until now to improve the situation ?

  • M.

    @CoolGoose: yes, they are working on that. Simply, they aren’t working on a panel that is DEPRECATED and that won’t be a part of GNOME 3. That would be quite pointless.

    Anyway, I actually agree with Aaron. I don’t want to bash your work with the indicator applet, but, HEY!, it’s really being misused! That desktop switcher, the new weather applet, the clock, etc., are a nonsense. Are you sure it’s a great idea to make every panel applet a NOTIFICATION? Because in fact, that’s what you’re doing. I don’t know if this is intentional or not, but I think this is becoming a mess.

    M.

  • thorbenb

    Does that mean Canonical should not go the way they believe is right, just because not everyone (in this case: Current Gnome Developers) seem to disagree? There’s certainly a lot of people who do agree with the approach Canonical is taking for Ubuntu, too.

  • Chris

    Excuse me, CoolCoose, but this is not fixing stuff; this is breaking it in new, creative ways.

    And yes, GNOME 3 features a true ‘fix’ to all that mess:

    http://www.omgubuntu.co.uk/2010/02/few-new-features-in-gnome-shell.html

    http://www.omgubuntu.co.uk/2010/04/gnome-shell-system-status-area-mockups.html

  • James

    And if the new solution is just as bad as the old one from a consistency pov, why bother?

  • nnonix

    Funny, they forgot to mention the fact that while you are free to view/modify/distribute the code, you’ll be ridiculed for doing so, told your changes are without merit, informed that you should let the goals of “upstream” determine your own and labeled a traitor if you don’t agree.

    Sounds like religion to me.

  • Simon

    @Johan – and yet, all the cited examples are things that clearly (and massively) breach the guidelines on how to use app-indicators. They’re a bunch of ugly hacks, which shouldn’t be highlighted if you’re trying to convince the world that this framework is a good thing.

    Aaron’s right – this is demonstrably a backward step, and I think Gnome are right to reject those patches.

  • Chris

    What you are reciting is the license for the source code; the license doesn’t say the GNOME maintainers will enthusiastically welcome your ideas.

    The correct way to go about it, if you want the project to adopt something, would be to discuss things in the appropriate GNOME mailing-lists.

    But Canonical know very well that what they have done here will NOT be included in GNOME 3 because it clearly violates its design guidelines.

    Why are they doing it all the same?

  • Ludovic Danigo

    Because they think that a good differentiator to compete against Redhat and Novell. Moblin and UnbutuME opened the can of worm for net book, Android is even more fragmented for the smartphone and now Canonical is bringing fragmentation to the next level, the desktop.

    I started with Warty but I’m progressively switching to Fedora. Redhat as always been respectful of upstream. Canonical is having the We_know_better_and_dont_even_want_to_dicuss_it annoying attitude.

    Because their the most popular distribution they think that ubuntu community supersede GNOME’s. They wrong. At least it’s how it feels to me.

    At least back in the days, when Easel, Ximian and Redhat competed against each other, communication channel stayed opened. It doesn’t feel like it anymore with Canonical.

    The problem is, Canonical’s attitude is ‘inspiring’ some devs and then upstream then has to explain lengthily what upstream integration is and that it doesn’t mean total rejection. Looking at you Zeitgeist, you understand fast but it is necessary to explain them for a long time.

    Yeah the tone of the comment is hard. As hard as disappointed. Canonical must understand that upstream rejection is not just Redhat’s or Novell’s, part of GNOME community that is not affiliated is also rejecting that attitude.

    End of the rant :-) No hard feelings against any one. Just an opinion.

    No animals and (hopefully) no dev where armed during this already too long rant.

  • http://canvas.oriu.net/time-out-mini-rocking/ Canvas Blog

    Time Out Mini Rocking…

    [...] spectacular. Canonical has taken an attempt at improving the system tray area which has historicall [...]…