For centuries, progress was about to make possible what was not. All the technologies, all the inventions were done with the very idea of “Make something that was never done before, that was considered as impossible”. It worked so well in the last decades that we faced an new challenge: things were now possible but incredibly hard to do. Only a few educated minority was able to use the technology.

One of the solution to that problem is to train people. That’s the solution we choose for cars. Driving a car is incredibly complex and dangerous. Yet, most of us manage to learn the basis in a few months. Some kill themselves (and sometimes innocent beings). But we don’t mind and don’t even consider it as a technical challenge, merely an educational one.
Another solution is making the technology easier, requiring less training. This is the path we are following with electronic devices. This became a brand new field of engineering: usability. Ten years ago, a three buttons dishwasher came with a hundred pages manual. Now, your full fledged computer come without any manual at all.
Not graphical design
Usability is often confused with graphical design. A lot of graphical designers consider themselves usability specialists. This is a very common mistake. Graphical design is about making things pleasant, pretty, cool. Graphical design follows trends or marketing hype. Graphical design is about taste. Usability is about making something as easier as possible for a target population. You can have something easy to use which is ugly. You can have something very cool and pretty but incredibly hard to use. The only intersection between the two is that people will pay more intention and will be more volunteer to learn when something is pretty and shiny. Graphical design can help usability but they are different fields.
Usability is now the major area of progress for consumer devices. The form factor of any new modern device is only shaped with the constraint of the user interface. A TV is a screen. A laptop is a screen and a keyboard. A phone is a touchscreen. There’s no real breakthrough that can be done on the technological level : a bit thinner, a bit lighter, that’s all. On the usability side, all has to be invented.
Historically dismissed by free software
Yet, usability is the most forgotten area in most free software projects. The reason is simple : technology is about making things possible for at least one person on earth. Like breaking the sound barrier in free fall. Usability is about giving it to as many people as possible.
Free software hackers are, in majority, an educated elite that does not need usability. They are trying to make possible something that was not. As soon as they can do it, job is done. They don’t understand that some people can’t follow them. They don’t realize that they are the one man free falling from stratosphere. Awesome but completely alone.
Sometimes, they care enough about graphical design. Because, like everyone else, they like pretty things. The free software is improved and, indeed, looks cool and shiny. The hacker feels that his software is better to use. He likes it more and, by mistake, he feels that he improved the usability.
But it’s not true. The technology is still out of reach for the vast majority of the population.
A mandatory requirement
The direct consequence is that most free software projects will stay confidential, with a very limited audience. The lack of success in the mass market will create many excuses: “people are dumb and lazy”, “big monopolistic corporations are evil and killing alternatives”, “people don’t understand the ethical implications”. More positively, it might be “We need to do more marketing”.
Famous examples are Status.net, Bitcoin, Diaspora or even Debian as a desktop. Those projects are all in their stratosphere. Just try to raise the usability point in those communities and you will always receive the same answer: “But it’s easy, you just have to do that and that. It cannot be more easy than that.” or, even worst, “we don’t want to become usable, we only target the elite”.
Those projects are either failing to understand usability or arrogant. They don’t make their technology available. Free software hackers are always complaining that the source are not available or that project X is not free enough. The truth is that not being usable is a lot worse. Because it means that your project simply don’t exist for the vast majority of mankind.
Perfection or enabling?
In that regard, Canonical, Google, Facebook and even Apple are more ethical than Debian or the whole GNU project: they make possible something that wasn’t for billions of people. Not in a perfect way but, at least, they do.
People are facing the choice “doing things in a far from perfect way” or “not doing anything at all”. Guess what? Progress rarely comes from “not doing anything at all”.
EDIT : it should be noted that, in French, “design” means “graphical design” and has no other meaning. It should be understood in that way in my post.
Picture by Giovanni

The On usability, free software and perfection by Lionel Dricot, unless otherwise expressly stated, is licensed under a Creative Commons Attribution 2.0 Belgium License.

