legacy applications (using system tray) do not work in unity without a porting effort

Bug #773979 reported by Sergio Callegari on 2011-04-30
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
libappindicator (Ubuntu)
Low
Unassigned

Bug Description

Having an eeepc, I like to use eee-control a small python application that drops an icon in the system tray from which you can control your specific hardware (clicking opens a menu to do so). For instance, you can activate and deactivate the camera, change the clock rate, switch on and off the wifi, etc.

Now, this application (and I guess most applications using the sytem tray) is completely unusable in unity, since the icon does not show at all in any part of the screen. A way of still using applications designed before unity should probably be provided.

Phuah Yee Keat (ykphuah) wrote :

I am also using workrave, which uses the system tray to let me switch between quiet mode or normal mode to prevent my RSI injuries. It is not possible to update any settings at all from the Launcher and its a pain to go to the launcher everytime.

IKT (ikt) wrote :
affects: ubuntu → libappindicator (Ubuntu)
Sebastien Bacher (seb128) wrote :

eee-control needs to be ported to an indicator, not really a bug

Changed in libappindicator (Ubuntu):
importance: Undecided → Low
status: New → Invalid
Sergio Callegari (callegar) wrote :

Sorry, I really do not understand the logic of this.

If one does not use eee-control, having it or having it not blacklisted makes no difference and does not break the unity experience at all. If one uses eee-control, having it not blacklisted makes it usable without messing with gconf.
Exactly the same reasoning that I guess brought to the whitelisting of the hp-tray.

I would push this reasoning forward. What is the reason for having all apps using systray blacklisted by default and only some exceptions whitelisted? This breaks the user experience for all that still depend on old applications. I think it would have been much better to have all apps whitelisted by default, and blacklist those for which the transition to the indicators is completed.

Otherwise, either:

1) the unity interface refreshening actually means that for too many things *the interface is gconf* and that novices should be prepared to learn it if they want to use ubuntu (as the blossoming of tons of blogs such as the one by IKT proves) or

2) users should receive in advance a friendly warning that anyone needing now or perspectively to rely on apps that are not explicitly ported to ubuntu should not use ubuntu, but at best one of its variants.

Please remember that apart form eee-control, there may be tons of people who perspectively might need to use some commercial/legacy/cad/whatever application that was designed at a time when there was a system tray and that unfortunately will not change in a release cycle timeframe.

Thanks anyway!

summary: - applications using system tray do not work in unity
+ legacy applications (using system tray) do not work in unity without a
+ porting effort
Sebastien Bacher (seb128) wrote :

The notification area has been deprecated in favor of the indicator in Ubuntu for over a year which let time to application writers to upgrade their code, those icons don't behave in a consistant way and are an issue for the user experience, the whitelist is to accomodate the transition but it should be dropped in the next cycles and going through manual review of applications which have an issue allow building a list of what needs to be done and re-enforce the message to application writer that they will need to update their code if they want it to work correctly in Ubuntu in the next cycles

Sergio Callegari (callegar) wrote :

Thanks for the explanation.

I see the point, but I still find that the rationale at best incomplete.

Assume that there is an offending application A (legacy, commercial, cad, simply old like eee-control, etc).

- if one has not installed A, sticking to what is in the ubuntu official repos, it does not make any difference if A is blacklisted or not. Blacklisting it does not change the user experience, because a non installed application cannot result in unconsistent behavior of any sort

- if one has installed A, having it whitelisted means that the user will get some minor unconsistent behavior. However, having installed something that is not official he should be obviously prepared to it. And in any case, from the very notification area he should immediately spot what is the offending application. Conversely, having everything blacklisted by default means one of the two:
1) if the user is lucky, A does not run at all.
2) if the user is not lucky, and this is the most likely case, A will run anyway, with the catch that it will not be able to provide any important notifications to the user. In my case, I simply could not realize that eee-control was running. I was seeing the machine extra-sluggish and thinking that natty was to blame. As a matter of fact, the issue was that eee-control-daemon was running and setting the machine to extreme powersaving. But of course I could not get any feedback on that. I wasn't even aware that eee-control was running. I had to use use ps to realize it (and a standard user should not be expected to be able to do that). Even worse, imagine a scenario were a legacy backup application tries to use a notification to activate/deactivate some "extra-dangerous-overwrite-mode" or a cloud service to say "syncronization to the cloud failed". What if there is around some perfect (but not ubuntu compliant) disk cleaning application that periodically wipes part of the home, with a behavior that is selectable via the notification area? Can one definitely exclude that there is something like that on the net and that a user will not run the risk of much more serious misbehaviors or data losses because of the blacklisting?

So, rather than merely blacklisting, please at least assure that when a blacklisted application tries to notify something, a standard notification appears saying "App so and so using the old notification protocol. This is deprecated and turned off by default. Use gconf if you want to whitelist the app" or something like that.

Ryan Farmer (ryanfarmer) wrote :

"Those icons don't behave in a consistant way and are an issue for the user experience."

Sebastian,

