Unity, and Ubuntu Light

Monday, May 10th, 2010

A few months ago we took on the challenge of building a version of Ubuntu for the dual-boot, instant-on market. We wanted to be surfing the web in under 10 seconds, and give people a fantastic web experience. We also wanted it to be possible to upgrade from that limited usage model to a full desktop.

The fruit of that R&D is both a new desktop experience codebase, called Unity, and a range of Light versions of Ubuntu, both netbook and desktop, that are optimised for dual-boot scenarios.

The dual-boot, web-focused use case is sufficiently different from general-purpose desktop usage to warrant a fresh look at the way the desktop is configured. We spent quite a bit of time analyzing screenshots of a couple of hundred different desktop configurations from the current Ubuntu and Kubuntu user base, to see what people used most. We also identified the things that are NOT needed in lightweight dual-boot instant-on offerings. That provided us both with a list of things to focus on and make rich, and a list of things we could leave out.

Instant-on products are generally used in a stateless fashion. These are “get me to the web asap” environments, with no need of heavy local file management. If there is content there, it would be best to think of it as “cloud like” and synchronize it with the local Windows environment, with cloud services and other devices. They are also not environments where people would naturally expect to use a wide range of applications: the web is the key, and there may be a few complementary capabilities like media playback, messaging, games, and the ability to connect to local devices like printers and cameras and pluggable media.

We also learned something interesting from users. It’s not about how fast you appear to boot. It’s about how fast you actually deliver a working web browser and Internet connection. It’s about how fast you have a running system that is responsive to the needs of the user.

Unity: a lightweight netbook interface

There are several driving forces behind the result.

The desktop screenshots we studied showed that people typically have between 3 and 10 launchers on their panels, for rapid access to key applications. We want to preserve that sense of having a few favorite applications that are instantly accessible. Rather than making it equally easy to access any installed application, we assume that almost everybody will run one of a few apps, and they need to switch between those apps and any others which might be running, very easily.

We focused on maximising screen real estate for content. In particular, we focused on maximising the available vertical pixels for web browsing. Netbooks have screens which are wide, but shallow. Notebooks in general are moving to wide screen formats. So vertical space is more precious than horizontal space.

We also want to embrace touch as a first class input. We want people to be able to launch and switch between applications using touch, so the launcher must be finger friendly.

Those constraints and values lead us to a new shape for the desktop, which we will adopt in Ubuntu’s Netbook Edition for 10.10 and beyond.

First, we want to move the bottom panel to the left of the screen, and devote that to launching and switching between applications. That frees up vertical space for web content, at the cost of horizontal space, which is cheaper in a widescreen world. In Ubuntu today the bottom panel also presents the Trash and Show Desktop options, neither of which is relevant in a stateless instant-on environment.

Second, we’ll expand that left-hand launcher panel so that it is touch-friendly. With relatively few applications required for instant-on environments, we can afford to be more generous with the icon size there. The Unity launcher will show what’s running, and support fast switching and drag-and-drop between applications.

Third, we will make the top panel smarter. We’ve already talked about adopting a single global menu, which would be rendered by the panel in this case. If we can also manage to fit the window title and controls into that panel, we will have achieved very significant space saving for the case where someone is focused on a single application at a time, and especially for a web browser.

We end up with a configuration like this:

Mockup of Unity

Mockup of Unity Launcher and Panel with maximised application

The launcher and panel that we developed in response to this challenge are components of Unity. They are now in a state where they can be tested widely, and where we can use that testing to shape their evolution going forward. A development milestone of Unity is available today in a PPA, with development branches on Launchpad, and I’d very much like to get feedback from people trying it out on a netbook, or even a laptop with a wide screen. Unity is aimed at full screen applications and, as I described above, doesn’t really support traditional file management. But it’s worth a spin, and it’s very easy to try out if you have Ubuntu 10.04 LTS installed already.

Ubuntu Light

Instant-on, dual boot installations are a new frontier for us. 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 pre-installed. But traditionally, it’s been an “either/or” proposition – either Windows in markets that prefer it, or Ubuntu in markets that don’t. 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.

And it looks beautiful:

Ubuntu Light

Ubuntu Light, showing the Unity launcher and panel

