R.I.P. Applets?

Nelson Creek grave by Canterbury Heritage. License:
One thing that concerns me about the new shiny GNOME Shell is that there are no clear plans to support applets/widgets. Although it has been discussed previously nothing has changed as far as I can tell. In my opinion it's a big flaw if a modern desktop environment provides no easy way to extend it via applets. All the major desktops currently provide a way to do this, so what's the reason that GNOME Shell decided to not to. The only people that seem to care about this issue are Sandy Armstrong of Tomboy and myself.

If the current situation doesn't change that means that Deskbar-Applet is definitely going to die. To be honest, I already spend minimum time on Deskbar-Applet during the last release cycle but this issue makes me feel like no body cares about applets anyway. Would someone actually care if Deskbar-Applet is not part of GNOME 3.0? I was told that GNOME Shell can be extended with JavaScript, but that's no solution. I'm sure neither me nor the Tomboy developers are willing to re-write their application. The "solution" proposed in this blog post sounds hackish to me, a temporary solution at best. It's not about Deskbar-Applet or Tomboy itself, the problem is that a framework to extend the shell with applets/widgets is completely absent.

So what will it be? R.I.P. applets?



There is a lot of functionality that is going to entirely disappear without applets. Things like hamster, mousetweaks, or charpick are absolutely impossible to implement without applets. Not to forget quick launchers will disappear as well.

Even worse, this will lead to unprecedented abuse of the notification area, which will be used for anything but notifications if applets can’t be implemented.

In reply to by Np237 (not verified)

Not to forget quick launchers will disappear as well.

I think Gnome Shell's application well on the left is intended to provide quick launcher functionality.

In reply to by Ploum (not verified)

I only read it fast, but it seems to summarize what I think and exposed a while back:

I'm worried about the disparition of the applet framework too, even if the side effect of getting rid of bobobo at the same time is nice. But I like applets. And I'll miss the music-player applet. And what will be of Hamster-applet ? And all these applets people love ? I don't think it's a good idea to tell everyone to throw out their code, while the applet concept is still relevant IMHO. And even more if we have no alternative to propose.

In reply to by Np237 (not verified)

There is barely a functional or aesthetic difference between most optional GNOME panel applets and a system tray icon. The chief exception (Deskbar) is not worth hanging on to a bad desktop metaphor (arbitrary random UI in the main panel) for.

That's fate, and Deskbar, good as it is, might just have gotten the short stick. Deskbar always walked that line between "simple applet" and "add-on to the desktop environment", and now GNOME Shell has duplicated that basic functionality (keyboard search and access) in a similar but incompatible way.

Volume Control, Brightness, Tomboy. The rest of them were all just glorified system tray icons. The vast majority of use cases are still covered here.

The days of "random UI widget stuff" directly in the main panel must end, for consistency and usability. Custom embedded applet UI needs to die.

You know what everyone hates on Windows, even worse than system tray icons? Crappy applets that embed "Yahoo Search!" into their taskbars.

[And that means that even a decent one - Microsoft's integrated Windows Search - made the best of bad UI design. It was better when they finally took it out of the taskbar in Vista and Windows 7.]

In reply to by twilightomni (not verified)

Currently SCIM support is missing. Without an SCIM applet, you're required to memorize keyboard change keystrokes. And if you don't know the keystrokes on a particular system, you're SOL. Ditto for the accessibility applets. How about the network signal app?
There are tonnes of similar useful applets.

In reply to by Anonymous (not verified)

You don't need 'applet support' for those, again. SCIM and Network manager are glorified system tray icons - a graphical indicator, and a menu. There's nothing there that requires custom applets. [I'm not arguing that System Tray spam is great. I'm saying that applets are even worse.]

Accessibility -does- need to be implemented, yes. But that's a separate topic from applets.

The people who need serious applet support are those who want to make a significant UI addition to the desktop. Most real applets today don't. The potential was never used.

And the ones that do (Deskbar, Clock & Calendar, maybe one or two others) are being duplicated in Shell, or moved out of the traditional panel entirely (like GNOME Do). Arguably any good UI idea SHOULD be incorporated into the desktop, rather than patched on top of it.

Developers, on the whole, have not revolutionized the GNOME desktop with applets. It would be better to integrate the good ideas into the Shell, rather than to bog it down with a patchy applet framework.

GNOME 2's applet framework can't last forever, and developers will never -voluntarily- move away from it. It must eventually be declared obsolete.

The best place for applets / gadgets will be in the bottom panel, with the autohide. Would also be a good expansion of the upper panel by pressing the down arrow. Somethink like gnome-do or android upper panel but with 25 - 50% height of screen.

You can't expect to make things better and still do the same old thing you were doing. So there will be rewrites, there will be thrown out code, and I personally think, that this is premature screaming. Having had some experience with JavaScript/XUL, I also don't see how "that's no solution" is an argument. I also don't think anybody expects you to code everything for Gnome in JavaScript from now on.

Although somebody has to voice the problems, i think we have to give Shell guys more time and space and eventually we all will figure out how to answer the problem of how to extend desktop properly, together. They don't have to start with "extendable by design" idea in their heads to make this happen.

Ah, and on a totally unconnected note - links in your blog are hard to distinguish from the rest of the text.

In reply to by tm (not verified)

I'm fine if some adjustments would be necessary, but re-writing the application in JavaScript won't work because Deskbar-Applet is quite big and I'm the only active developer. Therefore, a re-write would take a considerable amount of time, which I don't have.

Like it. Hate it. This big insult on our user's intellect, this assassination attempt on GNOME's core functionality will happen. It has too many big people behind, whereas nobody even tries to pickup maintainership of the old panel.

So what can you do? Well, the typical thing: Let code speak and push it into a direction you like. It's all just code, so it should be possible to add support for legacy applets. It should be possible to make lauchner locations customizable, to rip out this crap nonsense called "activities". As you see: I hate this GNOME shell with passion.

I absolutely hate it, that I don't have the time to fix this mess. Well, but hopefully some people will be able to fix.

Well, and hopefully the current heads of the GNOME Shell band will accept contributions going into different direction than their own vision. We don't need fragmentation in this area. There are too many little panel projects already. Just imagine all this effort would have been joint.

As great as Gnome 3.0 is shaping up, the more I hear about it the more I think it will ultimately be put back 6 months. There are just way too many important aspects which the developers seem to be shrugging their shoulders over, with a big fat "I dunno". This is a good example of that.

What I would like to see in Gnome 3.0 is large, beautiful widgets like Mac dashboard.

GNOME has been overtaken by a bunch of morons whose hubris is only exceed by their technical incompetence. The day I can't use panels in Ubuntu any more I'll be switching to Mac OS. So I don't really care if applets make it into GNOME Shell or not, but removing the Bonobo code and moving them to the notification area should do the trick?

I was a big KDE fan, but I'm starting to love Gnome shell. I don't care too much about applets or plasmoids to be honest and I like the direction Gnome Shell is going, after I cursed it for months and I said GTK+ must die, but Gnome-shell will be more sane overall, will have a constant look on every machine (seen mates doing nasty things with KDE, customization is neat, but maybe it's better to die so that ISP companies can finally support linux and say stuff like "in the upper right corner right click the network manager etc"); and plasmoids in KDE as well as panels are too much to fiddle with, not cool.

So keep up the good work Gnome Shell devs! (somebody should limit the number or virtual desktops you can make and add the functionality to delete all the empty virtual desktops, because I clicked like a mad man on the "+" button and made a lot of them and spent lots of time to delete them).

Thank God they are getting rid of them. There may be a lot of code and functionality in the old system but it was a horrible way to display a program running in the background. I hope they don't just re-implement the old Windows 95 way but take a fresh look at it from a users point of view.
How would most people want to quickly open up a background program.
Why are all applets so fricking small when opened?
Does every program HAVE to have a applet just in case or can you generalize it and make any program you want pinned to the tray/Dashboard/Widget Space?
Should they just place them all as a stack of icons on a separate workspace?
Just my view :D

I don't use applets, mainly because Tomboy on Ubuntu Jaunty seems to be happier in the notification area than as an applet. But I agree Deskbar Applet is important. Maybe you should talk directly to the GNOME Shell people. Just like there's some integration with Tracker for file searching, there should be integration with a swiss army tool (which by the way could make other applets useless). But then there's Gnome Do, another very useful swiss army tool... If we want real integration we'll need to pick sides.

Does Gnome 3 still have a Systray (ie. support for the Systray protocol as implemented in Gnome 2, KDE, IceWM etc.)? If so, maybe porting Deskbar to use Systray would be a solution for the applet problem, with the very nice side effect of making Deskbar also work with other desktops.

I was at summit and discussed applets extensively with Owen. I'll be blogging this soon (probably tomorrow).

As mentioned in the email you linked, Owen wants to encourage a model similar to Firefox extensions. So yes, the main UI entry point to your applet (or whatever we call them) will be javascript. But rewriting your whole app would not only be unnecessary, it would be actively discouraged. because all of this javascript is running in one process, so any work you do would slow down the entire shell.

Instead, it would make more sense to do the work in another process and have your shell UI element communicate with that process via dbus.

I'm a few versions behind, but in my version of Deskbar the only panel applet part is an icon which, when clicked, shows the input area below it. You could definitely reproduce this exact behavior in shell very easily. You could write some simple javascript that put the icon in the top panel, and when you clicked, you could send the deskbar process a dbus API call (maybe specifying the icon location), causing it to show the input area.

The only downside to this approach is that (currently) it would not work in the overlay view...in that case you would need a more extensive dbus api and you would need to implement more of the UI in javascript/clutter.

So this is all doable with not *too* much work. The real problem is that this style of integration with shell would be largely unsupported, without a stable API to depend on (at least at first). Again, as discussed in the email, the shell team wants to take functionality from applets that currently exist as a crutch for broken/inferior UI in GNOME 2, and "do them right" directly in shell. So in the case of Deskbar, the search in shell's overlay is meant to cover a lot of the same use cases, and it's unclear to me where Deskbar fits into the GNOME 3 picture. :-/

In conclusion: Deskbar can be done as a sort of applet in gnome-shell, but it's not clear that it would add as much value as it did in GNOME 2. I say this as somebody who does not regularly use gnome-shell or Deskbar, so I could definitely be missing a few things.

And as for where Tomboy fits in here, I am still trying to figure that out, too!

The biggest problem is applets are built on Bonobo, which is being killed for 3.0. desrt re-wrote applets in dbus for Summer of Code some years ago, but it was never merged.

I'm really sorry about the death of the applets – however it seems to be decided a long time ago. Until now I didn't notice, but in 2011 I've seen the first consequences in wheezy … Deskbar-applet seems to be broken? For my desktop it is some kind of disaster, because now I need more space for dictionary-applet … which isn't an appropriate replacement at all.

So – even if it won't change anything - I'd like to tell you, there are some others which are really concerned about the missing applets … I'll miss them.

(Sorry – I've no idea if it is possible to understand my english brabra)