Mark Shuttleworth
on 27 April 2010
In the netbook edition for 10.10, we’re going to have a single menu bar for all applications, in the panel.
Our focus on netbooks has driven much of the desktop design work at Canonical. There are a number of constraints and challenges that are particular to netbooks, and often constraints can be a source of insight and inspiration. In this case, wanting to make the most of vertical space has driven the decision to embrace the single menu approach.
It’s all about vertical pixels
Netbooks are conventionally small-and-wide-screen devices. A common screen format is 1024×600. There’s plenty of horizontal space, but not a lot of vertical space. So we’ve been lead to explore options that really make the most of the vertical space.
This is important because the main thing people do with a netbook is surf the web. And most pages will fit horizontally in a netbook screen, but they require quite a lot of vertical scrolling. The more we can optimise the use of vertical space, the more enjoyable it will be to spend time on the web, with your netbook.
In the first few iterations of Ubuntu’s netbook-oriented UI, we concentrated on collapsing the window title into the top panel. In 10.10, we’re going to put the menu there.
Only on the Netbook Edition UI
We’re going to put the menu in the panel on the netbook edition of Ubuntu, and not on the desktop edition, because that’s where the screen real-estate is most precious. There are outstanding questions about the usability of a panel-hosted menu on much larger screens, where the window and the menu could be very far apart. Those questions are greatly diminished in the netbook environment, by definition.
Also, the netbook edition has a reduced application load. That will reduce the number of applications we need to get this working on.
However, it will be straightforward to use this on your desktop too, if you want, and we’d encourage people to try with that configuration. The more testing we have early on, the better we’ll understand how it works with different applications. It will be easy to add to the standard desktop panel for people who want to try it out, or prefer to work that way.
Innovation: combining title and menu in a single panel
It’s not confirmed yet, but we will aim to go beyond what Apple and others have done with panel menus, to consolidate both the window title (and window controls) into the panel along with the menu.
By default, we’d display the contents of the title bar. When you mouse up to the panel, or when you press the Alt key, the contents would switch to the menu. That way, you’re looking at the document title most of the time, unless you move towards it to click on the menu.
In mockups and prototype testing, the result was a leaner, cleaner feeling netbook interface. Less clutter, less wasted space, and improved clarity of purpose. We’ll have to get running code in front of users to evaluate the usability of it and tweak transitions and presentation.
Generally, people use netbooks with a small set of applications running, all maximised. In that case, putting the menu in the panel will save 24 pixels, about 4% of the vertical space. Combined with other work on the netbook interface, we’re confident there is no better OS for surfing the net on your ultra-mobile netbook.
Under the hood: d-bus menu transport
The technical approach we are taking in this work is to build on the d-bus menu work that Cody Russel and Ted Gould have pioneered for our work on indicators.
Essentially, this lets us map a menu into d-bus space, where a different application can take responsibility for rendering it. The technology works across both Gtk and Qt applications, so we are confident that it will work for the common cases of GNOME and KDE apps running on the Ubuntu netbook edition.
Of course, there is a lot of work to be done to support applications that use different toolkits, notably the Mozilla suite of Firefox and Thunderbird, and OpenOffice.
And there will be many applications which need some thought as to how best to map the experience from the current world of “one menu per window” to a single, panel-displayed menu.
We’ve started working on this with the existing Global Menu project. While there are differences in the technical approach we want to take, that team has already identified many of the common issues, and there are great opportunities for us to collaborate. I’m looking forward to seeing the result in action in 10.10!