This is exactly the reason Indicators are a solution looking for a problem. Most operating systems have had system trays for years. These system trays all work pretty much like the one in GNOME 2 (which Unity is still using, only with this insane "whitelisting" approach".

The removal of this system tray functionality actually ruins the user experience. When you close Xchat, it disappears because it has nowhere to go to. It thinks it is running in the system tray but Ubuntu has hidden it, it it is still open and the user can't shut it down without kill -9. The "indicator" applet for XChat is broken and fails to behave as a replacement for the system tray icon. The user will just click it presuming the first instance is still running and it will open a second Xchat.

The problem is there with Banshee too. Once you open it there seems to be no way to close it. It refuses to close, it stays running in the "sound menu" until you log out or, again, bust out kill -9.

This combined with the hourly random freezes (which is a whole different issue entirely) are why I used Unity for less than a day before I snapped and went back to KDE. Unity is unusable and replacing worthwhile things like the system tray with proprietary Ubuntu replacements that do exactly the same thing, only broken, doesn't help your user experience, at all.

dan the person (dantheperson) wrote :

Totally breaks the user experience for many applications. An icon that behaves inconsistently is better than an application running in the background with no UI and no explanation to the user why it has apparently failed to start.

It also seems like ubuntu is going down it's own parallel world here.

If there is a need for this, why isn't freedesktop.org running with it? Seems application developers now have to choose or support both the standard way of doing things, and also the ubuntu way. Embrace and extend....

Matthew Paul Thomas (mpt) wrote :

Ubuntu and KDE have standardized on the same indicator API, so the "the standard way of doing things, and also the Ubuntu way" are one and the same thing. The reason freedesktop.org hasn't adopted it is that Gnome designers decided they didn't want third-party applications in their panel at all, whether using the notification area or any other mechanism. <https://live.gnome.org/GnomeShell/Design/Guidelines/MessageTray/Compatibility> If anything, it is Gnome that is in its own parallel world, not Ubuntu.

Sergio Callegari (callegar) wrote :

I am not an user of gnome 3, so what I am just asking may be obvious to others.

You say "Gnome designers decided they didn't want third-party applications in their panel at all".

Does this mean that apps like skype, wuala, jitsy that require system tray icons cannot be used at all in gnome 3? I cannot believe this. Does this mean that gnome 3 whitelists specific applications like ubuntu does? This also seems strange to me since it means that any app that the developers forgot to whitelist results broken.

Indeed, it is this the main issue with ubuntu. Breaking all those applications that are not whitelisted and handling to the user the responsibility to fix the whitelist by using textual tools that are by no means friendly to the unexperienced ones.

So in case gnome has a better strategy to the 'blacklisted by default, explicitly whitelisted', probably ubuntu should consider it.

At least why not using an auto-whitelisting?

For instance. I need to run app XYZ that is not whitelisted by default. The first time I run it and it tries to set up an icon on the system tray, I get a notification like "Application XYZ trying to use the system tray. This is deprecated and the application should be fixed. Consider filing a bug report about the application. In the meantime Ubuntu will work around the issue". After this, the application gets automatically whitelisted (possibly with a timing mechanism... e.g. whitelisted for 30 days).

Sergio Callegari (callegar) wrote :

Also note that at the best of my knowledge, whitelisting is broken in Unity 2D, which makes many applications completely unusable.

Matthew Paul Thomas (mpt) wrote :

I'm not an expert on Gnome Shell's behavior, since I don't use it. I'm just going by what their developers wrote.

Auto-whitelisting the way you describe would be equivalent to having the old-style notification area, plus a notification when an application first launches, plus notification area items disappearing weeks after the application was installed. I'm fairly sure that there would be no understandable way of wording the notification that people would understand. (If explained in enough detail, it would be too long to bother reading. And suggesting that the user report a bug would be the software equivalent of breaking the fourth wall.) And a notification area item disappearing weeks later would seem capricious.

I just checked with the Unity 2D maintainer and he verified that the whitelist works there.

Sergio Callegari (callegar) wrote :

Well... sad news... unity 2d does not respect the whitelisting. Bug #847525 reports fix committed, but it does not seem to be fully delivered in actual packages. Or maybe the whitelisting works with 'all', but not with the application names. Or maybe it wants a completely different whitelisting than the one that works for unity... who knows... all this stuff seems to be completely undocumented.

And still I really wonder why running common stuff like skype, wuala, parcellite, jitsi, (I could easily enlarge the list) that is declared linux-friendly needs to be such a pain. I cannot believe it takes me less time to set up a ppa with a driver to talk to an unsupported photo printer such as the SPP2040 than to run jitsi in unity2d. Cheers to the user experience.

Why cannot unity people understand that for an ubuntu user getting girlfriend/friends/relatives upset because they cannot run wuala and annoyed at the fact that you do not want to use computers in a 'sane way that just works' is a stressing experience? ;-)

Matthew Paul Thomas (mpt) wrote :

I'm not one of the "unity people" either. :-) Which is all the more reason that if bug 847525 is still present in an Ubuntu Pangolin daily, you should reopen it with precise steps to reproduce the problem. Discussing it in a separate bug report is unlikely to help.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers