Single Instance Gnome Panel Notification Area

Registered by Josh Leverette

In Lucid Lynx we have issues with loading the Desktop in its allotted time. I have a proposition that would require some code changes to the gnome-panel and critical applets, but should be efficient and effective. On Mac OS X, when you log into the system, it takes less than 5 seconds to get all the applets loaded as well as the dock and desktop. On Ubuntu, well, let's just say its no where near that. Somewhere around 12 seconds on a fresh install of the latest alpha. After I've been using my system for awhile, log in times go up dramatically. This is simply unacceptable if we are to attain and maintain our goal of 10 second boot. So, the proposition is this: On the first boot, (or while installing) the system would save a working copy of the notification area from RAM directly to disk. This copy would then be reloaded into the RAM on boot and executed as if it had been there the whole time when a user logs in. This way the applets don't have to work to be loaded. If Ubuntu notices a change in the hardware config, it should probably reload the applets from scratch and save the new RAM copy to disk. There could be a command to force this refresh as well. The idea here being that user applets (such as Ubuntu One) would still be loaded each time, but the major applets (network, volume, battery, user switcher, main menu, indicator applet, date/time, window switcher) would be "preloaded" in a very real sense. If accomplished, the performance gains from this would be amazing. I, however, have never attempted to write code that would accomplish this task, but I don't believe it would be *too* difficult. Furthermore, each user that logs in would get a new copy of the RAM save, so that there would be in a sense only a "single instance" however, this instance would then be applied multiple times.

Blueprint information

Not started
Needs approval
Series goal:
Proposed for lucid
Not started
Milestone target:
milestone icon lucid-alpha-3

Related branches



[djsiegel] This sounds needlessly complicated. It might be better to save only the icons of the applets that the user will be running, so at login all proper icons are loaded immediately while the applets are loaded either lazily and/or asynchronously. As far as the user is concerned, the panel and its applets would appear to load instantly, and no convoluted swapping is required (the swap-to-RAM scheme you propose would be tremendously difficult to pull off given the multiprocess nature of indicators served over dbus).


Work Items

This blueprint contains Public information 
Everyone can see this information.