In those cases, Ubuntu Netbook Light, or Ubuntu Desktop Light, will give OEM’s the ability to differentiate themselves with fast-booting Linux offerings that are familiar to Ubuntu users and easy to use for new users, safe for web browsing in unprotected environments like airports and hotels, focused on doing that job very well, but upgradeable with a huge list of applications, on demand. The Light versions will also benefit from the huge amount of work done on every Ubuntu release to keep it maintained – instant-on environments need just as much protection as everyday desktops, and Ubuntu has a deep commitment to getting that right.

The Ubuntu Light range is available to OEM’s today. Each image will be hand-crafted to boot fastest on that specific hardware, the application load reduced to the minimum, and it comes with tools for Windows which assist in the management of the dual-boot experience. Initially, the focus is on the Netbook Light version based on Unity, but in future we expect to do a Light version of the desktop, too.

Given the requirement to customise the Light versions for specific hardware, there won’t be a general-purpose downloadable image of Ubuntu Light on ubuntu.com.

Evolving Unity for Ubuntu Netbook Edition 10.10

Unity exists today, and is great for the minimalist, stateless configurations that suit a dual-boot environment. But in order embrace it for our Netbook UI, we’ll need to design some new capabilities, and implement them during this cycle.

Those design conversations are taking place this week at UDS, just outside Brussels in Belgium. If you can’t be there in person, and are interested in the design challenges Unity presents for the netbook form factor, check out the conference schedule and participate in the discussion virtually.

The two primary pieces we need to put in place are:

  • Support for many more applications, and adding / removing applications. Instant-on environments are locked down, while netbook environments should support anybody’s applications, not just those favored in the Launcher.
  • Support for file management, necessary for an environment that will be the primary working space for the user rather than an occasional web-focused stopover.

We have an initial starting point for the design, called the Dash, which presents files and applications as an overlay. The inspiration for the Dash comes from consoles and devices, which use full-screen, media-rich presentation. We want the Dash to feel device-like, and use the capabilities of modern hardware.

Unity Dash

The Unity Dash, showing the Applications Place

The instant-on requirements and constraints proved very useful in shaping our thinking, but the canvas is still blank for the more general, netbook use case. Unity gives us the chance to do something profoundly new and more useful, taking advantage of ideas that have emerged in computing from the console to the handheld.

Relationship to Gnome Shell

Unity and Gnome Shell are complementary for the Gnome Project. While Gnome Shell presents an expansive view of how people work in complex environments with multiple simultaneous activities, Unity is designed to address the other end of the spectrum, where people are focused on doing one thing at any given time.

Unity does embrace the key technologies of Gnome 3: Mutter, for window management, and Zeitgeist will be an anchor component of our file management approach. The interface itself is built in Clutter.

The design seed of Unity was in place before Gnome Shell, and we decided to build on that for the instant-on work rather than adopt Gnome Shell because most of the devices we expect to ship Ubuntu Light on are netbooks. In any event, Unity represents the next step for the Ubuntu Netbook UI, optimised for small screens.

The Ubuntu Netbook interface is popular with Gnome users and we’re fortunate to be working inside an open ecosystem that encourages that level of diversity. As a result, Gnome has offerings for mobile, netbook and desktop form factors. Gnome is in the lucky position of having multiple vendors participating and solving different challenges independently. That makes Gnome stronger.

Relationship to FreeDesktop and KDE

Unity complies with freedesktop.org standards, and is helping to shape them, too. We would like KDE applications to feel welcome on a Unity-based netbook. We’re using the Ayatana indicators in the panel, so KDE applications which use AppIndicators will Just Work. And to the extent that those applications take advantage of the Messaging Menu, Sound Indicator and Me Menu, they will be fully integrated into the Unity environment. We often get asked by OEM’s how they can integrate KDE applications into their custom builds of Ubuntu, and the common frameworks of freedesktop.org greatly facilitate doing so in a smooth fashion.

Looking forward to the Maverick Meerkat

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. Things have accelerated greatly during Lucid so if we continue at this pace, it should all come together. Here’s to a great summer of code.

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!

It’s time to put our heads together to envision “the perfect 10”.