I don’t think this definition of design is necessarily the one everyone uses. Having such a strict definition of “design” meaning basically only “look” is not really productive, as it just leads to conflicts with people who define it differently.
The field of “user interaction design” for instance is vastly wider than what looks cool.
You can’t label the whole Free Software movement as not caring for usability. Yes there is a lack in usability in a lot of free softwares, just like in the large majority of proprietary ones. This is an issue that only a few are caring about in the software field.
Also, usability design is expensive and take time. So one needs more incentives to build a usable software than what it takes to build a (barely) working one.
Finally, I think usability is harder to address in openly build softwares. Most people does not value usability when they need to invest in it, they only see its value once it as been done. Usability also suffer from the Parkinson’s Law of Triviality, everyone think they known enough to have a say in on how it should be done and be listened. These make it very hard for someone wanting to build a usable software openly in collaboration with a community. These issues are easier to work in the proprietary world where decisions are not constantly questioned, and where decision makers can easily can put an end to discussions in order to have their working force focused on getting things done.
But I agree, the lack in usability is, and has been for a long time, one of the major issue preventing people to use Free software.
Interesting point, very true, but I think you miss the fact that, without the “geek in his stratosphere”, the “usability maker” can’t even initiate his work.
Look at email : the dinos of old constructed a very complicated, very sophisticated piece of software that was inunderstandable by the common folk (sendmail/mail – cheers to M4). some dinos of old thought that was not the right way to do and made another piece of software a little less complicated (postfix/mutt).
The software was so useful that the usability experts tried to create something more usable (exchange/outlook in the old version).
20 years later (today), you have very complicated software that evolved and do very well their trick (send and post mail) and are used in most of the infrastructure needed to effectively transfer mail (internet). On the usability side, some very simple and usable software that are used by millions of people (gmail – outlook.com) but are still somewhat powered by the complicated one.
Another example is the graphical desktop : Gnome, KDE and E16 initiated some very innovative tricks… recreated in a more usable way in windows/mac.
In short, it’s the vying between the geeks and the usability expert that made the trick. The whole is an ecosystem, whith R&D on one side (FLOSS software)and mass products on the other side (mass products). This POV, of course nonwithstanding the legal/ethical question !
KaTeznik
What about android? That’s open, user friendly, enables other developers to make apps, etc…
What about Drupal? What about the boxee box?
What about those sony bravia TV’s or samsung TV’s?
All free software and user friendly. Or at least, partly.
Free software is mostly not meant to be user friendly for the enduser, but is mostly used to build great solutions with. Open source is good in building libraries, tools, drivers etc for developers to build on.
Do not forget that usability will awlays be second to functionality. Taking one of yours very bad examples, Debian is ptoject for functional free universal operating system, exactly because of that there are “distributions for dummies” based on Debian. Plus for people having bit of knolage about the Debian way, Unity/GNOME3 are not the most usable interfaces

