Many hands make the light work; few make it shine

Ubuntu lives in a special place between Windows and Mac OS X reserved only for Linux: more shine than Windows, less than OS X, resulting in a steaming pile of mediocrity.

Since I’ve been involved in the Ubuntu world, I’ve witnessed countless examples of settling for the middle ground – it works, it does what it’s meant to, but it doesn’t stretch that extra bit further to make the user experience more enjoyable and hence the customers happier. These half-baked implementations paradoxically lead to more frustration than if they were simply omitted. Users attempt to play with the shiny toys scattered about by developers only to discover the sharp and pointy edges.

One of the reasons that Apple are so successful and resonate well with the mainstream is that they have these great ideas, but they follow through with fantastic implementation and an attention to detail. We seem to have a sprinkling of the former, but none of the latter. According to Derek Sivers, ideas are just a multiplier. A brilliant idea is worth nothing unless you put in the time to make the implementation brilliant as well.

For example:

Launchpad blueprints: At the Ubuntu Developers Summit I was assigned a lot of work items in plain text on a whiteboard on individual blueprints. Now all the stuff I have to do is spread out all over Launchpad and it’s very time consuming to actually figure out what I’m meant to be doing. If we went that extra bit further and allowed work items to be assigned to people, I could easily view all work items assigned to me and have my tasks neatly outlined in one place. I would spend less time finding out what I’m meant to be doing and instead spend more time actually doing it.

The Me Menu: My flatmate asked me to install Ubuntu on his laptop because he was fed up with Windows. After playing around for a while, he removed the Me Menu only to find that the shutdown menu disappeared too. Even though the menus aren’t even remotely related, they’re linked for some reason and provide an unexpected result when you try to remove one.

Not to mention that the text field is missing a label.

The notification system: It needs some improvements, like handling priorities so it doesn’t interrupt your fullscreen games and movies, among other things, but it virtually hasn’t been touched since its first implementation over a year ago. Have we just decided that it’s “good enough?”

The infamous copy and paste bug: If you copy some text, then close the source of that text, then try to paste it elsewhere, nothing will happen. It’s been open for six years and it’s one of those things that should have been fixed long ago but for some reason or another, it’s just been neglected.

Brainstorm: Excellent idea in theory – what better than some infrastructure where the users can use democracy to vote for features? There’s only one problem: I don’t think I’ve ever seen an original brainstorm idea implemented that wasn’t already planned by Canonical.

The Ubuntu documentation hasn’t been updated since 2008, not even the copyright notice. The official documentation is just stuff from upstream, which will become increasingly irrelevant as Ubuntu moves away from upstream with Unity, the new indicator applets, Me Menu, Notifications, Software Center, windicators, client side decorations etc.

Then there’s the community docs with an ubuntu.com sub-domain which refer to Microsoft as M$. I mean, come on. Unprofessional much?

And where are the images? Documentation and support should be full of interactive tutorials, visual aids and multimedia – but it isn’t because it’s simply easier to have text only.

I hear you say that all of this is okay, because we have an “iterative development process” where we release something every six months and then build on it for the next release. But the problem here is that we’re still releasing a product, and, in the case of LTS releases, the consumer might not see another one for two years. Ubuntu’s core strength is the desktop, it’s the first Linux many people touch – and so any little warts aren’t on our feet, they’re festering on our face.

We’ve already learnt the lesson that some people try Ubuntu, don’t like it, and never try it again. How many times have you heard folks who say that they tried it a couple of years ago and thought it was ugly and their wireless card didn’t work? They’re very hard to win over so it’s key to make sure that every product we release has a high standard of quality, time based schedule or not.

Some people and projects are doing it right – the elementary project, the docky guys and the papercuts project are perfect examples of what Ubuntu should be. We need more projects like the 100 papercuts initiative – where bugs are identified and fixed with no hassle. This project just hunkers down and gets it done, and the immediate result of that is a better overall product because all those little things count.

Elementary OS

The elementary team create excellent themes, icons and Nautilus tweaks with huge attention to detail so their operating system looks incredibly polished, and Docky has a professional feel about it that makes it even better than Mac OS X’s dock which Apple spent years developing and fine tuning. Integrate that with the innovative Zeitgeist work and you’ve suddenly got a feature that our competitors don’t have. But instead of including this great work in the system we bury it in a repository. My PPA list is about two miles long because the software I want to use isn’t available in the repositories.

The problem doesn’t just lie in the software, or in the community, or in any particular department or team. I feel it’s an ever present attitude that’s associated with open source, Linux or Ubuntu – or all three. It’s almost as if we set the bar for quality lower than our proprietary counterparts, maybe because most of us are volunteers, or we don’t charge for our product or we feel that open source will become mainstream one day based on its principles alone.

Even we sometimes act in ways that come across as a half-arsed attempt. We provide horrendous support for newcomers and are sometimes downright rude. We don’t collaborate anywhere near as much as we should, and we stink of bureaucracy and time wasting protocol that we’ve struggled so hard to escape from. Canonical withholds valuable research and information from the community as if we’re working against each other, we have councils to govern councils and our support infrastructure and first use cases are a mess. Our community is something that our competitors don’t have, it’s one of the aces up our sleeve, and right now we don’t utilize it to its full potential.

We shut people down when they voice their concerns or criticisms with entirely good intent, be it in private or on a blog for the world to see. We’re closed to change, closed to new ideas and enthusiastic, innovative people – unlike Google which are the complete opposite to us and have proven their methodology works. They encourage creativity and build a foundation where they believe nothing’s impossible – I’d like to think we have that mentality too.

If we want to fix bug number one, get rid of the Microsoft monopoly that’s been plaguing the world for 20 years, and actually bring free software to the masses, we need to hit the gym and get in shape. Not only our product, Ubuntu, but our collaboration and our protocol, our infrastructure and our people.

We’re all working towards the same thing, so don’t get all defensive if I criticize your work – I’m trying to help. Don’t work in secrecy when you’ve got an entire community of intelligent and talented people at your disposal literally asking for stuff to do, and don’t skimp out on the minor details, because it’s all those minor details put together that make a good product into a great one. Work out where to draw the line between forcing something that’s unpolished into a release because you’re stuck on a schedule, or perhaps giving it another six months before incorporating it.

And remember, the bitterness of poor quality remains long after low pricing is forgotten.

Over the next few weeks, I’ll be posting articles looking at each problem I’ve raised in detail and investigating possible solutions.