Linux/FOSS

Building the Perfect Computer

November 24, 2012

I was about to call this post ‘Building the Perfect Operating System’ but not only would that alienate every person I want to read this, it would also be misleading, as in this case the operating system in question is purely a means to an end.

The post is inspired by reading an article on Genius (turns out I’m not one ;-)), which asserted that Steve Jobs was the latest in a timeline which stretched through Aristotle, Galileo, Newton, Edison and Einstein. This labelling of Jobs as a genius is something that doesn’t sit right with me. Surely he was a salesman, a businessman, a leader with a keen eye for the market? He’s sometimes labelled as an inventor, and yet Steve Wozniak is identified as the engineer in early Apple, while Jony Ive seems to get plenty of credit for the iconic Apple designs since the late 1990s.

So I set out on a Google-trek to find out what Steve Jobs’ achievements were, in the most direct sense. Turns out: very little, but he did have a skill, which was the ability to:

  1. Bully people into producing design after design after design, even when the first one was fine;
  2. Choose the very best from all the choices he now had, and perhaps tweak it for final refinements

So while he could not engineer a new product on his own (this was not the nature of his Grand Vision), he could extract the very best from people, even if he had to be a bastard while going about it. It was the hundreds of choices he made, and the demands he put on his engineers and designers, which made the Macintosh and the many iDevices the popular products they are.

The main problem I have with these devices, though, is that they are closed. But this was not because Jobs wanted full control, and a captive audience. It was because he had, in his own mind, created the Perfect Product. It’s well known that the iPhone and iPad developed from Jobs’ dissatisfaction with the way phones and tablets were developing. He set out to perfect these types of devices, and so why bother creating more than one of them at a time? And why allow people to mess with it, if it was perfect already?

Open and Perfect

The Free and Open Source Software (FOSS) way is different. It recognises that what is perfect for you is not perfect for me, and vice versa. It states that a user must be allowed the ability to tweak, change and adapt a program to her needs.

This makes perfect sense to another engineer, but a lot less sense to a non-engineer. For someone who does not program, what difference does it make? Despite not being an engineer myself, I recognise the difference, in that I know that the development process has its advantages, even to me as an end-user.

But there lies the difficulty for Linux distributions such as Ubuntu which strive for mainstream (non-engineer) acceptance. They first must run the gauntlet of the early-adopting, Linux-using engineering class, and any attempt to create a Perfect, no-need-to-tweak system attracts howls of derision and accusations of restriction and selling out.

A Perfect and Open home computer would therefore have to be tweakable, but can it be created so perfectly that no one would want or need to? Could we then dispense with the buttons and sliders which create options and potential confusion at the same time?

Usability etc

What’s needed in a home computer is a minimum of fuss to allow maximum productivity. As much as I like Linux, the two things which have reduced my ability to Do Stuff are:

  1. Getting my damn software and hardware to work the way I like it;
  2. Tweaking the hundreds of options which an open platform allows.

I know I can steer clear of options, but it’s just so hard! 🙂 In the short time that I used a Mac (iBook) I realised after a while that I never changed any settings, which is totally unlike me. I then realised that there was little to change, and what was changeable was already set up in the best way.

So if we approach a lack of buttons and sliders from the point of view that such minimalism increases usability, and if we can create the Perfect Device so that such gizmos are unnecessary (as I believe Apple have), then surely this is a good thing! And this especially applies in the FOSS world, where the ultimate tweak is available: the ability to switch distributions altogether.

So, with a nihilistic frame of mind which says ‘make it perfect and damn the critics’, how do we go about creating the Perfect Device, inspired by the example of Steve Jobs, who probably wasn’t a genius?

I think I’ll go into that in the next post.