If one were to think in terms of flow, the vast majority of users will go through the following two use cases:
- Choose language, try Ubuntu
- Choose language, install Ubuntu.
Anyone trying anything else is an advanced user who knows what they're doing. As such, I'd say the boot process should start with a full screen combo-box which allows one to scroll up and down to choose a language; once the language is chosen, the second menu has two options: "Install Ubuntu" and "Try Ubuntu without any changes to your computer". At the bottom, the shortcuts should be:
- F1 Help
- F2 Language
- F3 Accessibility (with, if at all possible, a accessibility icon)
- F4 Advanced
All these options are perfectly meaningful to any basic user; anything which requires domain knowledge is hidden in "Advanced".
At anu rate, once Install Ubuntu is chosen, the boot process is elegant and blazing fast - a great improvement over Intrepid.
InstallingOverall, the installation process is very clean, with as few steps as possible. In fact, I'd go as far as saying that Ubuntu installation is probably second to none now. I wasn't very keen on live CDs when they first came out - couldn't quite see the point - but I now understand the error of my ways. Having the ability of starting your PC with a full blown version of the operative system you're about to install is fantastic. You can quickly assess which bits of hardware are going to be more problematic, as well as giving Ubuntu a good run. For the average consumer this is great, a sort of taste before you buy, if you like. The only change I'd perhaps make to the live disc - for systems with plenty of RAM (say 2 Gb or more) - is to create a RAM disc with all the apps, to avoid reading so much from the (slow) CD-Rom.
With regards to the actual installation steps, there are two points which may warrant a bit of attention.
Partitioning is clearly the scariest aspect of the installation process, so its important to be clear and reassuring to users. It would perhaps be a good idea to make the partitioning options slightly clearer, in particular with regards to resizing an existing Windows partition. It would also be a good idea to ensure the text below "Use the entire hard disc" is clearly disabled, as just the words "This will delete Windows XP..." are enough to dissuade many a newbie.
Users and passwords are also rather important. It is common for a single PC to be shared by two or more people, so multi-user support is very important. It is also very common for users not to want to type a password every time they log in. These use cases are not very well served by this dialog:
Ideally all the user wants is one of two scenarios:
- Setup one or more users and, for each user, decide whether to use a password or not.
- For a single user box, probably allow automatically login.
Multi-user polish will be addressed further on in this article.
Loging inThe new login screen may be perhaps a bit too dark for users with accessibility needs, but overall its a triumph of parsimony. Its literally impossible to get confused using it. The only slight snag is the missing user list. Most people will probably prefer not to type a password, so it makes sense not to type a username either. The security conscious will no doubt complain, scream and shout - but from the perspective of the regular user, it makes complete sense (it's my house, not a public computer!).
The Proprietary Question
One of the greatest problems with Ubuntu (and most linuces) is the hidden steps of "additional setup". These can be extremely costly. Whilst there are enumerable articles, detailing exhaustively what needs to be done, and whilst most guides can be followed blindly by even the newbiest of all newbies, the very existence of the "additional setup" is a huge barrier of entry to many users. The additional setup is exclusively related to installing and configuring proprietary applications and drivers. For me these are:
- NVidia/ATI drivers
- MP3 support
- Getting (encrypted) DVDs to play
- Wireless drivers
- Flash
- Adobe acrobat
- Skype
For a very large number of users out there, a PC is not usable unless all these have been successfully installed and configured. The additional setup process has been trimmed to its absolute minimum, methinks, particularly if one compares it to how things used to be 5 or 10 years ago. It is, in fact, trivial in most cases. But this is the problem: when we look at where we are, we inevitably see things in terms of a natural evolution. A Windows or MacOS user will not see things that way; it will become instantly apparent to him or her that a lot of things are not setup on Ubuntu out of the box, and setting them up is non-trivial (even if all we're talking about is following a very simple and detailed procedure) because this is just not the way they are used to work.
In my mind, just like we have
gNewSense for the purists, we also need a "compromised" Ubuntu, _even_ if it requires users to pay for it to ensure all licences are in working order. After all, time is money, and I'd much rather pay Canonical 10-30 EUR twice a year for a "compromised" version with all the proprietary stuff installed, rather than having to waste time doing it. The "compromised" version should also be used in any pre-installed PCs.
Alas, this is not how things are at the moment. To make matters worse, my "additional setup" has been very far from trouble-free. These are the issues I've faced:
- Wireless (WPA) is utterly broken for my laptop. Try as I might, I just can't get my laptop to connect, even though it used to work well with Intrepid. Some people reported this issue in Kubuntu, but I'm seeing it with regular Ubuntu. A few of the proposed workarounds don't seem to work for me either, such as typing the password in hex. Its a rather annoying regression, and until it gets fixed, I've got a big fat Ethernet wire in my living room.
- Recommended NVidia drivers (v180) are broken for my card. This is #366222. For me there was a very simple workaround, which was to downgrade the drivers back to v173. No problems since then. Its an annoying bug though.
- Epiphany still crashes frequently after closing tabs when I'm using flash heavily. This is not a regression; I've had this problem for a long time. Its similar to #196588.
- Sound in Skype is not working. This is a regression prior to Intrepid - in fact, since PulseAudio. Its getting really close to working though; now the problem seems to be that Skype somehow lowers the volume of the microphone on startup (I can see this from the PulseAudio volume control). I followed many a tutorial (including this one, with amazing screenshots of volume control configuration), to no avail.
- Sound in RealAudio is not working. Same as for Skype really.
Lets make a few things clear. Setting things up and chasing bug tickets is not something that would put me off Ubuntu and GNU/Linux the least - after all, I've been using GNU/Linux for over 10 years, and I value FOSS highly. Also, it is important to understand that none of these problems have anything at all to do with FOSS - these are exactly the issues people have been warning us about with regards to binary drivers and closed software. After all, PulseAudio works incredibly well for all my other applications - its the closed source ones that are and have always been the problem (in fact, the only real FOSS problem I have with Jaunty is
#366083).
However, this is not an excuse for a commercial company looking to increase their market share at the expense of two ferociously competitive companies such as Apple and Microsoft. If I was Ubuntu, Novell or RedHat, I would have had personal meetings with all key companies providing commercial software (Flash and Skype are certainly key applications in the desktop space, even if RealAudio is not) and would have made available engineers to work with them to sort out the PulseAudio mess once and for all. Pulse is the future and its an increadible piece of software; Its just that the commercial companies seem unable to keep up. The same applies to NVidia/ATI.
Wireless is slightly more complicated, and its a symptom of a more difficult problem. The truth is GNU/Linux and Windows work in extremely complex ecosystems, with mind-bogglingly complex hardware combinations. Many things just cannot be known until releases hit the wild and people complain. Microsoft attenuates this problem by massively regression testing the most common hardware combinations; as far as I am aware, no Linux vendor does something similar. In a way, it shouldn't be necessary; after all, the software is provided to all at all points of development, so in theory regressions should be picked up quickly. Release soon, release often right? In practice, it doesn't quite work this way.
The
potential number of testers is huge - just have a look at the number of people that downloaded Jaunty on the last betas and since it has gone gold - but a very large percentage of users will not download until close to the release date. This means that the bugs reported during the development process are not representative of those that will be found post going gold; and people reporting bugs after the official release will be rather more upset with problems than those doing the alpha/beta testing. If there was some traceability, one could "register" all the different hardware combinations out there (say those using Jaunty over the next 6 months), and then check to see how many of those were tried during the development phase. But there is no such data, so one is driving blind. Metrics here are fundamental, and knowing what was tested and when is vital. I'm sure many people would contribute (after all, a lot of the testing can be done by booting a live CD) if only they understood where they fit in the big scheme of things.
All these problems are clearly distribution issues, and can only be fixed if distributors make an incredible effort. In order to have any semblance of a chance at attacking the desktop mass market, they must be addressed thoroughly and convincingly, or else we risk the ire of many a user.
Multi-User DeficienciesUNIX is the multi-user operative system par-excellence, and GNU/Linux carries on that tradition. However, there is a need to update the multi-user view of the world to today's reality. The challenge these days is not so much isolating users so that they cannot damage eachother or the system, but to create ways in which a machine can be shared sensibly. The issues I constantly keep on bumping into are:
- Music. I spend a lot of time creating groups, shares, permissioning, etc. just to ensure all users of the main PC have got access to a central music collection in RhythmBox. The setup is now more or less stable, but its not conceivable that a newbie would stumble on it after half-hour of googling (I'll write it up one day). This is an incredibly common use case: to have a shared music collection as well as a private music collection. The second problem is to access your music collection from another device, such as a laptop. I've had no luck in setting up DAAP from RhythmBox.
- Photos. I love F-Spot, its great. But I just cannot set it up in a multi-user environment - again with a set of private photos, as well as a set of shared photos that all users in the PC have got access to. As with DAAP, it would be nice to be able to browse the photo collection from a different device too.
- Printers. Setting up a local printer in Ubuntu is amazingly trivial. However, sharing that printer over the network is not trivial at all. It should really be a matter of right-clicking on a printer and choosing "Share". and, funnily enough, there is just such an option in "Printer Configuration". Problem is, my printer remained invisible to my laptop even after sharing. Making it visible required a large amount of faffing with CUPS config files and the CUPS web-based config.
- Shutdown with multiple users logged in requires entering a password. This won't go down well with the average user; a big notice would have sufficed.
All these complaints are sympthoms of a larger problem, which is a lack of use case based usability analysis. This should probably be done at the Gnome level, as it is not a distribution issue as such. There is a lot of focus on Gnome 3.0 these days, but it seems to me that the job of Gnome 2.0 is not yet done; the architectural work is excellent, but the polish wasn't quite finished.
The final thing with regards to multi-users, is user switching. It seems this will be comprehensively sorted out with
KMS, at least technology-wise, but it will be interesting to see if the user switching process is made much smoother (no flickering; allowing switching with no password; allowing switching with music still playing from previous user; etc.).
Grumpy Old Man?
By now you probably have made up your mind and judged me as a typical grumpy old man, lost to FOSS and soon to migrate to Windows 7 or MacOS. In fact, its quite the contrary: I'm a very satisfied Ubuntu user, and I think the future will belong, undoubtedly, to Free Software.
There are many, many good things to say about Jaunty, and in a way, the criticisms laid out above demonstrate just how far we have come. After all, Jaunty did do a sterling job of detecting all my hardware, other than the wireless / NVidia issues, and NVidia is working just fine with v173.
The best thing about Jaunty for me is performance. Its nothing short of amazing. I'm using EXT4 for all partitions other than home, but I'm not sure if the filesystem is enough to explain the snapiness of this baby. For instance, with two users logged in, quite a lot of applications open, playing music, 3D effects, etc and my CPU usage rarely goes above 10% and my memory usage has oscillated between 400 Mb and 1 Gb! Its amazing. All apps have slimmed down so much as to be unrecognisable. A two day old loaded Epiphany is still below 100 Mb, a sight I don't recall ever seeing. Booting and shutting down are now lightening fast. And there are so many unsung heroes: Evolution, Evince, Liferea, Nautilus - so many applications that just work, and do what they're told. I most certaintly recommend upgrading to all Interpid users, and I'll certainly will be waiting unpatiently for karmic and all the KMS goodness (NVidia/ATI permitting).
This is to say that Ubuntu is certainly working very hard, and releasing a product with a lot of quality. But as I said on my opening words, good is not good enough; one has to be much better than Apple and Microsoft if one is to challenge them.
For me, the big question is: can we put the fantastic engine of FOSS to good use in the hard problems of testing and usability? This is the key to unlock the mass market consumer desktop market.