During a keynote at the Ubuntu Developer Summit in Belgium, Ubuntu founder Mark Shuttleworth unveiled a new lightweight user interface shell called Unity. The new shell is designed to use screen space more efficiently and consume fewer system resources than a conventional desktop environment. It will be a key component of the Ubuntu Netbook Edition and a new instant-on computing platform called Ubuntu Light.

The Unity environment eschews the conventional GNOME panel configuration. It includes a dock-like launcher and task management panel that is displayed vertically along the left-hand side. The top panel will house application indicators, window indicators, and the menubar of the active window. Moving the menu out of individual windows and into a global menu bar will reduce wasted vertical screen space, leaving more room for content.

Window indicators (windicators) are a new concept that Shuttleworth introduced in a blog entry last week. Designed to help reduce the need for status bars, they are interactive icon-based widgets that are specific to a window. They can be used to signify that an operation is being performed, notify the user of application events, or to control application status. For example, you could use a windicator to display a progress spinner when a program is loading data.

In the standard Ubuntu desktop user interface, windicators will be placed on the right-hand side of the window title bar—a region that is currently empty due to Canonical's decision to move window management buttons to the left-hand side in Lucid. In the Unity environment, the windicators and window management buttons will be able to merge into the top panel when the active window is maximized. This is yet another technique for increasing the amount of available vertical screen space.

The Unity environment utilizes several key components of the GNOME 3 user experience. It uses the Mutter compositing window manager and the Zeitgeist activity logging engine. The Unity launcher is built with Clutter, the same rich graphics framework that is used to construct GNOME Shell. Although much of the underlying technology is similar, the Unity user interface is a completely distinct implementation and doesn't use any code from GNOME Shell. Shuttleworth contends that the Unity launcher is intended to complement GNOME Shell, offering similar characteristics but specifically tailored for lightweight computing.

Ubuntu Light

One area of the desktop market where Linux is increasingly gaining traction is instant-on computing. Companies like Phoenix and DeviceVM offer embeddable Linux environments that boot almost instantly and are shipped by hardware vendors alongside regular Windows installations. These instant-on environments are generally designed to give users quick access to e-mail, web browsing, and instant messaging. Ubuntu Light is aimed squarely at that market.

Individual builds of Ubuntu Light will be tailored to specific hardware for OEMs, meaning that it will not be installable as a general purpose Linux distribution. Hardware vendors that adopt Ubuntu Light will be able to choose between the Unity environment and or a full GNOME desktop. It is intended to be used in a dual-boot configuration on Windows systems. Shuttleworth views this as an opportunity to boost the visibility of Linux in markets that have traditionally been Windows-centric.

"Over the past two years we have made great leaps forward as a first-class option for PC OEM's, who today ship millions of PC's around the world with Ubuntu preinstalled. But traditionally, it's been an 'either/or' proposition—either Windows in markets that prefer it, or Ubuntu in markets that don't," Shuttleworth said in a statement. "The dual-boot opportunity gives us the chance to put a free software foot forward even in markets where people use Windows as a matter of course."

Hands-on with the Unity prototype

Ars got exclusive early access to the Unity prototype, which we tested on a Dell Mini 10v. When the packages are installed, the Unity environment can be selected from the session list in the GNOME login manager. The prototype includes the side dock and a limited implementation of the top panel. Some key features, such as windicators and Zeitgeist integration, haven't been developed yet.

The sidebar dock has a honeycomb-style backdrop and displays application icons in colored rectangles. The dock shows the user's actively running programs and favorite software. You can pin an item to the dock and turn it into a launcher by right-clicking and selecting the "Keep in Launcher" item from a context menu. The launchers will stay even after you have closed the program, making it easy to launch again later.

When you click a launcher, a glowing light will pulse behind the rectangle while the application is initializing. When an application is running, an arrow will appear on the left-hand side of its launcher button. A second arrow will appear on the right-hand side of an icon to indicate when the program is active.

At this time, the dock offers no special handling for applications that have multiple windows. Each application is represented by one icon, irrespective of how many open windows are associated with the program. Unlike Mac OS X, windows in Unity don't get minimized to the dock.

Unity's primary mechanism for window switching is Mutter's Exposé-style window selector, which can be activated by clicking the Ubuntu logo in the top left-hand corner. You can also get an Exposé-style listing of just the windows that are associated with a specific application by right-clicking an application's dock icon. This will display a contextual menu with various options in addition to showing the filtered window selector.

The dock itself can scroll, offering a relatively graceful solution to dock overflow. You can scroll the dock by clicking inside of it and dragging up or down. The user can rearrange the order of items inside of the dock by clicking and dragging a dock item to the right and then moving it to the desired position. The different behaviors for horizontal dragging and vertical dragging are effective, but take a bit of time to get used to.

The Unity environment doesn't make it easy to launch additional arbitrary applications. It has no functionality that is equivalent to GNOME's Applications menu or the comprehensive category-based launcher that is used in the current Ubuntu Netbook Edition. As a stop-gap measure, the developers have included a launcher item that opens the /usr/share/applications/ directory in the Nautilus file manager.

The dock still has some bugs and doesn't always successfully track the open applications. There are a handful of other minor window management glitches that we encountered during testing, like some cases where it doesn't hide the open windows before showing the Expose-style selector. The issues, and the general lack of completeness, reflect the fact that the Unity environment is still a work in progress. Much of the missing functionality will be added as the Unity environment matures. Shuttleworth believes that Unity can be made ready for Ubuntu 10.10, codenamed Maverick Meerkat, which is scheduled for release in October.

"It will be an intense cycle, if we want to get all of these pieces in line. But we think it's achievable: the new launcher, the new panel, the new implementation of the global menu and an array of indicators," Shuttlesworth said. "Things have accelerated greatly during Lucid so if we continue at this pace, it should all come together."

Our test of the Unity prototype leads us to believe that the project has considerable potential and could bring a lot of value to the Ubuntu Netbook Edition. Its unique visual style melds beautifully with Ubuntu's new default theme and its underlying interaction model seems compelling and well-suited for small screens. Users who want to get their hands on the prototype will be able to test it soon when it is published in a public PPA.