Btw, all sirious programms are befor anything else functional and for all of them people do need “driving license”. But I agree – it’s cool to have real usability in situations where it make sense, problem is most of the time it is confused with stupidity
This post reminds me of an older one you write, a few months ago: http://ploum.net/post/opportunites-…
I agree with your observation about usability on free softwares. I recently tried Linux (actually, Debian) to build a server, with a few services for personal usage.
Well, in the long time, learning how things works, understanding some essential concepts is very rewarding (well, finally, this server worked!), but, well, only “in the long time”
Because at the beginning, things weren’t that easy, so let me troll a little bit with a simple example: how to switch a network card on?
==> Windows:
Double-click on an icon in Device Manager
It works
==> Debian:
Hum… I have to open a bash, and type a command, but what was it already?
Oh I remember, “ifconfig <interface> up”.
Fuck, what’s the interface name? Oh yes, eth0
Shit, why that won’t work? Oh yeah, I need this sudo thing
Crap, that won’t work… How I add myself in sudoers group? (30 mins and a few forums later…) Ok I found it
Fuck again, I forgot the command I initially needed.
So, now, things seeems easier, because I remembered and understood how to do these things, but still, I think ergonomics wasn’t the priority… I will spare you questions like “How to configure SSH”, “How to setup a FTP server”, “wha’ts this iptables thing”, but basically, I’ve never heard myself saying “fuck”, “crap”, “shit”, “why that won’t work?” so many times…
Even learning the concepts is time consuming though it’s not an issue particular to free software, but since I don’t work in IT , nor I had any formal training in it, it doesn’t make things easy.
And even after a few months using Debian (on my free time, so not on a daily-basis), I still don’t know how to connect my computer to a WiFi network without a GUI (shame on me, yeah…). Well, actually, I don’t know how to do this without searching the answer on Internet.
So, I understand that the average Joe doesn’t want to spend (waste?) a lot of time for searching how to do things that are, at the first glance, easy, in a complicated manner. I love using Debian only because I got time to learn it, and because I have defined needs, and a few ideas I’d like to experiment.
****
Tiens ça me rappelle cet article, que tu avais écrit y a quelques temps: http://ploum.net/post/opportunites-…
Je suis assez d’accord avec le constat sur l’ergonomie/la convivialité des logiciels libres. Je me suis mis à Linux il y a peu de temps (Debian d’ailleurs) pour monter un serveur, plus quelques services destinés à un usage personnel.
Alors, à la longue, apprendre comment ça fonctionne, comprendre un certain nombre de concepts c’est très enrichissant (puisque j’ai fini par arriver à le faire tourner ce foutu serveur), mais voila, on parle bien “d’à la longue”…
Parce qu’au démarrage, c’était franchement la galère, pour donner un exemple tout con (c’est encore frais dans ma tête): “Mais comment qu’on fait pour mettre en route la carte réseau?”
==> Windows:
Double-cliquer sur une icône dans le Gestionnaire de périphériques.
Ca marche.
==> Debian:
Alors je sais qu’il faut ouvrir la console, et taper un truc, c’est quoi déjà?
Ah oui “ifconfig <interface> up”.
Merde c’est quoi le nom de l’interface déjà? Ah oui eth0
Ah merde, pourquoi ça marche pas? Ah oui faut faire sudo machin.
Merde ça marche pas… comment on fait pour se mettre dans le groupe sudoers? (30 min et quelques forums plus tard…), ah c’est bon j’ai trouvé.
Merde c’était quoi déjà la commande dont j’avais besoin à la base? J’ai oublié…
Bon, avec le recul ça me paraît con et c’est simple à faire, maintenant que j’ai retenu et compris comment faire, par contre effectivement l’ergonomie c’est pas (toujours) ça… Je passe les épisodes du style “comment installer un certificat SSL auto-signé”, “comment configurer SSH”, “comment mettre en place un FTP”, “c’est quoi iptables”, où jamais une telle profusion de “putain”, “merde”, “fait chier”, “pourquoi ça marche pas bordel” n’était sortie de ma bouche…
Et sans parler de tout ça, apprendre les concepts: ben oui, SSH j’en savais rien de ce que c’était avant de m’y intéresser. Mais bon, ça n’est pas un problème propre au monde du libre…. Je précise tout de même que je travaille pas du tout dans l’informatique et je n’ai aucune formation, je suis juste un peu curieux…
Même encore aujourd’hui après quelques mois d’utilisation (pas intensive, juste quand j’ai un peu de temps libre), sans interface graphique, je ne sais pas comment me connecter à un réseau WiFi (c’est un peu la honte quand même). Enfin, je sais pas comment faire sans aller sur Internet chercher la réponse quoi…
Donc, je comprends que le péquin moyen, il a pas envie de se faire chier à chercher des trucs qui ont l’air compliqués pour faire des choses à priori simple. Moi, ça m’éclate mais c’est parce que j’ai le temps d’apprendre à m’en servir, j’ai des besoins, et des idées que j’ai envie d’expérimenter.
****
P.S.: typo “progress what about to make possible what was not” ==> “progress was about to make possible what was not”?
It’s this **attitude** that makes all the usability moot.
A lot of the “but we are doing usability” things do actually care very little for the users. They care for the OPTICS and the DESIGN, and their own IDEAS. They often do a heavily biased study to support their view. But it is not half as objective as they claim.
And then they LOVE USING THIS EXCUSE. Blame it on the others. If they don’t like what you are doing, it’s because they don’t care about usability, these freaks!
This is why I do not care for usability people anymore. They are an arrogant bunch, not really caring for their users.
I don’t agree with your conclusions. A car that only moves in a straight line is more ethical than a ragular car? The car without a steering wheel is certainly easier to use and enables more people to drive. I don’t think it’s true. It enables more people, but it does not enable them as much as the other car.
Honestly I don’t see why you don’t consider the “I don’t care about mass-usability” acceptable.
If I spend 100h developping something new for myself and publishing the result for free (in both sense of the term), who the f*** are you to ask me to spend another 10/50/100h to make it usable for you ? (“you” being here the luser, not you ploum personnaly in case that wasn’t clear).
If it takes you 10h of work to get up to speed and learn to use my stuff it’s still 10 time less than redoing it from scratch or even doing it at all.
If you want to get something polished, you can always contact me and hire me to do the job. Unlike facebook/apple/etc I can’t collect private data from your life and sell them away to finance myself …
We had this discussion before. Designers are by definition usability experts.
What you are talking about when you say design is visual design, graphics designers or artists.
STOP CALLING IT DESIGN!
@Alberto Ruiz :
Are you joking when you say a designer is by definition a UX expert?
“Usability is often confused with design. A lot of designers consider themselves usability specialists. This is a very common mistake. Design is about making things pleasant, pretty, cool. Design follows trends or marketing hype. Design is about taste. Usability is about making something as easier as possible for a target population. You can have something easy to use which is ugly. You can have something very cool and pretty but incredibly hard to use. The only intersection between the two is that people will pay more intention and will be more volunteer to learn when something is pretty and shiny. Design can help usability but they are different fields.
Usability is now the major area of progress for consumer devices. The form factor of any new modern device is only shaped with the constraint of the user interface. A TV is a screen. A laptop is a screen and a keyboard. A phone is a touchscreen. There’s no real breakthrough that can be done on the technological level : a bit thinner, a bit lighter, that’s all. On the usability side, all has to be invented.”
You are right that designers don’t know anything about UI. The GNOME devs need to drill this to their heads. But I don’t agree that all has to be invented in usability. There are already several rules and laws that are proven to make products with good usability most of the time. Unless you are a genius (which the GNOME devs clearly aren’t) you don’t ever break this laws. Otherwise you get the GNOME Shell, which is, in the best case, a Hinderburg disaster.
GNOME Shell needs to be axed, or at the very least redesigned to fit a new philosophy closer to the traditional desktop and actual usability difficulties, and without ANY involvement from any current GNOME designer.
What a beautiful piece of shit laid by an apple user completely blind by looking at his wonderfull and shining apple computer. That’s great for you. I know you like to have everything without giving any efforts, but in fact, you know what, to use a computer you need to learn !!! No, really ??? What a bullshit. Windows is not easier than mac but windows is still number one. People are nuts isn’t it ? Why do they keep using an useless os ? Tell me, because it is shinny and friendly ? you like this word “usability” you have finally learned about a new word and you want to spread the good news. Good on you. That is amazing, you are number one and still worry about some elite jerk, where is the point ? Why complain about something that is not a menace ? Just leave us alone ! We do not want something shinny and friendly. That is a beautiful troll, do you like it ?
Thinking of GNU’s three freedoms, one could think of a “Freedom Zero”: the freedom for users to achieve their own goals.
Software that doesn’t enable its users to achieve their own goals is useless at best, damaging at worst.
“The truth is that not being usable is a lot worse.”
In my opinion you’re going a bit overboard in the last few paragraphs… I think it’s better to create a tool which is only usable by few, than not creating this tool at all. If other devs have time to spare, they can put it into making the tool usable; in the meantime, at least the experts can use it to solve their problems. Not ideal, but pragmatic. Or, to use your words: Progress rarely comes from “not doing anything at all”.
Btw. Apple and Canonical are poster examples of this: GCC and Mach and Debian may have bad usability, but at least these projects exist, and they enabled Apple and Canonical to stand on the shoulders of giants and build their usability-enhanced systems.
I just installed my first bitcoin client, and it took me more than 3 nights to get my Bitcoin address. I agree that it’s not that easy and conveniant for a simple user.
Now if you are a generous person you can send me bitcoins at:
185g5vKrppYhtrjYcDqHXnvNq4wLvLZ7Dd