2009
02.28

It’s generally not the functionality of FOSS software I take objection to – generally its the neglect to put any thought into usability.  Sure software package A can do everything software package B can, but how intuitive and easy is it?

I’ve had many debates on this subject with another developer at my work and we have basically come up with a formula to identify and rate usability of a piece of software.  It goes like this (from memory)…

U = (T * R) + M

U = Usability
T = Time taken to perform action
R = Number of repetitions of an action
M = Time spent reading the manual or researching

The basic idea is that for a piece of software to be considered ‘good’ in terms of usability U should be as low as possible, when R is equal to 1, and as R tends towards infinity.  Estimates for R should also be factored into the design.  For example if you have instructed a user to edit their xorg.conf file and instruct them to use either Emacs or Vi, the initial value for M will be extremely high with R being 1, which is incredibly bad usability.  Sure as R approaches infinity the high investment in M pays off – but unless your a sysadmin or hardcore it will never be an effective use of your time.

The problem is the Linux approach tends to favour an initially high value for M in the theory that it’ll get balanced out by R and while largely true, nowhere near enough effort is spent minimising the initial M, with new users getting pissed off at the learning curve.  I use regexp based search/replace on a regular basis on documents and it lets me do in seconds what may take someone else hours to do without it, but I would not dream of suggesting to anyone that isn’t a developer to do it this way as M will easily dwarf (T * R).

Back to the subject – if you develop software for it to be considered ‘usable’, initial M needs to be as low as humanly possible, with it possible to invest in M as time goes on (and R increases), such as…

(M + 1) = (T – 1)

So if a user is truly going to perform an action repeatedly it should be possible to learn how to do it more efficiently.  These savings usually come in the form of shortcut keys but can also be plugins, advanced modes and other alternate ways of achieving a goal.

Needlessly high values for U occur when the user is asked questions that they do not have the knowlege to answer.  This can often be cured by providing advanced aids, better information or suggesting sensible defaults.  You get the idea.

So what’s this about Bugzilla?

Unfortunatley the bulk of feedback in terms of FOSS software tends to be through bug tracking software – namely Bugzilla.  As I have discussed earlier, listening to raw user feedback isn’t a strong point, and the distro’s just generally package up software written by thousands of different groups of users effectively acting as a shield between the developers and end users.

Usability problems do not factor into bug tracking software though.  Bugs that cause crashes and glitches, despite the potential to affect only a small percentage of the userbase are often classified as severe, while massive usability blunders at best will never be given anywhere near that attention.  In theory I am sure as soon as all the critical bugs get ironed out usability will be given attention, but who has ever witnessed an empty bug tracker?

As a result FOSS code is largely stable, efficient, portable, but the usability pretty much always sucks.  This is why.

Add Comment

2009
02.28

I am often guilty of over-thinking things, and following the great debates that I do – Liberal vs Conservative, FOSS vs Commercial, Football, Sports, Consoles and even the whole Middle East debacle something – a pattern – has come to my attention.

Behind every side of an argument is a greater truth.  It is rarely, if ever, voiced but everyone knows what their sides truth is, even if they do not even realise there is one.  The reason these arguments never end is because the truths on either side are fundamentally incompatible and once someone becomes ideologically entrenched in a position they will rarely change their mind and do anything to support their truth or discredit their opponents.

The problem with debating with 99% of the Open Source proponents is that the greater truth is that FOSS software is better written, more secure and generally superior to it’s Closed Source competition.  You simply cannot discuss the failings of FOSS in a public setting as saying that FOSS Software has problems runs contrary to the greater truth.

The other side effect of this is that little truths are sacrificed in the name of the big truth.  It is acceptable to be creative with reality, to slander, spread FUD, exaggerate, make ridiculous guesses and conjecture and do pretty much everything short of outright lying to forward this agenda. The ultimate example of this is Slashdot, where they have daily and Microsoft FUD sessions based upon wrong and exaggerated information, such as this.  Anything that points at problems with the Greater Satans of software is leaped upon without even a thought of fact-checking, while anything that runs contrary to their ideology is ‘debunked’ and explained away.

Personally I do not give a toss about the license a piece of software is released under.  I will use the best tool for the job, irrespective of ideological considerations.  Not that they do not matter – I will not use software or a service with an overly onerous EULA, nor will I buy limited use or overly DRM’ed software and games simply out of principle but I do not subscribe to a sides agenda entirely.

Of course the end result of this behaviour, that is the desire to support the cause and discredit the opposition, does massive damage to the same cause they are trying to support.  The only possible way for anything to improve is for it’s problems to be discussed and brought to light.  One of the best examples I have seen on this subject is this article by FOSS legend Eric S Raymond, with the point brought home by his followup The Luxury of Ignorance.