This is a time of great innovation and change in the Linux world, with major new initiatives from powerful groups bringing lots of new ideas, new energy and new code. Thanks to the combined efforts of Google, Intel, IBM, Canonical, Red Hat, Oracle, Cisco, ARM, many other companies, Debian and other projects, a hundred startups and tens of thousands of professional and inspired contributors, the open source ecosystem continues to accelerate. We need to bring the best of all of that work into focus and into the archive. For millions of users, Ubuntu represents what Free Software can do out of the box for them. We owe it to everybody who works on Free Software to make that a great experience.

At the Ubuntu Developer Summit, in May in Belgium, we’ll have a new design track, and a “cloud and server” track, reflecting some major focal points in 2010. They will complement our ongoing work on community, desktop, kernel, quality assurance, foundations and mobile.

Our new theme is “Light”, and the next cycle will embrace that at many levels. We have a continued interest in netbooks, and we’ll revamp the Ubuntu Netbook Edition user interface. As computers become lighter they become more mobile, and we’ll work to keep people connected, all day, everywhere. We’ll embrace the web, aiming for the lightest, fastest web experience on any platform. The fastest boot, the fastest network connect, the fastest browser. Our goal is to ensure that UNE is far and away the best desktop OS for a netbook, both for consumers and power users.

On the other end of the spectrum, we’ll be lightening the burden of enterprise deployment with our emphasis on hybrid cloud computing. Ubuntu Server is already very popular on public clouds like EC2 and Rackspace, and now that Dell supports the Ubuntu Enterprise Cloud for private cloud infrastructure, it’s possible to build workloads that run equally well in your data center or on the cloud. We’ll focus on making it even easier to build those workloads and keep them up to date, and managing the configurations of tens, or tens of thousands, of Ubuntu machines running in the cloud.

It’s not all about work. We don’t just want to be connected to the internet, we want to be connected to each other. Social from the Start is our initiative to make the desktop a collaborative, social place. For the past five years, we’ve all been shifting more and more data into the web, to a series of accounts and networks elsewhere. Now it’s time to start to bring those social networks back into our everyday computing environment. Our addressbooks and contact lists need to be synchronized and shared, so that we have the latest information everywhere – from mobile phones to web accounts.

So there’s a lot to do. I hope you’ll join us in shaping that work.

Introducing the Maverick Meerkat

Our mascot for 10.10 is the Maverick Meerkat.

This is a time of change, and we’re not afraid to surprise people with a bold move if the opportunity for dramatic improvement presents itself. We want to put Ubuntu and free software on every single consumer PC that ships from a major manufacturer, the ultimate maverick move. We will deliver on time, but we have huge scope for innovation in what we deliver this cycle. Once we have released the LTS we have plenty of room to shake things up a little. Let’s hear the best ideas, gather the best talent, and be a little radical in how we approach the next two year major cycle.

Meerkats are, of course, light, fast and social – everything we want in a Perfect 10. We’re booting really fast these days, but the final push remains. Changes in the toolchain may make us even faster for every application. We’re Social from the Start, but we could get even more tightly connected, and we could bring social features into even more applications. Meerkats are family-oriented, and we aspire to having Ubuntu being the safe and efficient solution for all the family netbooks. They are also clever – meerkats teach one another new skills. And that’s what makes this such a great community.

Here’s looking at the Lynx

Lucid is shaping up beautifully, but there’s still a lot to be done to make it the LTS we all want. Thanks to everyone who is bringing their time, energy and expertise to bear on making it outstanding. And I’m looking forward to the release parties, the brainstorming at UDS, and further steps on our mission to bring free software to the world, on free terms.

Netbooks pre-loaded with Ubuntu

Monday, June 9th, 2008

The Canonical OEM team has been approached by a number of OEM’s who want to sell netbooks (small, low-cost laptops with an emphasis on the web) based on Ubuntu. Almost universally, they’ve asked for standard Ubuntu packages and updates, with an app launcher that’s more suited to new users and has the feeling of a “device” more than a PC.

There are some very cool launchers out there – AWN is a current favourite of mine – but people seem to prefer the more 2-dimensional tabbed approach, so the OEM team implemented a lightweight but still very classy launcher for this use case. The work received a detailed review in Ars Technica and has been covered in Free Software Magazine and elsewhere.

