 Hello everybody. So our next talk is Mark Shuttleworth from Canonical and Ubuntu. He'll be talking about the design and implementation of the Unity Netbook user experience. So I don't think he needs much more introduction. Mark Shuttleworth? It's a little early to be getting this message over here. It's very nice to be here and great to be back at DevConf. Lots of familiar faces, lots of old friends. Is anybody here actually running Unity at the moment? Evan, a couple of other folks. So Unity is a combination of several years' work inspired initially by this sort of explosion in interest in Linux on the netbooks. We were approached by a couple of some out in Taiwan who want to ship Linux on netbooks but they wanted simplified user interfaces essentially. And so that kicked off a process which is culminated now in Unity. Within Canonical my job description has changed. I'm no longer the CEO. That's gone to a much more capable woman than I am. And in return I get to focus on just the pieces that I'm really interested in. And the design of Unity is one of those pieces. We have a design team based in London who are responsible for all of the visual and user interaction design that we're doing at Canonical. So they're essentially driving this process. But it is an open design process. There is a mailing list called Ayatana. We have quite a lot of traffic on that. We use that as a forum for debating many of the changes that get made and also the just the broader theme of design in Ubuntu and in free software generally. So I'll start off with just going back through where Unity came from. This is the first version of UNR. And there are a couple of things that sort of stand out about it. First it's very much a full-screen kind of experience. A lot of the inspiration for this work came from the PlayStation essentially from game consoles. The idea of thinking of the computer more as a device that you use than as a general purpose computer where you're sort of manipulating lots of different pieces of information. So much bigger icons because another sort of piece of inspiration was coming from the idea that this is all ultimately got to end up being touchable. Touch is very much a sort of a primary interface technique. We preserved quite a lot of the semantics of the GNOME desktop initially. You can see for example the categories that come from the applications menu in a typical GNOME desktop today. And you can also see places. Those are mapped straight from GNOME essentially just from the underlying infrastructure. So we try to reuse as much of that as possible. But focus on presenting people with just the pieces that they're likely to be interested in and just in a way that's sort of simpler for the average user to navigate. And the feedback on this one was pretty good. I think Toshiba shipped it. Dell shipped it. A couple of other OEMs shipped it. And generally got pretty good feedback. It got picked up in quite a few different places. Jolly Cloud based some of their initial work on it. And a couple of other OEMs just used it as a sort of a network interface. For the extra vision of the interface we were trying to sort of make it relax a little bit. So you can see here we took away the idea of sort of places on the right and integrated all of that. We still kept the categories. And so we're still mapping from this underlying idea of a categorized set of software on the desktop. This is what we did with places essentially. We made it its own sort of category in that list. And then based on all of this experience we started the Unity design process. We knew that we were going to do a bunch of work, more work with OEMs. And they wanted an interface that would be appropriate for the projects that they had in mind. We also knew that starting quickly, booting quickly was a real priority. And so we were willing to essentially replace big chunks of infrastructure with completely new code if we thought that we could make things more lightweight. And Unity was in development for about eight months and it first showed up in this which is Ubuntu Lite. And so the requirements for Ubuntu Lite were to produce a really stripped down system which would mainly be used for web browsing. It was designed for essentially a dual boot sort of environment with OEMs. And it was really just designed to be running three or four applications. But which preserved enough of the core of the system that potentially over time it could be upgraded to a full desktop experience. So the idea with this is actually to install it on machines that are going out in the US and in Europe, windows on them. So this is a dual boot environment. And for us that's a really cool idea to try and get to raise the amount of exposure that Linux gets. At the moment, people it's a choice. You have to either get a machine with windows or get a machine with Linux. We figured if we could get this to be successful and popular, you'd have a lot more people who are at least getting familiar with the interface, familiar with the basic ideas and could then easily upgrade to a full system that are removing the windows partition. This little icon over here actually is the sort of dual boot control mechanism over there. And as you can see, we really sort of relaxed it completely. So that categorized application sort of structure is gone and we just have a sort of favorite applications. And so that was one chunk of work. Another chunk of work was up on the top right there of what we call the indicators. But there were all sorts of problems with this. There's no mechanisms, for example, to sort of add and remove applications. There's no mechanisms there for dealing with lots of files in a traditional way. And so in the run up to the last UDS, we did a whole bunch of design work for, again, a sort of a full screen experience that we call the dash that would fit in over here. And so the dash is just a full screen place for dealing with chunks, you know, lots of files, lots of applications. And we have ideas about what else might go in there as well, like contacts and things like that. And so we mapped places up there to the top into the sort of places bar and then created this space over here, which is the dash. And that's not been implemented. It went into Maverick a month or so ago and it looks like this. So now we have the launcher. We have the dash in the middle over here, places driving the dash essentially and indicators up there. And that's roughly what Unity is all about. So in the design process, one of the really interesting things about it is embracing constraints. And it's very interesting, that's a very difficult thing for an open source community to do. One of the wonderful things about the open source community is that it grows as a function of the number of people joining it and their interests. So someone will write a tool that works with MySQL as a database. Someone else joins the community and they update it to work with Postgres as well. Someone else joins the community and they figure about how to make it work with no SQL databases and so it rolls, right? But that's kind of in opposition to this idea that really great design comes from effectively reducing your options and imposing constraints essentially on the process. So we figure out how to balance that. We have lots of very vigorous conversations. But these are the sorts of constraints that we applied to ourselves in the design process. Vertical pixels are the most precious kind of real estate on the screen. So there are many, many decisions and trade-offs that have been made in Unity with a very specific goal of maximizing the number of vertical pixels. Remember, netbooks are the primary audience and they've got screens which are typically wide but not very deep. And even if you're on a larger screen, typically you're spending all day in the browser or all day in a particular application. You don't want a lot of Chrome cluttering up the screen. If you look at a typical desktop today, I don't know if you look at your desktops, amongst people who haven't actually gone in and really configured the system, often there's just huge amounts of wasted space at the top and the bottom of the screen. Basically figuring out how to put pieces together in more and more efficient ways and the trade-offs associated with that. For the netbook interface, we figured that we didn't want people to spend a lot of time doing window management. So the idea was to figure out how to make it sort of maximized all the time. And so you see, again, a lot of assumptions about windows, how window management would work. And then also just this idea that ultimately touch is going to be a primary method of interaction. So we didn't want to do stuff that ultimately was really dependent on having a pixel-perfect pointer because we just don't think that you'll have that on lots of machines that people will want to use Unity. In terms of sources of inspiration, the console really is a great source of inspiration for us. And that's true, I think, for a number of reasons. One, there's an enormous amount of innovation that happens in the console space. Colin was talking earlier about how Linux is so mission-critical now that it's hard to really radically innovate in that. And the same is true of the desktop. Microsoft, Apple, GNOME, KDE, it's really hard to motivate for radical innovation because you're going to break something from somewhere. But in the gaming space, there are no constraints. It's completely free-form. It's not mission-critical. So in many senses, that's an environment that's been free to innovate and free to adopt ideas more quickly. So I'm not saying we spent a lot of time playing games during the Unity design process, but there's definitely a feel if you use it of kind of something that comes from a gaming environment. Light is a theme that we're using. So visually, you'll see a lot of the stuff is designed and drawn with the idea of almost light coming through, light coming out of the screen, looking at the graphics. We use a lot of OpenGL in the implementation. And that's specifically so that we can get at the more modern capabilities of graphics-accelerated hardware. And so a lot of the effects and so on are actually implemented in GL directly. And that's only going to increase. And then the last sort of bit of inspiration we had was that we want people to be able to search for everything rather than navigating to anything. So in the dash in particular, search is the primary means by which you would find something. So the idea is if your search is really, really good, then in just a couple of keystrokes, you can present people with something that they can just touch. And so we're trying to get rid of the idea of navigating through hierarchies and just search and touch as the two ways to get to stuff, get stuff activated, get out of stuff. Okay, so that's the background. What are all the different kinds of pieces of technology that come together in this? Well, one of the first things that we decided to embrace because of the focus on the netbook was the idea of a panel-based menu. So remember I said we're optimizing for maximized applications, which means typically you're only working on one application at a time. And so the potential disconnect that some people experience when you use a panel-based menu on a large screen monitor with multiple windows and the menus are very disconnected from the window, those effects are diminished in a netbook type environment. So we decided to adopt that. So we looked at the existing state that there was an effort to do this in GNOME some time ago in KDE. They used to have this capability in KDE 3, I think, but it hasn't been reimplemented in KDE 4. And this has been a focus of work, a focus of work. We couldn't reuse the old GNOME one because just of the way it interacts with GTK it was a bit low level. And so what we did is we built a protocol over D-Bus where you can export menus over D-Bus. And then we've got a plugin for a loadable module for GTK and the loadable module for Qt which in both cases allow the menu to be exported over D-Bus. So this is really great. That top menu over there is being rendered actually by Unity and the application just sends its menu to Unity over D-Bus. We've got it working, roughly working now for both Qt and GTK apps. So they work well. We don't have it working for the Zool-based apps, so Firefox and Thunderbird. And we also don't have it working for OpenOffice. But those will come. Essentially it's just a question of implementing the hooks in the toolkit to D-Bus and they're sort of client-side libraries that simplify all of that. That work was sort of promoted and published as a free desktop.org standard. Again, a lot of what we're trying to do we're trying to sort of elevate the state of the art and then make sure that it works well across both GNOME and KDE and so a lot of the appropriate forums can be free to stop.org. This is the focus of a lot of work right now in 10.10 because this is the single biggest change that's happening in the next edition for 10.10. So they're always amazing. George is leading the charge and there's a list of 80 or so applications that we need to sort of engage with. One of the assumptions, if we're going to export stuff over D-Bus it means that you have to have a fairly standard model of what a menu can look like and so there's been, what we're doing is going through all the applications and trying to find places where people have done stuff in sort of custom or unusual ways and then mapping that to a more standardized sort of model of a menu and then it works over D-Bus menu. So that's that. So it was interesting that global menu guys originally proposed that GNOME adopt this approach but it was rejected. It works very well on netbooks and because of the way we've implemented now you can actually just put an applet on a GNOME panel plugin and use it on the desktop as well. So I think most of the folks who are interested in the original global menu project are now using this. On the other side of the panel we have the indicators. So this has traditionally been a real swamp in the GNOME world but in the GNOME world essentially the things that went up in the panel there could do anything. There were literally independent applications that were just visually displaying themselves in the panel but there was no kind of cohesive view of all of them. That meant that sometimes you had to right click on the things, sometimes you had to left click on them, sometimes they responded to mouse movements because they could literally do anything. Every event was just being sent to some sort of application. So you can use that now with this idea that everything in that top right has to have particular semantics. It's basically a menu. That whole top right area now is one consistent menu. So that is a whole bunch of benefits for example accessibility. If you can get the focus to there then you can navigate around because it's just one big menu essentially. You can even navigate between that and the application menu because it's really all just one big menu. There's a fairly standard set of patterns that you follow for the design of the icons in terms of the way you use colours and a set of user experience patterns around that. That looks fairly standard stuff. There are a couple of areas though where we've innovated. One of the key goals, I did a very silly thing. I mailed one of the Ubuntu lists and said I need some screenshots of random desktops because I just want to get a feel for how you guys organise your desktops and I think Foreonex or someone else picked up on it and I literally got like 2,000 emails of desktops. I got so sick and tired of right click save as right click save as. It was great though because now it's really interesting. If you just flip through those fast you start to get a sense for common patterns in the way people have organised things. Anyway, that top space up there is really precious and there were a lot of things that there was a lot of clutter in that space. How can we, from a design point of view, how can we really reduce the pressure on that space and clean it up. The sort of meme was to have fewer classier indicators. So we came up with this idea of category indicators. We noticed that there'd be an Amorok thing in there and then a last FM thing in there as well. Because someone likes music so he's got last FM and he's got Amorok and they both each want some way to basically indicate status to the user and provide a quick shortcut way of pausing or starting or stopping the music. So we figured, well, you don't actually need to have two of them there. You just need one that says all my music stuff is here and then they can sort of plug into that. And since you've already got an indicator up there that deals with noise, why not integrate it all into that. So the sound menu, for example, the sound menu, the new design for the sound menu is that it's kind of plug-able. The application can go in here, rhythm box can go in here and you can have several sections of this. So if you're running both for whatever reason, if you're running Banshee and rhythm box, then they can both plug themselves in there. And this is implemented now in Maverick and I think it's working quite well. Let's see. I'm muted, but you get the idea. So you have sort of a nice convenient way of sort of jumping through your music, pausing, playing, stopping. And now there's a whole flurry, there's a bunch of, now that that API is public, there are a whole bunch of people essentially patching the common music players so that they can fit into that. Really nice. There is a standard, a debug standard called MPRIS for a media player, remote interface specification or something like that. And we've had to extend that a little bit, for example, to make it possible for the indicator to know a bunch of playlists, because that wasn't in PRS before. But now you can go in, I don't know that I've got any playlists set up here. So you can go and pick playlists and just manage everything straight from the indicator. Similarly for messaging applications, we already have people up there that have like an email thing and then they'd have a Gmail notifier and then they'd have something for IRC and something for a bunch of others. So we've passed all of that down into the messaging menu. That's sort of up here. Now I don't know if that's in, I don't know if any of this stuff has landed in there yet. But this is a category indicator for all messaging applications. And you can launch the applications from there as well. So from a user experience point of view, you don't have to tell someone, you know, go into the menu and start the application and then go over here and find your email. Basically you just always go to the messaging menu. You can open up your mail application, you can see if it's running. So this little indicator over here tells you this little thing over here, tells you that it's running. So by the end of 1010 we should have the messaging menu sound, session, clock, me menu, that you manage your presence on multiple different network services. For the network menu we hope to replace network manager with connection manager. Connection manager is the joint Intel Nokia effort. And it's a very nice sort of back end, the separation between front end and back end is very clean. It has various other things to recommend it. But there's no GNOME sort of interface for it that we could use. So we're building a new UI onto Conman on the back end and that's going steadily. There's a library called Libindicate that you can use to put custom indicators into the panel and it's really straightforward to use because all you have to do is generate a menu. Remember all of these things are just menus. So if you know how to create a GTK menu or a Qt menu, all you're doing is creating a menu and then saying to the indicator framework, here's the icon to use, will you put up a menu or an indicator for this one. So the combination of Libindicate and Debuss menu works very well. There are some specific APIs also for some of the category indicators like the sound menu and the messaging menu where you specifically describing what you want to do because they're different, each of them is different. And we also had to build a piece of technology to allow menus to be specified in desktop files and the reason for that is that we wanted to be able to expose some actions that the application could do if it was running when it wasn't running. When the application is running, of course, it can connect over Debuss and say, here is the menu that I want to display, but we have to have some way of knowing what menu to describe when it's not running. So for example, I think that these things over here, the menus are displayed even though the mail application isn't running at the moment. So the launcher, this is the big chunk of new work that landed in May. The launcher uses Clutter very heavily, so a lot of the animations and effects around it are Clutter-based. It uses GL directly, quite heavily. So a lot of the glow effects are rendered in GL. Try and load as much of the processing onto the GPU as possible. And this has been really the focus of a lot of the user experience design work. There's a hell of a lot that you have to encapsulate in that. Is something running? Is something calling for attention? Is something how many windows are there associated with the particular application? Which window has the focus right now? There's a lot of rich, semantic content that has to be distilled down. So it's been quite a long design process. But it's come together very nicely and I think people will be happy with 1010. A couple of new technologies had to be built for that. There's a framework called BAMF. I have no idea why it's called BAMF. But essentially it's a new model for tracking applications in windows. This is like an unbelievably horrible under X as it is today. But just knowing what applications are displayed, what window actually has the focus and so on is really quite tricky. And so BAMF takes care of a lot of the details there. We reused again the bus menu and the desktop file menu definition structure that we had from the indicators work. We reused that for quick lists. So you can go up and you've got a capability like that. And that comes from, that's again using the same technologies because the menus can be specified in desktop files. They can be present even if the application isn't running. It is implemented at the moment as a mutter plugin. So mutter is metacity plus clutter. So you've got kind of clutter on top of clutter. All in a spectacular attempt to make an uncluttered interface with lots of sort of trying to pass through clutter to get to the underlying GL. And then this last piece, the DASH and what we call places. This is again implemented in clutter. The architecture here is you have a complete separation between the thing that's rendering the interface and the demons that are essentially producing data to be rendered. They talk to each other over D-Bus and it's designed so that you can have multiple things going on at the same time because you may well want to issue a query, a search query for example, over lots of places. So you might say, show me find files like this and that might shoot off to Google and do one query and kick some processes off looking at what's on your hard disk and send some other thread spinning off to Amazon and you want to integrate all of that. So it's designed to have lots of things going on and synthesized and rendered by something that won't easily get distracted from the rendering. There's a library there called LibD. LibD basically defines the data model of what can be rendered over there and then LibUnity is kind of a command set up and ticked down library. If you want to put your own content into the dash like this then you create your own daemon that talks to it it uses LibUnity to sort of register itself and then it uses LibD to publish the data that it wants rendered. You can also plug into the dash itself custom renderers so they will take the data from off D-Bus and then render it in an appropriate way. So using D-Bus for everything allows us to do stuff in a way that's really quite nice from a cross desktop perspective. So you could for example write a cute implementation of exactly the same thing and use all the same places daemons just rendering in cute and or if you didn't want to use clutter for example because you didn't have the graphical horsepower then you could just do it in GTK as well separating out the representation display the rendering from the actual data model has proved quite useful to us already in that regard and that's it. So Ayatana is the name that we gave the overall design initiative we called it that because it's the word that Zen Buddhists use for awareness so the thinking is that we've lots of great applications and the application when you're working on an application that application defines what you're concentrated on but then there's all this other stuff going on around that things like notifications things like your system status whether you connected what's happening with your battery and so on and so forth and that's kind of in your peripheral awareness so that's where the term Ayatana comes from. It's all hosted on launchpad.net and should ship for 10.10 netbook edition Are there any questions? Yeah, not yet So Hi Henry I do a a conversion should try it out My question is I believe that Buddha is the base for Google Chrome and I couldn't help but think to myself all the time that surely Google Chrome isn't aiming for netbooks and doing very similar things so I was just wondering are you working together are you looking at what they're doing so the Chrome OS team did start with a development environment but they've moved on from there I think for Chrome OS their desire was to sort of build more in the same sort of way to build an embedded device so they've actually switched to Portage, Gen2 Portage as a build system. Oh you already like that Right so there's a that's this stage I'm not going to go at all on the architecture or approach that they've taken and there hasn't been much cross-pollination from a user experience point of view for quite a long time I don't know it's coming along You said you're on that you're looking at search and touch as the primary face and you said you're looking at search and touch as the primary interface and I'm curious how especially when we're talking about a touch-based device that has no keyboard how are you going to think of balancing that out in particular how does the search part work if all you're doing is touching So any substantial touch device is going to have an on-screen keyboard but you don't want I think the real key there is that you don't want to have to type a lot right so it's about two things first it's about the way that it's presented in the interface like how hard is it to get to where you can start searching and then also it's about the quality of your search you know if I can just type three letters on a tabletouch it's an unsatisfying way to type right finger finger finger but if I don't have to do a lot of it then that's probably acceptable But are you exploring ways to be able to start searching without using keyboard at all? It's to a certain extent yes if you look at if you look at this you kind of tell us where you want to be searching and so we could potentially bring stuff into hot cache so this is a view of the applications so this is what is essentially what was menus in the current shell and so if you're searching here we know you're searching for applications and we can search first across things that's fast and then slightly more slowly we can search things that aren't yet and then even more so we can go search the web for stuff that you know don't yet know about but that might match I can't think of any other cunning ways we could start to search before you've typed anything but the telepathy module isn't implemented yet so just back there Hi I'm glad to hear that you're working on search a lot more as an interface and I think I think it's really useful one thing that I find a little scary is you say that it's like getting rid of hierarchies so hierarchies as the primary interface I think you are pretty flawed but certain people we have humans have this remarkable ability to like keep a map of physical space in our brains and some people and others like you see people have incredibly messy offices and can find stuff and I think that in a way hierarchies kind of represent that so like it's good to focus put maybe more in the focus search but I mean if it you can't replace everything that's interesting so I think I agree with you where you've got natural categories natural categorization especially where you've got categorization that's common across lots of different people's machines so a little bit of that, you know the internet category the office category of software letting people sort of inviting people to kind of come in and have a look and see what's there sometimes when you make search the only way to find something people don't know how imaginative they can be search for teleportation machine you wouldn't because you couldn't possibly believe you know anybody can have one what is interesting though is how something that's perfectly natural for most of us which is directories for files and other directories is astonishingly difficult or just astonishingly broken for typically in users so I saw that first I actually sat and watched people using the system to see things like for example people would receive a file by email and they would save it and then they would want to either email that file to someone else or open it in some other application and they couldn't find it they'd been presented with all of the information they needed to but it just didn't stick in some way so I just noticed that as we were watching user testing people were like what the fuck is off the street and you know sort of intellectual arrogance you say well you know ordinary users don't understand this stuff but I'm fine and then I started to observe just my own use of it and I spent a lot of time trawling through especially where I've got disks of lots of stuff that I know like photograph collections and things like that it's on the disk I know it's on the disk but it's not a particular time especially over years we've got data that you've built up over years I don't know if you guys have some experience so I'm getting older, getting dumber so I need to try and get the software usable by the time I hit my 70s so that I have a personal mission so I'm really coming around to the view that actually even for even for the very smartest users that may be a waste of their smarts you know like if we can just get it so that you can start typing and get what you want that's much better I think there are a lot of gaps that we have to close in there but that's kind of where I think we have to get to and I think the web has taught us that it's possible to do an amazingly good job with CIRC let's just see if we can get back to that I don't know that I'm yet ready to say make the file system opaque you know but there are many cases where for example you really shouldn't hit the file system for that case if someone who got emailed a document saved it and then tried to open a document in something else where the file is still to work for example you know I should see the stuff that I have been working on most recently immediately and then I search on top of that you know very, very cheeky at least that's the design thinking I mean the nice thing about having we've got this real flourishing at the moment the Nego guys are doing really interesting work I don't know if anybody's looked at it it's radically different, it's really cool it's innovative there's Android Unity I think it's pioneering certain things there's the GNOME shell if you've looked at their design it's also quite different so KDE4 this is actually a very interesting time for innovation and creativity and I'm pretty sure that we'll all emerge from it in two or three years time I'm very happy I would just as you were mentioning about search about finding things I was thinking about something I would read about it's being developed against the Zeitgeist so the Zeitgeist powers this oh thanks again the Zeitgeist guys that started out on the really coming from the Ubuntu community with Lotfi is kind of the champion on that and I'm right George we embraced Zeitgeist pretty much immediately we've used it and they've been debating its adoption in GNOME I don't know what to say to some of that it's not yet so again that's sort of useful, we have embraced Zeitgeist it means that it will kick ass if it works well then we'll prove that GNOME might be more likely to use it maybe KDE would be more likely to use it conceptually it's really interesting Zeitgeist is a way of organising metadata about how you're using stuff and when you're using it and where you're using it so potentially for example you can walk into a room and say when you hit that button, that top button over there you see the files that you last looked at when you were in that room or in Central Park or in Baku shop so it's just a really interesting project to sort of rethink the metadata that we track about what files we're using for example when I was reading this email I was surfing with that kind of correlation so yeah, Zeitgeist is absolutely embedded in that so have you thought about how you want to cope with where it goes the surface in use is at least on the web because they just can't guess the right keyword so they're thinking in a better way in order to find is there a way that in the interface searches token on for me I need to switch out of search mode into hierarchical mode at least I can eventually tell us that our entire tree and find it that way yeah, this is the biggest tree the semantic structure of what you see on the screen is that you've got the place entries the first thing on my screen we've actually moved the places into the laundry as an expert to see how that works for us so you can have multiple place entries it's the sort of top of your structure and then inside of that you have sections so you can't see it on here you would see it on that so there are sections over there and then you actually have groups as well so that's the kind of hierarchical structure and you can nest quite clearly into that and then the semantics is to how you search so you can just search just inside of that or search everything it's not we're not trying to build a file browser you know, we're not trying to build a better noise so I think we'd probably set limits on how much we would try to support that kind of click through trolling but rather invest that energy into getting the search right Mark, I'm going to give you your oh no, it's Kurt moment first you mentioned about getting things right before you're seven and Christine and I would like you to come and meet our two new children they are in harvest so we've got genetically ready organs for my question sort of relates to all of this do you think you run the risk of by simplifying this interface to such an extent that you start giving users the impression that they're new Ubuntu or they're new Linux whatever this is on their computer that they haven't seen before this is a simple operating system and when you want to get real work done that's when you reach for the Vista or Windows 7 CD or OS 10 CD and what this is mostly meant for it's a utility operating system it doesn't really do that much do you see any sort of potential problem there and if so how do you plan to address it look I think it's really hard to argue against simplicity even people who have really complicated important heavy duty things to get done don't really want the rest of the operating system crowd in on them while they're trying to get that done the really interesting experience my folks have always had I doubt for example an Ubuntu PC well for the last six years he's had an Ubuntu PC and a Windows laptop and he needed the Windows laptop was sort of dying so I got him a new one and I didn't even think about it I just with Windows on it anyway two or three days after after we set it up he came over and he said listen do you mind installing a Ubuntu on that new laptop because it's much easier to use I think a lot of easy to use is a question of familiarity and so on and so forth on the one hand but on the other hand I think we're really moving to the point where the new interfaces for Linux are genuinely easier to use than the stuff that's been built up and built up and built up in Windows environment where they can't afford to change too much and where so other pressures on like the pressures on OEMs to install more software before they ship and everything he makes it more crowded and slower so yeah there is a chance that if we put kind of crisp clean clear things on there people think of them as devices and therefore not as sort of proper power or general purpose computers but I suspect the flip side is more likely that people want to spend more of their time using this device just because you know whenever they want to get something done they can quickly get it done at least that's the goal um and if I could just add I mean if you're talking about the notion of a simple interface and people say oh you simple things I don't remember when OSX came out that was exactly the reaction that a lot of people had to look at the screen it's got this five things sitting at the bottom and it hasn't seen some of them up gotten in the way of people also they can also use it for serious work as well yes but Apple is very very indebted manufacturer well that's so what I'm going to say is that Apple is good at making something that people lust after that they want to use wouldn't it be nice if they felt that way about Debbie and that's what this project is all about right because if we get this right and it ships it then I think people will feel this way it will feel like wow this is fantastic I think we're in a position to better than Apple that's the goal we set two years ago I think we've got another two years till 1204 squeeze plus one and let's get it done yeah so I really like that you're improving search but I find that when I search for files there's two modalities if I know something about the file then it might be worth searching for it but often you don't you're just fishing for something and then like someone was saying there there's a territory in there and it's going to be in there no matter what you do because for the inside stuff it's still going to be there right so I thought it was a bit weird you said I'm not yet thinking about making it opaque but why would you ever because it seems to me that they're orthogonal right I mean make search as good as you can maybe somebody else wants to make the hierarchy basically browser there's room I think for alternative sort of storage models you guys have worked in one of those firms where they have these effectively they've replaced the file savers as dialogue like in lawyers for example with something that basically maps to this huge document management system that they've got where they track which client, which case etc etc etc so obviously in a firm of 500 lawyers all of them could be working on different cases for different clients over a 20 year period you don't just want arbitrary people making up a file hierarchy so they build these systems that are sort of custom purpose built storage systems just for them what's interesting is that the world takes you've got hierarchical files and folders all those custom things and I think what we're going to move to is more like you've got search as the standard and then if you could potentially have hierarchical files and files interface where you set it up and you craft it that way and you also have those for industry specific vertical markets to sort of storage your document management systems as well so yes I guess I'm agreeing I think there will always be a room for someone who wants to craft files and folders and do it that way but I think we can improve the experience dramatically for the average user who in a week we may actually process no more than a couple of hundred files it's not that much and so it's easily within what we can handle from a search perspective and we can we can take away all the burden for you of having to track that you know where did that go what happened to the file I got this over IRC I guess we could track for example yes you've got that in a file from this person so you can start searching from the name of the person and see the file that they sent you that sort of thing it's a computer to do the work the way I tend to work with files is either in two ways either I have a specific file like a photograph but it's own item it's own identity and I have these actually full folders or the files and the way of course the way we have a file system means that all of the organization in a way the classification for the photograph is in a folder because it has it in certain ways or this folder that actually contains a project full of folder because it's because of the technology that we're using but actually when I think about it the project is one thing even though it's a full folder and Mac does this with the applications and there are other DNGs and other various properties where they have archives as these items and then you can search for the archives and that makes more sense whereas when you go into those objects and you have folders, Derby folder and your project folder that's when you need the navigation, the hierarchies and the various other things because you do have a collection and you are thinking about the whole thing as an item whereas when you're thinking about your photographs it's only when you start to think about galleries and maybe printing more of them out as a collection that that kind of you know you need to have a more structured view I was wondering what your thoughts are about collections and whether we should be searching for collections I think collections are actually tricky because we don't ingest enough metadata in them to search to necessarily be easy if you went to the holiday to 50 pictures you may well not write enough about them in metadata and so on to be able to search between them you can get to the collection Holiday in Spain but you won't so easily get to one of the 2,000 pictures that you have in mind I guess the online services have a huge advantage because they start to have enough data and enough compute power they can look at the photographs and do face recognition so you can show me photos of Jenny and outcome photos of Jenny without you having to mark them up I don't have any brilliant ideas I can believe this sort of idea that in some settings you want to work with collections and that this model isn't going to work very well for that so it's just following up on what you just said you've got beta metadata where the photo was taken you've got where who's in the photo, how many people in the photo there's a whole bunch of metadata the user doesn't have to put in that you can do through either inspecting or except here we've got one, two, three minutes left I became a Debian user when I updated that to Debian and I like to usually a lot of Debian users they think of Ubuntu as this whole sister project that just took away some of the publicity but actually to me because I came through Ubuntu it means a lot like a path that Ubuntu then it brought me to the world of Debian now when Khanical says that they're going to you spoke earlier and you said that Khanical would partner with VMs to provide this as like a second OS or for netbooks I was just wondering if you could elaborate on that and just explain what kind of plans you have I assume of course Khanical is a four product company so they have some business plans perfectly it's of course part of the whole thing so I'm just wondering what kind of ideas are the future thank you for sharing your story of meeting Ubuntu and then going on to Debian that's quite a common pattern now this has been quite a fun big con for me because A I've been doing it six years now and know lots of great people but also because it's much harder to call lines of affiliation there are a lot of people who spend time with Ubuntu spend time with Debian upload packages to both places and everybody's life easier add your name to one of the lists of contributions to Debian I'd be appreciative now shipping millions of PCs around the world with Ubuntu pre-installed with Debian derivative pre-installed I see no reason why that number won't grow by an order of magnitude just if I look at the dynamics there Windows XP expiring there's huge and growing demand for computers in parts of the world that have never had it so therefore aren't quite as pressed against so they'll be attached to Windows as as folks would be what people want to get done with computers it's amazing it's been a very long time since anybody said to me but I can't focus on it you know what I mean it's much less issue now and the diminishing issue but we've got the web to think for that so while I can't go into the specific plan I might have with the vendor last year when the Yellow 4 Microsoft came out and said that Linux on the network was dead that was I think a slightly premature declaration of victory on the behalf so then we continue to want to take free software to the whole world this year will be a good one for that and one last question I got okay very specific question about the messaging I've been using it on one of my computers it collapses email Twitter and chat there are many completely different things that have different time to respond to maybe very quickly is there any thinking about splitting them up or is there a very specific reason why they are together there is a nagging inconsistency in the relationship between the messaging menu and the presence menu presence menu is for example I've signed into this IRC channel I want to be online or change my status and the messaging menu is where you deal with responses so maybe in future we map the instant messaging real time sort of stuff over to the presence menu we haven't figured that out it's kind of an open question we debate it nobody's preferred anything that we can all look at it's exactly right I think the critical thing with messaging menu the application decides to use it's the facilities the facilities that the messaging menu exposes there's a section per application and they can put I think up to seven entries in that so the initial you know if you for example if your mail application puts the names of the last people who sent you email it would be that useful a mail you probably want to get a sense of how much mail there is you know over 20 unread messages or something like that however if your mail application have the ability for you to sort of tag some people in your address book and say I want to know when this person sends me an email that would be useful so you could go and have a look and you see immediately or I've got mail from Jane that would be useful and you can go straight to that sort of important and then the other facility which is a shared facility is that you can not online now but if I went online for example and someone pinged me and I wasn't looking at the chat window then that would be there's a way of basically saying there is a message in here that needs your attention and again it's a question of how sophisticated the app is in how it uses that facility and if the app just goes green all the time then you kind of start wearing a facility anyway we're out of time thank you very much and I'll see you then