Designing Ubuntu

Jono Bacon, community manager for Ubuntu, explores the history of the distro's desktop design

System indicators

Although any application can employ this indicator technology to put an icon in the new notification area, there are some with icons that simply appear there all the time. These are referred to as system indicators, and include the sound indicator (with which you can control volume) and power indicator (which shows battery and charge details).

The design team chose to really focus on these, and there have been two additions that are worth mentioning.

In Ubuntu 10.04, the microblogging client Gwibber launched a new release. The Ubuntu design team felt that most users would want to tweet throughout the day, so a design was drafted for posting messages right from the Me menu.

As such, someone could be working away and feel like sharing something with the world – all they needed to do was click the Me menu. They could then type in a message and it would be broadcast to all the clients that had been configured (Twitter, Facebook and Identica, for example).

Another extra, and one of the most highly anticipated new features for the Ubuntu 10.10 Maverick Meerkat release, was an addition to the Sound menu. Many users would be listening to music while working, and would only interact by skipping tracks and other transport controls.

The story of design and ayatana in ubuntu sound menu

RHYTHMBOX: Playback supports Rhythmbox and will work with banshee before long

As such, Conor Curran built support into the Sound menu so that people could see the current playing song and use the transport controls. It was a devilishly useful feature, and saved you doing lots of clicking to complete something fairly simple. Again, all of the indicators and features in the notification area used the same technology in the back-end.

Unity and the Global menu

At the Ubuntu Developer Summit in Belgium in May 2010, Mark Shuttleworth presented the Unity project; a new graphical shell that is designed around the requirements of netbooks. Horizontal screen space is limited, and it caters for the increasing number of touch-ready devices. Unity has a series of key components:

Launcher - This is a scrollable list of icons that appears down the left side of the screen. As the icons take up more space than the screen can display, a concertina-style wrapping technique is used, and when the mouse is hovered over the squeezed icons, they expand again. This provides an effective way of running many applications that can all be accessed easily.

Dash - This is an overlay that appears automatically when you click on the big Ubuntu button in the corner of the screen. It will be utilised by future designs, but today provides users with quick access to some common features, such as applications and new software.

Places - On the Launcher there are buttons for viewing different types of content (applications, files and trash, for example) with the same user interface components; this facility is called Places. The feature is entirely programmable, and developers can create new kinds of Places – in fact, the demo shows how you can use the unified search box to query YouTube and display videos inside Unity.

Indicators and notifications - All of the indicator work that has been shipping in Ubuntu is also harnessed by Unity and available in the top-right part of the interface.

The story of design and ayatana in ubuntu

ME MENU: Tweet from your desktop with just one click

A key goal with Unity has been to make maximum use of screen real estate, particularly with the original focus on netbooks. With this in mind, some work went into a Global menu project that uses the same infrastructure as the application indicators but to disconnect the menu from the application and put it in the top panel (similar to Mac OS X).

In addition to this, when applications are maximised, the window bar collapses into the panel and the window buttons appear in the panel next to the menu items. This saves a surprising amount of screen space.

Unity eventually shipped in the Maverick release, and while the design was generally well received, some Ubuntu users experienced significant problems on certain hardware. This was largely due to the underlying graphics subsystem. These performance issues are actively being resolved.

Ubuntu 11.04

Five months later, at the Ubuntu Developer Summit in Orlando, Florida, Mark Shuttleworth made one of the most significant announcements in the history of Ubuntu: on all hardware that could support it, the Unity interface will come as standard in the upcoming Ubuntu 11.04 release, codenamed Natty Narwhal.

For hardware that's unable to run Unity, a 2D fallback will be used in the form of the current twopanel Gnome interface.

This was huge news for Ubuntu and the upstream Gnome project. For the former, it was a significant move to a new piece of technology that should bring about an enhanced user experience and a unified touch-ready interface across a range of devices.

Some members of the Gnome project saw it as a blow, though. For some time now, a lot of work has gone into the Gnome Shell project, and it was felt that Ubuntu not supplying it was a sign of the distro moving away from Gnome. Some even threw out accusations that the move was effectively a fork of Gnome.

In reality, that's not true. Unity is a shell for Gnome, but not Gnome Shell. It's still a Gnome platform, and the next incarnation will come with all the components Gnome application authors need to make their software run out of the box. It will also still have all the Gnome apps users know and love.

The only change is that Unity will be the default shell. Unity is just a different shell, in much the same way others have created a different interface (MeeGo, for example). It's a different porthole through which you can look at the excellent Gnome platform.

With the announcement, accessibility became a a top priority. Currently, Unity has rather poor accessibility support (read: basically non-existent), and accessibility is a core ethos for Ubuntu. As such, Luke Yelavich from the desktop team was assigned to the DX group, who code Unity, to work on accessibility support.

He's supported by Gary Lasker and synced up with the Ubuntu Accessibility Team, who provide support in the form of testing, bug triage and outreach. Outstanding accessibility is a requirement for Unity if it's to feature in Ubuntu 11.04.

Quality is also a top priority. Neil Patel and the rest of the Unity team worked their socks off to get the interface ready for the 10.10 netbook edition, but despite their best efforts, some quality issues were highlighted and bugs were reported.

When the announcement was first made, the team believed they had bug reports for the majority of issues, and are spending most of their time in the cycle focusing on resolving these problems with quality.

Finally, although some people were worried that Gnome Shell would be completely lost and forgotten in Ubuntu 11.04, it is supported in the archives. While it won't be the default environment for Ubuntu, or come with the disc, we at Ubuntu believe that users should be able to get a top-notch Gnome Shell experience in our distro.

With the Ubuntu Software Centre providing simple one-click access to software, getting that experience up and running should only require one quick action.

Of course, when the news broke, a wide range of opinions were voiced, but the majority of them seemed to be cautiously optimistic. Essentially, people were saying: "If you can pull this off, it will be awesome." It seemed that most users had confidence in the design, but that some of the performance problems they experienced in the first release of Unity were making them a little nervous.

Hopefully, all the hard work that's gone into resolving these issues should restore people's belief in the latest version.

The story of design and ayatana in ubuntu touch ready

TOUCH-READY: The Unity interface is touch-ready, so it can work on a range of devices

Steven Vaughan- Nichols, a well-respected journalist who was at the Ubuntu Developer Summit when the announcement on Unity was made, summarised his perspective: "Can they do it? I think they have a shot. I do know that the traditional Linux desktop, much as I may love it, has reached about as broad an audience as it ever will. That said, the Ubuntu programmers have a lot of coding to do to make this happen. Then we'll see if Ubuntu has found a new way to popularise the Linux desktop."

Steven has hit the nail on the head. This is a big change, and it's certainly a risky one, but Ubuntu has a long history of hedging its bets in the interests of serving its users better. Ultimately, when all the journalistic assessments and community discussions have settled down, the true deciders will be the users; they will say whether the experience is compelling enough compared to the alternatives.

Wrapping up

The sheer level of design focus that has gone into Ayatana and ultimately featured in Ubuntu has been impressive. There have been bumps along the way, with code landing too late, decisions being made with less than optimal interaction between the community and the design team and some slightly irksome wallpaper choices.

However, this has been a learning experience for both the Ubuntu community and the Canonical designers. Bumps are fine as long as they act as learning opportunities, and that was the case here.

Ubuntu looks fantastic, the incoming change to Unity is starting a new era for design and it will be exciting to see how Ubuntu will look in another two years. With the design team, growing community and wide group of developers and testers, anything is possible.