The aim was to do something very simple that could be tested easily, work with touch devices and made shippable very quickly. It also needed to be efficient on lower-power devices, and work well with Intel hardware, which seems to be the preferred platform for this generation of devices and allows us to slip a few nice effects in that would be hard without the right hardware support. Here’s a screenshot of a recent version:

The Ubuntu Netbook Remix launcher is laid out for new users

The new launcher is free software – so far, everything Canonical has funded, written and published for general public use on Ubuntu has been under the GPL. Currently we use GPLv3. You can grab the relevant packages from a public PPA, just add the following entry to your /etc/apt/sources.list:

deb http://ppa.launchpad.net/netbook-remix-team/ubuntu hardy main

The PPA contains a number of packages for the launcher, some GNOME panel applets, window manager tweaks and themes. These bits and pieces are small but improve the experience of Ubuntu run with the netbook launcher on screens with lower vertical resolution. There’s also some code in there specific to the Intel netbook hardware platforms, don’t install ume-config-netbook unless you are on the right hardware! This is all code produced by Canonical and published on Launchpad under free software licenses:

https://launchpad.net/netbook-remix
https://launchpad.net/netbook-remix-launcher

I’m particularly happy with the way it gives you more screen space for web browsing, which is probably the major use case on these form factors:

The screen layout is optimised for screens with fewer vertical pixels

There are still plenty of interesting corner cases, Ars calls out issues with the GiMP’s palettes, for example, so please do take the opportunity to test it with the apps you think you’d run on a small laptop (or as El Reg would say, laptot).  And feel free to push up and submit for inclusion a branch or two if you’re up to a bit of Clutter hackery!

For the rest, the netbook remix uses standard ubuntu packages from the standard ubuntu archive, with standard security updates. So it meets all of our usual commitments around security and compatibility. You can recreate the netbook remix just by installing 8.04, adding the PPA to your list of repositories, fetching the packages and configuring them appropriately for your system.

The netbook remix is not part of the “official Ubuntu editions”, it’s not like Kubuntu or Ubuntu or Ubuntu Server. It’s a separate remix published by the Canonical OEM team. It will probably get revved in October when Ubuntu 8.10 is released, but that’s up to the Canonical OEM team and their customers, and not the responsibility of the Ubuntu project team.

In working with manufacturers, the OEM team creates custom install images which are specific to hardware from those OEM’s. They have the free software packages I’ve described, and they may also include third-party software selected by OEM’s which Canonical cannot redistribute, so we can’t publish the custom installers that are produced under contract. Those images typically are hand-customised for a faster boot time, which means they will only work on the particular device for which they were intended, unlike standard Ubuntu which should auto-detect and configure itself for whatever hardware it is being booted on.

We specifically wanted to do this project as an Ubuntu Remix – based on standard Ubuntu 8.04 packages, with modified package selection and some additional code, but leaving the core platform packages unmodified. In terms of the trademark guidelines for an Ubuntu Remix companies cannot call their platform Ubuntu if they have modified packages (especially the kernel and desktop packages) but they can if they are just re-arranging standard Ubuntu packages. Canonical is in a privileged position as the Ubuntu trademark owner – we can certify a custom kernel if we believe it has been done in an appropriate way that won’t conflict with standard Ubuntu maintenance processes, and if we can keep the custom kernel up to date to the same standard as the normal Ubuntu kernel. So these are certified Ubuntu devices from Canonical, even though they are more customized than other people can within the Remix guidelines.

We’re also working with two companies that want more radical user interface innovation. Canonical is participating directly in the design and implementation of one of those UI’s, and we’re integrating someone else’s UI on an Ubuntu base for the second project. I haven’t seen either of those UI’s, for confidentiality reasons, but I’m told that the teams working on them think they have great ideas that will elevate, in different ways, the state of the art. All in all it will be exciting to see how the netbook era stimulates innovation in the Linux user experience, because there are a lot of companies wanting to build differentiated UI’s on a standard Linux base. And directly or indirectly Canonical will help to bring that innovation to KDE and GNOME and hence to the wider Linux ecosystem.