“This rant made it onto all the major open-source news channels, so I was expecting a fair amount of feedback (and maybe pushback). But the volume of community reaction that thundered into my mailbox far surpassed what I had been expecting — and the dominant theme, too, was a bit of a surprise. Not the hundreds of iterations of “Tell it, brother!”, nor the handful of people who excoriated me as an arrogant twerp; those are both normal features of the response when I fire a broadside. No, the really interesting part was how many of the letters said. in effect, “Gee. And all this time I thought it was just me…”"

Basically thousands of people were having the same issues as ESR with CUPS for years yet nobody spoke up* because speaking up goes against the support of the greater truth.

Now ask yourself this – if CUPS was a Microsoft product would so many people let such large issues with it slide for so long?  Or would mocking it be a regular feature on many forums and publications making it painfully obvious to anyone in MS that it needed attention?  And how can it possibly help the FOSS movement if criticism is only ever made of Closed Source software?

* Well a few probably did speak up but were promptly shouted down.

Add Comment

2009
02.28

I don’t use Desktop Linux.  I do use Server Linux (well, other people use it for me).  I also no doubt use it embedded in all sorts of devices that I may not even be aware of.  But I do not use it on the desktop.  This is a discussion of why not.

My first actual proper foray into the world of modern Linux (ignoring the occasional ssh account and random box) was back in ’06 (ish).  I run a small Internet Cafe and was planning to expand a bit so I needed a dozen or so new computers.  Now given the option of giving a sizable chunk of money to either A: Microsoft or B: The pub down the road, any conscientious citizen would prefer to support local businesses* rather than some big corporation.

So I decided to check out the latest Linux offerings, to see if I could realistically swap Windows for Linux.  As a DOS veteran, and a pretty capable programmer I was especially interested in the whole remote administration – imaging, updates, no annoying WGA (there is an oxymoron if I ever heard one).  I trialled numerous distros and asked quite a lot of people for recommendations and came to the conclusion that the closest candidate was the new kid on the block, Ubuntu. So I gave it a shot.

Unfortunately despite being the best of the group there were several problems prohibiting my usage of Ubuntu.  I was not terribly bothered as although I had been aware of FOSS for a while I thought it may be fun to get involved.  After all I had about 15 years of programming experience, and about four years running the Internet Cafe – spending that amount of time watching and helping normal users of all shapes and sizes use computers gives you the ability to see the world from a users perspective – a rare talent.

So I did what anyone else in my position would do – I typed up the ideas I had, what I felt were problems and ideas on fixing them.  Full of vim** and vigour I posted my thread – bad move.

What happened next was surprising to me, but probably unsurprising to just about everyone now.  The fanboys attacked.

Every single one of my points was ‘debunked’ – including such wishes as double-clickable .deb files, a non-verbose boot screen, reusable windows and many many more points which, incidentally, have largely all been made over the years.  Not a single point was allowed to stand unchallenged.

Obviously things got quite heated after a while.  While I was treating it as just your usual debate, and it is very like people who are used to a piece of software to reject change even if it is for the better (I should know I have been guilty of it on numerous occasions), I felt I should argue my corner.  After all it is an allegedly community driven development process and I am in a pretty good position to suggest ideas and have a captive audience of normal users to test upon.  The problem was everyone else was taking what I was saying personally.

After the mods started closing my threads (and me getting rightly pissed off) it was eventually declared that the General Discussion forum in the Ubuntu forums was not the place for discussing improvements to Ubuntu.  There were many forums for other subjects such as asking for help, posting wallpapers and even for such subjects as Christians and Ubuntu.  I tried to campaign to get a ‘Ubuntu Discussion’ forum added but was resoundly rebuffed – apparently there wasn’t the interest.

I checked out a few other distro’s and the results were largely the same – There was no place to give any feedback or constructive criticism!!! It boggles the mind that what is advertised as a community project does not seem to want the feedback of community.  At that moment in time I was an experienced programmer willing and ready to help the project, yet I was essentially told that my opinion was of no value and unwanted, and that critical opinions of Ubuntu were not welcome.

So I (eventually) created this blog to explore why such a great idea has gone so horribly wrong, and to document my adventure in the wonderful world of open source!

* Among other reasons.

** Nano, I am lazy like that.

Add Comment

2009
02.28

Welcome!

After several years of proctastination, a myriad of domain names and at least a half-dozen different designs (lets not mention the custom CMS) I’ve decided to to say ‘sod it’ and put up some content.

Welcome to WordPress! :)

1 comment