How to improve Ubuntu

Updated: July 17, 2010

The latest Ubuntu release is very good and does not need any major fixes or improvements. Still, during my recent testing spree, which led me to no less than five separate installations of Lucid, I encountered a few small issues that Ubuntu could happily live without. Then, I thought of a few more things that could be added/removed and so, this article was born.

The general principle of continuous improvement is valid for just about any operating system, so singling out Ubuntu seemed a little unfair and skewed, but given the facts it is the most popular desktop distro and Lucid being the three-year LTS release with a radical new interface, this is a good opportunity to think of features and concepts that could be brushed up toward the next version.

The mission of fixing, linting and polishing the bruises and dents in the distribution has started some time ago, called 100 Paper Cuts, with every new edition featuring an additional 100 tiny problems removed, be it a spelling mistake, a misaligned pixel, a confusing option, or anything else. While I do not pretend to be the GUI QA master of this world, I did find a few things that, if fixed, could immensely pimp up the Ubuntu desktop experience.

Teaser

Save live CD data after the installation

Some distributions, like PCLinuxOS, will preserve stuff you saved in the live session, including documents and additional files in the live user home directory. Ubuntu does not do this. Well, Lucid does make a change. It does preserve the Wireless settings, but no data, though.

Solution

There's no warning that this data will not be preserved after the installation. While this is not a showstopper issue, it's a matter of convenience. Copying the data saved during the live session would make it easier for many people to restore files already contained in the home directory. For example, music files or scripts used to test the functionality of the live session and various programs.

Language packs during the installation

Although the installation is pretty fast, approx. 15-20 minutes depending on the CD/DVD writer, available RAM and disk speed, a handsome portion of this short period is taken by the download of language packs, which, if you so desire, you can skip.

Now, the problem is the fact the language pack downloads are always universally slow, plus you do not really know what it means to skip this step. Will that somehow harm the installation? Is there a way to download the language packs after the system is installed? Here's a screenshot from a Mint install, which is based on Ubuntu and inherits the same fundamental issue:

Language packs

Solution

I would suggest adding a sub-step to the installation wizard, which lets users choose whether to skip the language pack download, including a clear explanation what this means and how the extra stuff can be obtained later. Furthermore, if users do decide to proceed with the download, allow them to manually choose which languages they want.

Language & IBus confusion

There are two sections that handle languages, the rather intuitive Language & Text option and the not so intuitive IBus. The two seem related, but it's not quite clear what they do and which one you should use. Or both? Or none?

For example, under Language & Text, you have the option to select languages. I guess this relates to my previous complaint about language packs download step during the installation.

Language

Under Keyboard input method, there's IBus:

Method

But what does this mean? What are lo-gtk and th-gtk? Then, why is ibus spelled in lowercase here when it's clearly marked with mixed uppercase and lowercase in the menu? Then, starting IBus is a horribly confusing thing. First, there's the use of word daemon, which means nothing to nobody. A background service would sound better. Furthermore, why ask the user if they want to start IBus when they clearly just did that?

What is IBus

Then, there's the reference to .bashrc and exporting Bash variables. C'mon! Besides, this is meant to solve a problem. How can you know if you have a problem, pray? The message is displayed right after the service is started, so the user has not even seen the main menu of this tool yet.

IBus

And the main menu has its own input method. Plus it lists languages, just like the other system utility. All in all, it's terribly confusing. The whole things needs significant rework to make simple, uniform and usable by normal people.

Main

Add desktop tour

Windows XP had a tour way back in 2001. Some Linux distributions offer this too, each in its unique way. Some display a self-help HTML file, others have a shortcut icon on the desktop. Pardus goes as far to offer you full desktop customization.

Ubuntu has none. Even though most of the stuff is terribly simple and straightforward, we geeks forget that normal people do not think like us and sometimes seemingly innocent things can become a nightmare.

Windows tour

Adding a simple, one-minute tour that displays the most important functions and highlights the strong features of the desktop, like various applets, the network icon, the function of the two panels, would be a tremendous improvement. Adding extra help documentation into the Documents directory would also help. For example, Linux Mint manages this superbly with their Welcome screen:

Welcome screen

Top panel Mail/IM integration

Ubuntu Lucid integrates the mail client and the instant messaging into the top panel. You have the Evolution mail and Empathy chat program. This is very handy for most people. But some just might prefer a different pair of programs or maybe remove the applet altogether.

Menu

While this can be easily done, this cannot be done selectively. If you want to get rid of the chat notifications and online status, you will also lose Ubuntu One and Mail shortcuts.

Solution

There are two different things here: 1) allow different programs to be used 2) allow selective removal or customization of the notification area so that individual functions can be added or removed, without affecting the entire applets. In this regard, leave Ubuntu One but remove the IM status, for instance. Or perhaps, allow users to trade the Evolution Emphathy pair for Thunderbird Pidgin combo.

Desktop notifications

Since Ubuntu Jaunty, the notification method has changed, with a new style used.

Wireless

After Jaunty, this was further refined in Karmic, but this time, the styling took a wrong turn, with a very large empty space left between the top panel and the message itself. This gap would feel somehow disjointed, making notifications look awkward and out of place, almost like a mistake.

Notifications in Karmic

The problem is carried over into Ubuntu derivatives, like Linux Mint. In Isadora, the latest edition, the notification looks totally out of place, more so since Linux Mint uses a bottom panel.

Mint notifications

Solution

The notifications should be placed close to the panel containing the system area, similar to what was used in Jaunty, with relative position depending on the panel size and screen resolution.

GRUB 2 menu wizard

I'm not aware of any such beast, but if it exists, then ignore this. Messing up with the bootloader is not something anyone and everyone should do, but if you do happen to be running a multi-boot system, you'll notice the GRUB 2 menu is not really pretty.

The biggest issue compared with GRUB legacy are the titles of operating systems. Rather than using the distribution names, kernel versions and partition numbers are listed, which only make sense for geeks.

Then, changing these is not an easy task. You need to disable the OS prober, create your own shell scripts based on the existing grub.cfg file, remove the default Linux entries and create your own, and update GRUB. And you will need make changes any time the kernel is updated. Compared to GRUB legacy, this is far more difficult.

Solution

I recommend a tool be created that would do all the normal GRUB stuff, like probing, but then allow the user to make customization changes to titles, order and timeout using a simple wizard. I also suggest symlinking generic vmlinuz and initrd to latest kernel and ramdisk files, similar to what is done on openSUSE, so that you do not need to recreate the GRUB menu any time the kernel is updated. Something like a combination of tools used in Mandriva and openSUSE.

GRUB customization

Conclusion

That's all I had for today ... today. Lucid Lynx is a very nice, very polished and streamlined distribution. It has the right ingredients, starting with stability via three years of support all the way to really good looks. Throw in simplicity, fast updates and good performance, and you should be enjoying yourselves.

Still, some things can be improved. Language setup, small comfort issues here and there, some extra help for new users not yet quite familiar with the Ubuntu Gnome desktop. Many things seem obvious to experienced users, but they are far from trivial for newcomers, especially Windows converts.

My list is far from being an all-inclusive guide to how things ought to be, but I think it's a good start. With some or all of these issues smoothed, Ubuntu can become an even better operating system.

Cheers.