No Speaker: Intro Music
TW: Welcome to episode 20 of the Ubuntu-UK podcast, I'm Tony and the first thing for me to do I suppose is to apologise for the late arrival of this episode. None of us planned for it to be this late but there it is. Now back in December Dave and Alan and I went to the Ubuntu developer's summit in Mountainview, California. While we were there we met up with Schwuk who is our website design guru and a Canonical employee and we interviewed several people and in this show we're going to bring you those interviews. We interviewed Matt Zimmerman, Matthew Paul Thomas, Robert Collins, Graham Binns and Stuart Langridge. We've also got the result of the competition to win a copy of Ubuntu Kung-Fu. It sounds like a fun packed show, lets get on with it!
No Speaker: Bumper Music
AP: We're here with Matt Zimmerman who is the CTO of Canonical. Matt, what's going on here at the UDS then?
MZ: So there are lots and lots of technical discussion, quite a lot of discussion about our community processes and one session that I really enjoyed the other day, we had an extensive discussion with a huge room of people about what it's like to get into the project and how we can make it easier for people to get involved who want to contribute. But on the whole I think [that] it's been a great UDS, certainly each one is an improvement on the one before. It's great to be in California, the weather's great and I think [that] it's going very well.
AP: What's the main thing that you wanted to get out of this UDS, personally?
MZ: Personally, my personal goal at UDS just tends to be to try to make a positive contribution across everything that's happening, at least get involved in what each team or group of people that the event is doing and help make a contribution there some way.
AP: So what does a CTO of Canonical do on a day-to-day basis?
MZ: I spend a lot of time on the phone and when I'm not on the phone I'm typing; sometimes I do both at once.
No Speaker: *Laughter*
AP: About what sort of things?
MZ: About all of the engineering work that's going on in the company, the various programs that we're doing trying to keep people communicating and make things happen.
AP: OK, so you've been with Ubuntu from the very start; how long is that and what have you seen change in the distribution over the years?
MZ: Wow, so that's been about 4½ years so I was first involved in discussions in the project in early 2004 and first came on-board full time with the company about mid-2004, so about 4 months before we put out a first release. So I think almost everything has changed since then really, certainly the environment of the company has changed a great deal where orders of magnitude than we used to be, the process by which we decide what we will do, UDS and all these associated things have changed a lot, they're also a lot bigger and require a lot more planning. The distribution itself has just grown by leaps and bounds I think. The original 4.10 Warty release was obviously a bit rough around the edges, put together very quickly as it was the first time for a lot of us doing just this type of project from the very beginning and nowadays I think it's much more of a finished product.
AP: I know [that] when you say that Warty was kinda rough around the edges, I know when I switched from Red Hat to Debian I was impressed with Debian and then from Debian to Warty I was really impressed with Warty, it actually felt right which is why I've stuck with it over the years. Do you think there's still, given that Ubuntu I think has helped other distros to improve and raise their game as well; do you think that we still have the edge over other distros; do you think that we can still pull people in from other distros?
MZ: Well I think more and more it's about bringing people into Open Source and computing more so than between distros. I think that Ubuntu is for many people their first introduction into Linux now and that's something that I'm incredibly proud of. I think it's a great first impression to make on people who've never used Open Source software before. Going back to Warty I mean most of the people started using it at that time were people who have been using Debian and were looking for something that was an improvement on that and now it's a first port of call for people who are looking for something new and interesting and Open Source.
AP: When Canonical was a lot smaller did you have much more of a hands-on technical role; and do you miss that; if you don't do that so much now?
MZ: I used to write quite a bit of code. I'm not really doing very much about it anymore. I still like to experiment and to work at a technical level, I do enjoy it but it's a very different challenge, managing a large techincal team and I enjoy that very much as well so I do miss it sometimes but I certainly don't regret the path that I've taken.
AP: Given Ubuntu is comprised of a number of other upstream projects, do you feel it's difficult to drive the direction of Ubuntu given [that] you're dependant on all of these upstream projects?
MZ: Actually I'd say that I look at it more as an opportunity but that we have so much inspiration to draw from from all of these projects; lets us see what's possible and what we can do so more than anything I think that it makes it possible more than it makes it difficult.
AP: Now we'd all like some extra elements within certain areas of Ubuntu. Is there a specific area or areas where you'd like to see improved in the next release?
MZ: One area that seems to be a source of a lot of fustration for a variety of users is the audio subsystem. It's from the kernel all the way up to applications, it's over-complicated, it's been done and redone in several different ways, it could really do with a thorough clean-up. We've had some good discussions about it this week and elsewhere there's work to be done there but I think that it's probably gonna be a slow process to get everyone to converge on a standard API and components there but I think that it does need to happen. It's not in the state that we'd like to see it right now.
AP: So if sound is one way in which we can improve over, I guess that's gonna be over successive releases of Ubuntu. What specifically are you looking forward to in this release? What's peaked your interest here at UDS for the Jaunty cycle?
MZ: Well I think I'd say if we could get the kernel layer right if the basic ALSA API works well for a majority of the people here at this conference for example I think they'll have done a good job.
AP: One of your other <CHECK:hats> is also at the technical board, isn't it for the Ubuntu techincal board but what do they actually do?
MZ: So the Ubuntu technical board is one of the two primary governing bodies of Ubuntu, the other being the community councils. The technical board is responsible for the set of things that have to with technical standards and processes in the distribution. We set standards for when we'll allow new developers into the project and what their access privelages with be, when there's a technical decision that needs to be made that's either someone needs some help or there's a conflict and needs to be resolved then they call on the technical board and we try to help them or take a decision where that needs to be done.
AP: So in some ways it's either an advisory role or a decision making role?
MZ: Yes I'd like to think so. As the project has grown the technical board is a very small group of people and obviously not all of the technical decisions that are made go through that group but we try to help out when we are called upon.
AP: Having been with Canonical since day 1 basically, over the last 4 years, do you think that in another 4 years we'll have tackled bug number 1?
MZ: I think 4 years might be a bit ambitious but I certainly have high hopes for the next few years in terms of continuing adoption of Ubuntu and becoming a real phenomenon in the world outside of Open Source and people who are just people who are buying netbooks and people who are buying consumer electronics devices getting introduced to and I think that's the next wave of excitement that I'm looking for.
AP: This time 18 months ago, I would never have predicted seeing Ubuntu on mobile devices but they're everywhere now and that's a really good team, a really thriving area of the company. Are there any other new areas that you can see us getting into in future?
MZ: Well there are a couple of really interesting new things going on at Canonical in that area and one of them is the desktop experience project. David Bath and his team are looking at ways to radically improve the user interface and experiment with some new design concepts there. Also the online services programme which has been talked about some here at UDS I think we'll over Ubuntu users some really interesting and useful technology that they don't have access to today.
AP: OK, well thank you for talking to us today Matt.
MZ: Alright thank you very much.
No Speaker: Bumper Music
AP: We're here with Matthew Paul Thomas from the design team of Canonical; hello Matthew, what are you doing here at UDS?
MP: Many many things, I'm helping with the design of various features in the installer, in the desktop and occasionally in the server. I'm involved in meetings of the design team itself and the desktop experience team that we're working closly with.
TW: What's there to design on the server?
MP: Well the server team is currently in charge of everything to do with the virtualisation and there are some things to do with the setting up of virtual mashines that need to be easier. There are also details of the server installer that I hope to help out with.
AP: From my point of view, design sounds like putting buttons in the right place and colours and being very simplistic, I'm sure it's more than that, what kind of considerations did you take into account when designing applications?
MP: Right, well there is about half a dozen factors that you usually consider in usablity: there's learn-ability; how easy it is for someone who is coming across it the first time to use it, efficiency; once you have learnt it how easy it to do something quickly. There's forgiveness, if you make a mistake how easy is it to recover, aesthetics and pleasantness; how satisfied is someone when they have completed their task. Sometimes these factors compete with each other and so you have to make a trade off. Often though, you can achieve all of them at once.
DW: Presumably, you work quite closely with the artwork team. So actually leads the direction with the artwork, do they come up with ideas and bring them to you, or do you say "hey shall we try this?" how does that work?
MP: Well, Ken Wimer is the co-ordinator of the artwork team, so far the design team is so new (it's only a couple of months old) that we haven't really had much interaction with the artwork team yet but i expect that we will have more dicussions with them as we go on, deciding what the splash screen should look like and what kind of backgrounds we should provide, that sort of things.
AP: How do you find the interaction between your team and developers? Obviously you're sometimes you are going to be pointing out that the developers are doing it wrong and they need to be doing it differently, how do they take your suggestions and recommendations?
MP: In general it's very good. It's all about the way you phrase it. When I started out in free software I was in the Mozilla project and I'll be the first to admit that the approach that I took wasn't that helpful most of the time so I gradually learnt that rather than just saying, "this is all terrible", you need to say, "okay, well if you did it this way it would be more learnable, if you did it this way people would make fewer mistakes" and many of those things are like programming things like refactoring to simplify the code but it applies also to the interface, you can refactor the interface to have fewer elements in it, to have have fewer entities in it, like you would have fewier varibles in a program. If you explain it that way often programmers can understand and the Ubuntu developers because Ubuntu is the Linux for human beings of course they tend to be very keen on making it usable and making it a pleasure to use.
AP: Is there a different approach you take when talking with developers who are core Ubuntu developers or developers who are upstream outside the Ubuntu project?
MP: Yeah, well with the Ubuntu developers often they will come to me and say, "I need help with this particular feature", and that's great. With the upstream developers it's often me going to them and hanging out in the IRC channel and joining their mailing list and saying Ubuntu is considering doing something in this way, would you be keen on helping us out or doing it the same way upstream?
TW: How wide is your remit, is it just to concentrate on the programs that are installed by default, or the ones in main or everything that Ubuntu makes available?
MP: It's even wider than all of those, the design team is not just about Ubuntu, it's about everything that Canonical puts out, so it's also about Launchpad, Landscape, the http://www.ubuntu.com website, the online services, everything that Canonical does. As far as Ubuntu is concerned, most of my interest is with the programs that are shipped by default; partly choosing which ones they are, partly improve their interface.
TW: So the effectiveness of the UI may influence whether that program is chosen over another one for inclusion in default Ubuntu installations?
MP: Absolutely, one of the things I did in the last cycle was comparing Empathy and Pidgin, comparing their user interface and as well as their feature set and maturity. As far as the user interface was concerned I came to the conclusion that Pidgin was more polished, more mature and that was one of the factors that led us to continue using Pidgin in Intrepid rather than Empathy.
TW: So is their a continual process of reviewing applications, nothing's got a sacred place in Ubuntu?
MP: No, that was just the first example of it, you have you be careful not to just switch too often, even if one application has temporarily overtaken another, you need to be careful that your not causing too much churn amongst the user base, so it's not the only factor, but it is a factor.
TW: So, going from what you've just said there I'm wondering whether or not we can expect to see Thunderbird any time soon, as a replacement for Evolution?
MP: Well, I use Thunderbird myself, the main problem with Thunderbird though is that it's not a native GTK application. I realise that Firefox has the same issue, but Firefox has enough of a feature set advantage over Epiphany especially with all the extensions, that we can consider it as the default browser, also it has the branding. With Thunderbird the advantage is not so great. E-mail is a tricky problem for Ubuntu as each available option has many disadvantages as well as many advantages and even if we wanted to put some development into it ourselves, it would be a big hole to dig into.So what sort of things are you looking at for Jaunty then?
MP: Many many things, so the main things that we've announced this week from the design team specifically and the desktop ezperience team that's implementing our designs are some changes to the notification bubbles that pop up to notify you of things, like your instant messages, that your downloads have finished, that sort of thing and to go along side that a new panel applet that goes along side it to let you know that new instant messages have arrived, new email messages have arrived so that you have fewer icons on the panel; you don't need one for Pidgin, one for Evolution, one for Xchat. You can just have one that tells you that you "Hey there's messages that concern you". So that's the things that we specifically work on in the design team for the cycle there are other things that feature teams are working on like improving the partitioning and improving the installer.That seems to be an area that's a bit fraught, I've recently had the experience of a friend trying to install Ubuntu and he's quite an expert, technical user but the partitioning screen completely confused him. Now, partitioning is not a simple task, how can you reduce that down and make the complexity of having multiple partitions spread across multiple disks of different types, how can you reduce that down to make it simpler for someone to use?
MP: I'm not sure yet and part of the difficulty, we've known this has been a problem since Edgy, if not earlier but any improvement in it would be quite a big undertaking, what we're having to do this cycle is draw up half a dozen or a dozen different possible layouts, how we might present the various options, then possibly do some paper prototyping, which means showing those to various users and saying would you understand this? What would you click to do this? And seeing how well they understand it.I guess we're in an unenviable situation with respect to that, because with Windows you either get it pre-installed or it just wipes your whole disk usually. With the Mac you get it pre-installed also, so we're kind of in a loosing starting position as we have this complexity of having to cope with multiple partitions already on the disk and adding new partitions, that can't be easy I guess.
MP: Right, the closest any proprietary system comes to this is Mac OS X when you install boot camp, and all you have to do there is set up two partitions and decide how big you want each one, so the interface is fairly simple, for us it will be more complicated and I see occasionally that people argue that "oh, Ubuntu is so much easier to install than Windows", conveniently forgetting that in most cases Windows is already pre-installed, you don't have to install Windows. So part of making Ubuntu easier to install is getting it on more computers pre-installed, that is part of the equation.And probably from a blank disc install it is arguably easier than the Windows installer but as soon as you have another partition, as Alan says it just causes so much mayhem, if the installer could just take over the disk and just do what it likes, it's okay but you've got swap partitions to set up, you might want to have separate partitions for your encrypted /home directory that we may see in Jaunty and it starts to become non-trivial even if it might be better.
MP: It's true, the encrypted /home partition is one of the things that I'll be looking at either today or tomorrow to try and improve the design, and one of the other possibilities for example is to hide the swap partition option so that you would just specify a space for Ubuntu and the installer would specify the swap partition size automatically, that's one possibility that we're considering.
AP: I think that's kind of what it does at the moment isn't it? It says what it would look like before and it would look like (after) and it just says "Ubuntu", a big chunk of space but it doesn't actually say some of it is swap so we're getting there.
MP: Yes. Yes we are, but then you still have the advanced partitioning steps, with the before chart and the after chart that you can drag around and then you have the advanced chart which has three diffrent appearances and one of the things that I'm having to do is to consolidate those and make them look more similar.
TW: Excellent, well thank you very much for talking to us today, and enjoy the rest of the summit.
MP: Thank you very much Tony.
No Speaker: Bumper Music
AP: So we're here with Robert Collins, who works for Canonical and actually Rob I don't know what you do for Canonical, so give us a run down of what you do for Canonical.
RC: Well, I'm on the Bazaar team so I'm one of the principle developers for the bzr version control system and its collection of plugins and that's kind of it, although it's full time, there's no real opportunity at the moment to go and look at different things.
AP: For those who don't know, what is Bazaar and why should we care what it is and what you do and how great it is?
RC: Bazaar is a revision control system, it's a distributed revision control system, which allows everyone to have the same power as you might get in CVS or subversion where there is a trunk and only a few people commit and in a distributed revision control system everyone can commit and they can do that on their own machines, it's got no risk to the people who are maintaining the project but it lets everyone come up and be at the same level, together and you've all got the same access to the tool-chain, you don't have a 2nd class system because your not yet a commiter. We hope that Bazaar will become an integral part of the Ubuntu tool-chain, because Ubuntu has a very large number of contributors, all of whom need to get their code into Ubuntu, but don't necessarily have the privilege of being able to put it straight in at this point, so the ability to access history for Ubuntu packages themselves is currently quite limited and one of the things we have spent a considerable amount of time in the last cycle and during Jaunty is to get everything that's in Ubuntu in bzr and accessible on the web for anyone to grab, edit and upload their new version.
AP: So it has significant advantages over traditional things like CVS or subversion, but their are other similar tools like git.
RC: Is that a leading question? There is a bunch of distrusted version control tools around today, the three most popular ones that turn up when people are doing selections are Git, bzr and hg. From a technical perspective, there are more in common with each of these tools than there is different when compared to CVS or Subversion, bzr is very very good at handling renames and tree shape changes, where you rename a directory, add files, remove files and the sort of stuff you do when cleaning up your code. Git is well renown for being fast, so under the blog post, a few days ago about aiming a sniper rifle at your foot and pulling the trigger because you just don't realise you've done it yet, he was using Git, he was also using bzr which is why he's got a good comparison. Hg is similar age to Git and bzr, the thing that they focus on most in their development is the sort of patch queue work-flow because it was developed by people who contribute to the Linux kernel, but didn't want to use Git so they have a work-flow that lets them generate patches to be pushed out to Git.