It makes perfect sense to integrate Amazon search results in the Dash, because the Home Lens of the Dash should let you find *anything* anywhere. Over time, we’ll make the Dash smarter and smarter, so you can just ask for whatever you want, and it will Just Work.
The Home Lens of the Dash is a “give me X” experience. You hit the Super key, and say what you want, and we do our best to figure out what you mean, and give you that. Of course, you can narrow the scope of that search if you want. For example, you can hit Super-A and just search applications. But if you throw your query out to the Dash, we need to be a smart as possible about where we go looking for answers for you.
In 12.10 we’ll take the first step of looking both online and locally for possible results. The Home lens will show you local things like apps and music, as it always has, as well as results from Amazon. Note – these are not ads, they are results to your search. We don’t promote any product or service speculatively, these are not banners or spyware. These are results from underlying scopes, surfaced to the Home lens, because you didn’t narrow the scope to a specific, well scope.
What we have in 12.10 isn’t the full experience, so those who leap to judgement are at maximum risk of having to eat their words later. Chill out. If the first cut doesn’t work for you, remove it, or just search the specific scope you want (there are hotkeys for all the local scopes).
Here’s a quick Q&A on the main FUD-points.
Why are you putting ads in Ubuntu?
We’re not putting ads in Ubuntu. We’re integrating online scope results into the home lens of the dash. This is to enable you to hit “Super” and then ask for anything you like, and over time, with all of the fantastic search scopes that people are creating, we should be able to give you the right answer.
These are not ads because they are not paid placement, they are straightforward Amazon search results for your search. So the Dash becomes a super-search of any number of different kinds of data. Right now, it’s not dynamically choosing what to search, it’s just searching local scopes and Amazon, but it will get smarter over time.
I don’t wan’t to search Amazon for the Terminal
Use Super-A. You can tell Unity exactly what you want to search. And in future you’ll be able to do that from the home lens, too, more easily than the current Lens Bar at the bottom of the Dash.
I want to control what is searched on the Home Lens
So do I! Designs and patches welcome in the usual places. I’m pretty sure by 14.04 LTS we’ll have the kinks unkinked. Till then, come along for the ride, or stick with 12.04 LTS. We can’t wait till it’s perfect before landing everything, because the only way to learn what’s not perfect is to have other people – real people – use it.
I can’t believe you just changed Ubuntu. I liked it the way it was.
Looks like those six months are nearly up again
This is just a moneymaking scheme.
We picked Amazon as a first place to start because most of our users are also regular users of Amazon, and it pays us to make your Amazon journey get off to a faster start. Typing Super “queen marking cage” Just Worked for me this morning. I am now looking forward to my game of Ultimate Where’s Waldo hunting down the queens in my bee colonies, Ubuntu will benefit from the fact that I chose to search Amazon that way, Amazon benefits from being more accessible to a very discerning, time-conscious and hotkey-friendly audience.
But there are many more kinds of things you can search through with Unity scopes. Most of them won’t pay Ubuntu a cent, but we’ll still integrate them into the coolest just-ask-and-you’ll-receive experience. I want us to do this because I think we can make the desktop better.
Why are you telling Amazon what I am searching for?
We are not telling Amazon what you are searching for. Your anonymity is preserved because we handle the query on your behalf. Don’t trust us? Erm, we have root. You do trust us with your data already. You trust us not to screw up on your machine with every update. You trust Debian, and you trust a large swathe of the open source community. And most importantly, you trust us to address it when, being human, we err.
The query should be encrypted!
It will be in the release version.
I want to control this in the settings!
Yes, we agree, and designs and work are under way to make that possible. That should land in 12.10 too, or as an update, or in 13.04.
In summary – please don’t feed the trolls. We’re interested in feedback in what sorts of things would be useful to search straight from the home lens, and how to improve the search results, as well as provide better control of the process to you.
Here is the key question, as I see it:
Can Canonical and the Ubuntu community handle the responsibility associated with this sort of service?
This quirky scheme of adjectives and animals presents a pretty puzzle every six months. What mix of characteristics do we want to celebrate in the next release? Here we are, busily finalizing the precise pangolin (which was a rather perfect product placement for a scaly anteater, all things considered) and before one realises it’s time to talk turkey, so to speak, about Q! Our code names may raise a quizzical eyebrow here and there, but they capture the zeitgeist of a cycle and shape our discussions in surprising ways. The quest for a name has no quick answer unless, of course, you jump to the last paragraph
12.04 being an LTS we’ve been minding our P’s and Q’s, but many of our quality-oriented practices from 12.04 LTS will continue into Q territory. We’ll keep the platform usable throughout the cycle, because that helped hugely to encourage daily use of the release, which in turn gives us much better feedback on questions of quality. And we’ll ratchet up the continuous integration, smoke testing and automated benchmarking of the release, since we can do it all in the cloud. We have, so to speak, stacks and stacks of cloud to use. So quality is quotidian rather than quarterly. And it is both qualitative and quantitative, with user research and testing continuing to shape our design decisions. The effort we put into polishing Unity and the rest of the platform in 12.04 seem to have paid off handsomely, with many quondam quarrelsome suddenly quiescent in the face of a surge in support for the work.
But the finest quality is that without a name, so support for “quality” as a codename would at best be qualified. Every release has quality first these days – they all get used, on the server, on devices, and while the term of maintenance might vary, our commitment to interim releases is just as important as that to an LTS.
Our focus on quality permeates from the platform up to the code we write upstream, and our choices of upstream components too. We require tests and gated trunks for all Canonical codebases, and prefer upstreams that share the same values. Quality starts at the source, it’s not something that can be patched in after the fact. And I’m delighted that we have many upstreams using our tools to improve their quality too! We have awesome tools for daily builds from branches, continuous integration support in Launchpad, the ability to provide a gated trunk with tests run in the cloud for projects that really care about quality. Rumours and allegations of a move from Upstart to systemd are unfounded: Upstart has a huge battery of tests, the competition has virtually none. Upstart knows everything it wants to be, the competition wants to be everything. Quality comes from focus and clarity of purpose, it comes from careful design and rigorous practices. After a review by the Ubuntu Foundations team our course is clear: we’re committed to Upstart, it’s the better choice for a modern init, innit. For our future on cloud and client, Upstart is crisp, clean and correct. It will be a pleasure to share all the Upstart-enablement patches we carry with other family friends as soon as their release is ready and they can take a breath, so to speak.
From a styling point of view, we think in terms of quadruples: this next release starts a cycle of four, which will culminate in 14.04 LTS. So there’s an opportunity to refresh the look. That will kick off with a project on typography to make sure we are expressing ourselves with crystal clarity – making the most of Ubuntu’s Light and Medium font weights for a start. And a project on iconography, with the University of Reading, to refine the look of apps and interfaces throughout the platform. It’s amazing how quaint the early releases of Ubuntu look compared to the current style. And we’re only just getting started! In our artistic explorations we want to embrace tessellation as an expression of the part-digital, part-organic nature of Ubuntu. We love the way tessellated art expresses both the precision and reliability of our foundations, and the freedom and collaboration of a project driven by people making stuff for people. There’s nothing quixotic in our desire to make Ubuntu the easiest, steadiest, and most beautiful way to live digitally.
On the fauna front, the quotable campaign for the Queer Quokka is quorate but, it must sometimes be said, this is not a democracy. One man’s favourite furball is another’s mangy marsupial. No, the quintessential stories of Q will be all about style on the client, with a refresh of our theme and typography, a start on new iconography and perhaps even a new form factor taking flight. So brown is out and something colourful and light is called for. On the cloud front, the new virtualized network madness called Quantum will make its appearance. Being a first cut, it’s more likely to be Folsom than wholesome, but it’s going to be worth calling out, and the name is reminiscent of our package-oriented practices, where goodness is delivered one piece at a time. And so the stage is set for a decision: I give you the Quantal Quetzal, soon to be dressed in tessellated technicolour, now open for toolchains, kernels and other pressing preparatory packages.
In the open source community, we celebrate having pieces that “do one thing well”, with lots of orthogonal tools compounding to give great flexibility. But that same philosophy leads to shortcomings on the GUI / UX front, where we want all the pieces to be aware of each other in a deeper way.
For example, we consciously place the notifications in the top right of the screen, avoiding space that is particularly precious (like new tab titles, and search boxes). But the indicators are also in the top right, and they make menus, which drop down into the same space a notification might occupy.
Since we know that notifications are queued, no notification is guaranteed to be displayed instantly, so a smarter notification experience would stay out of the way while you were using indicator menus, or get out of the way when you invoke them. The design story of focusayatana, where we balance the need for focus with the need for awareness, would suggest that we should suppress awareness-oriented things in favour of focus things. So when you’re interacting with an indicator menu, we shouldn’t pop up the notification. Since the notification system, and the indicator menu system, are separate parts, the UNIX philosophy sells us short in designing a smart, smooth experience because it says they should each do their thing individually.
Going further, it’s silly that the sound menu next/previous track buttons pop up a notification, because the same menu shows the new track immediately anyway. So the notification, which is purely for background awareness, is distracting from your focus, which is conveying exactly the same information!
But it’s not just the system menus. Apps can play in that space too, and we could be better about shaping the relationship between them. For example, if I’m moving the mouse around in the area of a notification, we should be willing to defer it a few seconds to stay out of the focus. When I stop moving the mouse, or typing in a window in that region, then it’s OK to pop up the notification.
It’s only by looking at the whole, that we can design great experiences. And only by building a community of both system and application developers that care about the whole, that we can make those designs real. So, thank you to all of you who approach things this way, we’ve made huge progress, and hopefully there are some ideas here for low-hanging improvements too
We’ll show Ubuntu neatly integrated into Android at Mobile World Congress next week. Carry just the phone, and connect it to any monitor to get a full Ubuntu desktop with all the native apps you want, running on the same device at the same time as Android. Magic. Everything important is shared across the desktop and the phone in real time.
It’s a lightweight way to be – everything seamlessly available with the right interface for the right form factor, with no hassles syncing. It just works, the way Ubuntu should. Lots of work behind the scenes to make both systems share what they need to share, but the desktop is a no-compromise desktop.
This isn’t the “Ubuntu Phone”. The phone experience here is pure Android. This announcement is playing to a different story, which is the convergence of multiple different form factors into one most-personal device. Naturally, the most personal device is the phone, so we want to get all of these different personalities – phone, tablet and desktop – into the phone. When you need a desktop, you connect up to a screen and a keyboard. When you need a tablet, you dock to some very elegant glass.
Just for fun, we’ve integrated the Ubuntu TV experience too – so this isn’t just a desktop in your pocket, it’s a media centre too.
Come and say hello in Barcelona next week, and I’ll be glad to hear what you think of it in person. Everyone we’ve shown it to has had a “wow!” moment. For network operators who have long believed that the phone was the PC of the future for the next billion connected consumers, and for handset manufacturers who want to offer companies a single device for corporate computing, this is a delicious prospect. For those of us who love our desktops free, focused and mobile, it’s nirvana.
The desktop remains central to our everyday work and play, despite all the excitement around tablets, TV’s and phones. So it’s exciting for us to innovate in the desktop too, especially when we find ways to enhance the experience of both heavy “power” users and casual users at the same time. The desktop will be with us for a long time, and for those of us who spend hours every day using a wide diversity of applications, here is some very good news: 12.04 LTS will include the first step in a major new approach to application interfaces.
This work grows out of observations of new and established / sophisticated users making extensive use of the broader set of capabilities in their applications. We noticed that both groups of users spent a lot of time, relatively speaking, navigating the menus of their applications, either to learn about the capabilities of the app, or to take a specific action. We were also conscious of the broader theme in Unity design of leading from user intent. And that set us on a course which led to today’s first public milestone on what we expect will be a long, fruitful and exciting journey.
The menu has been a central part of the GUI since Xerox PARC invented ‘em in the 70′s. It’s the M in WIMP and has been there, essentially unchanged, for 30 years.
The original Macintosh desktop, circa 1984, courtesy of Wikipedia
We can do much better!
Say hello to the Head-Up Display, or HUD, which will ultimately replace menus in Unity applications. Here’s what we hope you’ll see in 12.04 when you invoke the HUD from any standard Ubuntu app that supports the global menu:
Snapshot of the HUD in Ubuntu 12.04
The intenterface – it maps your intent to the interface
This is the HUD. It’s a way for you to express your intent and have the application respond appropriately. We think of it as “beyond interface”, it’s the “intenterface”. This concept of “intent-driven interface” has been a primary theme of our work in the Unity shell, with dash search as a first class experience pioneered in Unity. Now we are bringing the same vision to the application, in a way which is completely compatible with existing applications and menus.
The HUD concept has been the driver for all the work we’ve done in unifying menu systems across Gtk, Qt and other toolkit apps in the past two years. So far, that’s shown up as the global menu. In 12.04, it also gives us the first cut of the HUD.
Menus serve two purposes. They act as a standard way to invoke commands which are too infrequently used to warrant a dedicated piece of UI real-estate, like a toolbar button, and they serve as a map of the app’s functionality, almost like a table of contents that one can scan to get a feel for ‘what the app does’. It’s command invocation that we think can be improved upon, and that’s where we are focusing our design exploration.
As a means of invoking commands, menus have some advantages. They are always in the same place (top of the window or screen). They are organised in a way that’s quite easy to describe over the phone, or in a text book (“click the Edit->Preferences menu”), they are pretty fast to read since they are generally arranged in tight vertical columns. They also have some disadvantages: when they get nested, navigating the tree can become fragile. They require you to read a lot when you probably already know what you want. They are more difficult to use from the keyboard than they should be, since they generally require you to remember something special (hotkeys) or use a very limited subset of the keyboard (arrow navigation). They force developers to make often arbitrary choices about the menu tree (“should Preferences be in Edit or in Tools or in Options?”), and then they force users to make equally arbitrary effort to memorise and navigate that tree.
The HUD solves many of these issues, by connecting users directly to what they want. Check out the video, based on a current prototype. It’s a “vocabulary UI”, or VUI, and closer to the way users think. “I told the application to…” is common user paraphrasing for “I clicked the menu to…”. The tree is no longer important, what’s important is the efficiency of the match between what the user says, and the commands we offer up for invocation.
In 12.04 LTS, the HUD is a smart look-ahead search through the app and system (indicator) menus. The image is showing Inkscape, but of course it works everywhere the global menu works. No app modifications are needed to get this level of experience. And you don’t have to adopt the HUD immediately, it’s there if you want it, supplementing the existing menu mechanism.
It’s smart, because it can do things like fuzzy matching, and it can learn what you usually do so it can prioritise the things you use often. It covers the focused app (because that’s where you probably want to act) as well as system functionality; you can change IM state, or go offline in Skype, all through the HUD, without changing focus, because those apps all talk to the indicator system. When you’ve been using it for a little while it seems like it’s reading your mind, in a good way.
We’ll resurrect the (boring) old ways of displaying the menu in 12.04, in the app and in the panel. In the past few releases of Ubuntu, we’ve actively diminished the visual presence of menus in anticipation of this landing. That proved controversial. In our defence, in user testing, every user finds the menu in the panel, every time, and it’s obviously a cleaner presentation of the interface. But hiding the menu before we had the replacement was overly aggressive. If the HUD lands in 12.04 LTS, we hope you’ll find yourself using the menu less and less, and be glad to have it hidden when you are not using it. You’ll definitely have that option, alongside more traditional menu styles.
Voice is the natural next step
Searching is fast and familiar, especially once we integrate voice recognition, gesture and touch. We want to make it easy to talk to any application, and for any application to respond to your voice. The full integration of voice into applications will take some time. We can start by mapping voice onto the existing menu structures of your apps. And it will only get better from there.
But even without voice input, the HUD is faster than mousing through a menu, and easier to use than hotkeys since you just have to know what you want, not remember a specific key combination. We can search through everything we know about the menu, including descriptive help text, so pretty soon you will be able to find a menu entry using only vaguely related text (imagine finding an entry called Preferences when you search for “settings”).
There is lots to discover, refine and implement. I have a feeling this will be a lot of fun in the next two years
Even better for the power user
The results so far are rather interesting: power users say things like “every GUI app now feels as powerful as VIM”. EMACS users just grunt and… nevermind ;-). Another comment was “it works so well that the rare occasions when it can’t read my mind are annoying!”. We’re doing a lot of user testing on heavy multitaskers, developers and all-day-at-the-workstation personas for Unity in 12.04, polishing off loose ends in the experience that frustrated some in this audience in 11.04-10. If that describes you, the results should be delightful. And the HUD should be particularly empowering.
Even casual users find typing faster than mousing. So while there are modes of interaction where it’s nice to sit back and drive around with the mouse, we observe people staying more engaged and more focused on their task when they can keep their hands on the keyboard all the time. Hotkeys are a sort of mental gymnastics, the HUD is a continuation of mental flow.
Ahead of the competition
There are other teams interested in a similar problem space. Perhaps the best-known new alternative to the traditional menu is Microsoft’s Ribbon. Introduced first as part of a series of changes called Fluent UX in Office, the ribbon is now making its way to a wider set of Windows components and applications. It looks like this:
You can read about the ribbon from a supporter (like any UX change, it has its supporters and detractors ;-)) and if you’ve used it yourself, you will have your own opinion about it. The ribbon is highly visual, making options and commands very visible. It is however also a hog of space (I’m told it can be minimised). Our goal in much of the Unity design has been to return screen real estate to the content with which the user is working; the HUD meets that goal by appearing only when invoked.
Instead of cluttering up the interface ALL the time, let’s clear out the chrome, and show users just what they want, when they want it.
Time will tell whether users prefer the ribbon, or the HUD, but we think it’s exciting enough to pursue and invest in, both in R&D and in supporting developers who want to take advantage of it.
Other relevant efforts include Enso and Ubiquity from the original Humanized team (hi Aza &co), then at Mozilla.
Our thinking is inspired by many works of science, art and entertainment; from Minority Report to Modern Warfare and Jef Raskin’s Humane Interface. We hope others will join us and accelerate the shift from pointy-clicky interfaces to natural and efficient ones.
Roadmap for the HUD
There’s still a lot of design and code still to do. For a start, we haven’t addressed the secondary aspect of the menu, as a visible map of the functionality in an app. That discoverability is of course entirely absent from the HUD; the old menu is still there for now, but we’d like to replace it altogether not just supplement it. And all the other patterns of interaction we expect in the HUD remain to be explored. Regardless, there is a great team working on this, including folk who understand Gtk and Qt such as Ted Gould, Ryan Lortie, Gord Allott and Aurelien Gateau, as well as designers Xi Zhu, Otto Greenslade, Oren Horev and John Lea. Thanks to all of them for getting this initial work to the point where we are confident it’s worthwhile for others to invest time in.
We’ll make sure it’s easy for developers working in any toolkit to take advantage of this and give their users a better experience. And we’ll promote the apps which do it best – it makes apps easier to use, it saves time and screen real-estate for users, and it creates a better impression of the free software platform when it’s done well.
From a code quality and testing perspective, even though we consider this first cut a prototype-grown-up, folk will be glad to see this:
Overall coverage rate:
lines......: 87.1% (948 of 1089 lines)
functions..: 97.7% (84 of 86 functions)
branches...: 63.0% (407 of 646 branches)
Landing in 12.04 LTS is gated on more widespread testing. You can of course try this out from a PPA or branch the code in Launchpad (you will need thesetwo branches). Or dig deeper with blogs on the topic from Ted Gould, Olli Ries and Gord Allott. Welcome to 2012 everybody!
The mailing list has seen some decent traffic as well, with people talking mostly about what the future of the Connected TV might be and features they’d like to see.
Thanks guys. The resulting list looks like this:
- 10′ interface- Watching Media (DVR, Live, Network(TV Guide is part of DVR/other services))- Control via remote controlHigh priority- Plugin support- Cloud and/or server storage (for home grown media)
- Playback of physical media (USB cd/dvd/bluray drive)
- Installable image
- Easy configuration of new devices (eg. installing same plugins, mounting same network shares)
- Ubuntu One Accounts
- Push media to/from other Ubuntu devices / Media syncing capabilities (Pause on one device, resume from same spot on another device)
- Control from portable devices (phones/tablets/web interface/PC) (collaboration with Ubuntu Phone/Tablet?)
- Sharing media with friends (social network connectivity)
- Purchasing media through online stores (Ubuntu one/Amazon/Netflix)
Not a bad list at all. Thanks to tgm4883, MrChrisDruif, imnichol, callumsaunders1, dmj726 and others.
Separately, reports from a team that may have a crack at implementing the TV interface:
… tracked down some bugs in QML itself, fixed them, and are submitting patches upstream. Next time you read that Qt Mobility now supports hardware accelerated video playback, or how the “ShaderEffectItem” now respects the “clip” property, or simply that the OpenGL video painter renders where it’s supposed to; you know who to thank. As an added bonus this will benefit Unity-2D. Awesome work.
Today, since it’s impossible to thank everyone individually who helps make Ubuntu such a wonderful project, I want to express public appreciation for Daniel Holbach’s amazing contribution to our community.
A smooth-running community is not a miracle, it’s the result of dedication, energy, organisation and empathy. Daniel has all of those gifts and qualities in abundance, and the impact he’s had on the governance of Ubuntu is profound.
We pride ourselves on being a meritocracy and a do-ocracy. Those who have the capacity and the will and the commitment and the values and the energy to lead, and who are recognised as leaders by their peers in the project, get the opportunity to take on responsibilities in one of the many parts of the project, or overall in the CC or TB. But it takes insight and effort to recognise those with that potential, and it takes leadership to encourage them to step forward to shine, and it takes organisation to coordinate diverse efforts so as to ensure a harmonious result. For all of the work and play he brings to that, I thank him.
In a galaxy of many stars, it’s perhaps impolite to single out one in particular. So please counterbalance that impertinence by picking your own star to thank; in our community, the depth and strength don’t come from the headline acts so much as the diversity of contributions from an enormous number of people. Thank you all.
By 14.04 LTS Ubuntu will power tablets, phones, TVs and smart screens from the car to the office kitchen, and it will connect those devices cleanly and seamlessly to the desktop, the server and the cloud.
Unity, the desktop interface in today’s Ubuntu 11.10, was designed with this specific vision in mind. While the interface for each form factor is shaped appropriately, Unity’s core elements are arranged in exactly the way we need to create coherence across all of those devices. This was the origin of the name Unity – a single core interface framework, that scales across all screens, and supports all toolkits.
Canonical and the Ubuntu community have established Ubuntu’s place in desktop, server and cloud deployments. We have also invested in the design and engineering of Unity, motivated by the belief that desktop interfaces would merge with mobile, touch interfaces into a seamless personal computing platform in the future. Today we are inviting the whole Ubuntu community – both commercial and personal – to shape that possibility and design that future; a world where Ubuntu runs on mobile phones, tablets, televisions and traditional PC’s, creating a world where content is instantly available on all devices, in a form that is delightful to use.
A constantly changing world
The way we access the Internet, connect to our friends, listen to music, watch films and go about our daily lives is rapidly evolving. We now use a diverse set of devices with an array of operating systems, which have a range of connectivity. Few people are exclusively loyal to a single technology provider.
Consider this quote from Paul Maritz of VMWare:
“Three years ago over 95 percent of the devices connected to the Internet were personal computers. Three years from now that number will probably be less than 20 percent. More than 80 percent of the devices connected to the Internet will not be Windows-based personal computers.” Paul Maritz, 29 August 2011 VM World Keynote.
Make no mistake – just as the world is changing for manufacturers so is it changing for Linux distributions. Today, 70% of people in Egypt access the Internet solely via the phone. Even in the US that figure is a startling 25%.
Ubuntu is well positioned
Ubuntu will thrive in this new reality.
Our established collaboration with the silicon vendors that are driving this converging market are critical. Intel, ARM and AMD will make the chip-sets that will power this future and Ubuntu works with all of them on all technologies.
Our engagement with the PC market will help bring the results of this work to a huge audience – partnerships with the likes of Dell, HP, Asus, Lenovo, Acer, IBM, Vodafone and more are a gateway to users who want continuous, connected, cross-device computing.
We are determined to bring more free software to more people around the world, and building that future hand in hand with device manufacturers is the best way to do it. There is no winner in place yet. This opportunity remains wide open, but only to products that deliver excellent experiences for users, across a full range of device categories.
The investment we have already made in the interface accommodates the touch scenarios required in some form factors and, with a little love and attention, will work equally well in mouse, keyboard or stylus-driven environments. Ubuntu will not be restricted to small screen or large screen environments but encompasses both and all the form factors in between. We will see our work on the Ubuntu platform land in a variety of formats current and yet to be invented. It is without doubt the most exciting phase in the history of Ubuntu.
Ubuntu One and the software centre
Ubuntu’s personal cloud and app centre services are appropriate for all these environments. They deliver the required storage, syncing and sharing capabilities that are not just a convenience but a requirement as we move to a universe where content is increasingly shared but the devices that access them become more diverse. Ubuntu One’s support for other OSes show the ability of Ubuntu to play nice with others, recognising that the divergence is strength. It allows users to choose the devices they prefer but still delivering the benefits of Ubuntu-centred strategy.
The next steps
We are describing this at UDS to energize the entire Ubuntu ecosystem around this challenge. Canonical will provide the heavy lifting needed to put us in the ball park, but there are opportunities for participation, contribution and engagement by all elements of the broader Ubuntu community, both corporate and individual.
Our developers, our partners’ developers and the broader open source development community share this opportunity. There is a great deal to discuss, and an array of strands we need to pull together at UDS. But the direction is clear and the prize is great – to bring more free software to more people in more delightful ways than ever before.
Orchestra is one of the most exciting new capabilities in 11.10. It provides automated installation of Ubuntu across sets of machines. Typically, it’s used by people bringing up a cluster or farm of servers, but the way it’s designed makes it very easy to bring up rich services, where there may be a variety of different kinds of nodes that all need to be installed together.
There’s a long history of tools that have been popular at one time or another for automated installation. FAI is the one I knew best before Orchestra came along and I was interested in the rationale for a new tool, and the ways in which it would enhance the experience of people building clusters, clouds and other services at scale. Dustin provided some of that in his introduction to Orchestra, but the short answer is that Orchestra is savvy to the service orchestration model of Juju, which means that the intelligence distilled in Juju charms can easily be harnessed in any deployment that uses Orchestra on bare metal.
What’s particularly cool about THAT is that it unifies the new world of private cloud with the old approach of Linux deployment in a cluster. So, for example, Orchestra can be used to deploy Hadoop across 3,000 servers on bare metal, and that same Juju charm can also deploy Hadoop on AWS or an OpenStack cloud. And soon it should be possible to deploy Hadoop across n physical machines with automatic bursting to your private or favourite public cloud, all automatically built in. Brilliant. Kudos to the conductor
Private cloud is very exciting – and with Ubuntu 11.10 it’s really easy to set up a small cloud to kick the tires, then scale that up as needed for production. But there are still lots of reasons why you might want to deploy a service onto bare metal, and Orchestra is a neat way to do that while at the same time preparing for a cloud-oriented future, because the work done to codify policies or practices in the physical environment should be useful immediately in the cloud, too.
For 12.04 LTS, where supporting larger-scale deployments will be a key goal, Orchestra becomes a tool that every Ubuntu administrator will find useful. I bet it will be the focus of a lot of discussion at UDS next week, and a lot of work in this cycle.
In just over a week, quite a large cross-section of the Ubuntu community and representatives from many free software projects and companies will gather in Orlando to map out the Precise Pangolin. Now’s the time to prepare for the event, with 11.10 out (well done everybody!) and the key infrastructure slotting into place.
Figuring out the optimal balance of goals is the work of the summit, but we can lay out some over-arching themes that have been in progress during this meta-cycle and come to their full fruition in the LTS release. We can also remind ourselves of the ways in which an LTS is different, and the impact that will have on our choices in Orlando.
Being an LTS
As Dustin pointed out, this is the fourth Ubuntu LTS release, and as such it needs to carry on, and entrench, the reputation of the LTS as a carrier-grade platform for mission-critical server deployments and large scale desktop deployments. That means:
Adjusting the cycle to allocate more time for resolving issues
Introducing minimal new infrastructure or platform-visible change
Goal-driven and continuously benchmarked programs of action around performance
Enablement and certification of the sorts of hardware people will deploy at scale and in the datacenter
Rick Spencer and his team have put some thought into one of the critical challenges that LTS releases face, which is the need to support newer hardware over a longer period of time. Traditionally, Linux distributions have tried to prioritize items to backport, but that puts the stability of known-good configurations very much at risk. Rick will outline the strategy we’ll adopt for this at UDS, which I think makes the most out of the work done for every release of Ubuntu.
Carrier-grade Cloud Infrastructure and Guest
Ubuntu is the #1 OS for cloud computing, whether you measure it by the number of instances running on all the major public clouds, the number of Ubuntu-based cloud appliances, the number of public and private clouds running on Ubuntu host OS. The extraordinary diversity of the Ubuntu community, the calibre of collaboration between Ubuntu and OpenStack, and the focused efforts of Canonical to make Ubuntu useful in the cloud have all contributed to that position. In 12.04 LTS we must deliver:
world’s best cloud infrastructure powered by OpenStack’s corresponding major release
perfect support for cloud-oriented hardware from Canonical’s partner IHV’s
a great hybrid-cloud story, for those using a mixture of private and public clouds
world’s best guest OS on AWS, Rackspace and other public cloud infrastructures
A key focus is making it easy to bootstrap and manage services across public, private and hybrid clouds, and Juju charms are the magic by which we’re flattening all those cloud substrates and bringing devops practices into the Ubuntu administrator toolbox. Those who attended the recent OpenStack Summit will have caught the buzz around Juju, which brings APT-like semantics to cloud service deployments. There’s a rapidly growing collection of Juju charms which define common services and allow you to get started immediately on all the major public and private cloud infrastructures; I keep hearing how clean and easy it is to charm a new piece of software for cloud deployment so I’m sure both the number of charms and charmers will grow exponentially.
Right now Juju charms can be deployed on bare-metal farms of hardware with no virtualisation, such as Hadoop or Condor compute clusters, Amazon’s public cloud infrastructure, Ubuntu’s OpenStack-based cloud infrastructure, and on the developer workstation using LXC containers so developers can use charms locally which are then re-used by administrators deploying to the cloud. I think there are Juju contributors working on support for a few other cloud infrastructures too, it will be interesting to see what lands by 12.04.
Pangolin-worthy Server Release
We have a proud heritage from Debian which 12.04 LTS needs to celebrate and maintain; although we have some key advantages for enterprises deploying Ubuntu over Debian in our ability to enable some additional security features in the Linux kernel and toolchain, as well as support, certification and assurance, the lean-mean-green-machine nature of the Ubuntu Server experience owes much to Debian’s focus on quality and precision.
12.04 will be the first LTS to support the ARM architecture on selected ARM SoC parts. In a world where computational density is increasingly prioritized over single-thread performance, the entry of ARM to the server market is a very interesting shift. Ubuntu has established a very strong competence in ARM and I think the 12.04 LTS release will power a new generation of power-focused hardware for the data centre.
The nail-biting transitions to Unity and Gnome 3 are behind us, so this cycle is an opportunity to put perfection front and center. We have a gorgeous typeface that was designed for readability, which is now available in Light and Medium as well as Regular and Bold, and has a Mono variant as well. That’s an opportunity to work through the whole desktop interface and make sure we’re using exactly the right weight in each place, bringing the work we’ve been doing for several cycles fully into focus.
We also need to do justice to the fact that 12.04 LTS will be the preferred desktop for many of the world’s biggest Linux desktop deployments, in some cases exceeding half a million desktops in a single institution. So 12.04 is also an opportunity to ensure that our desktop is manageable at scale, that it can be locked down in the ways institutions need, and that it can be upgraded from 10.04 LTS smoothly as promised. Support for multiple monitors will improve, since that’s a common workplace requirement.
During UDS we’ll build out the list of areas for refinement, polish and ‘precisioneering’, but the theme for all of this work is one of continuous improvement; no new major infrastructure, no work on pieces which are not design-complete at the conclusion of the summit.
While there are some remaining areas we’d like to tweak the user experience, they will probably be put on hold so we can focus on polish, performance and predictability. I’d like to improve the user experience around Workspaces for power users, and we’ll publish our design work for that, but I think it would be wisest for us to defer that unless we get an early and effective contribution of that code.
It’s going to be a blast in Orlando, as UDS always manages to bring together a fantastic crowd. And it’s going to be a beautiful, memorable release of Ubuntu in April 2012!