================================== ===== 07-01-2016 ===== ================================== I was annoyed the other day by a headline I found on the website of my university, reading: "If a product needs trainings or a user manual, it is not usable". (That was David Lamas, Professor of Interaction Design, saying in an interview.) Well, this is bullshit and now I will tell you why. First of all I have to admit that I like reading manuals. I even read manuals on stuff that I know how to use because often I hope to be enlightened on 'why' something works the way it is working. I like manuals printed as a book and often find myself printing out some PDF from the web just because standing up from your computer desk, browsing the manual and pondering on some tricky question will give you unexpected insights. (If you don't believe it, try it out yourself.) But the truth is: today manuals (and training) are considered useless. Instead, devices are allegedly built so that even the laziest user can use them. "Everyone knows, that if a machine is not easy to use, no-one will buy it", says aforementioned Prof Lamas. Is that so? Hell, no! Is a car easy to use? No it is not: you need intensive training that will cost you a lot of money (at least in my country). Has this ever stopped anybody from buying a car? Are today's devices built in a way that you can use them intuitively? I doubt that. And it's not that we are not there yet. Let's take Android as an example. The extraordinary success of this OS - that has a market share of more than 80% at the time of writing - is often attributed to it's ease of use. Now, I am not an Android user myself but my wife and daughter are. Whenever they turn to me with their tablet or phone because "something disappeared", "is not working any more" or whatever, I can feel that this OS is crap. (O.k. maybe not the OS but the applications and GUI that are build on top of it.) There are settings hidden in places where nobody will ever start looking for them. And if you ask other users they will frankly admit that they don't know how to set these things up. But they don't care. They will be happy to run their everyday apps even if they don't know how to handle Android. And after some time, when you have your 2nd and then your 3rd phone, you get used to it. Android has reprogrammed you. Things that seemed awkward and inconvenient in the beginning are happily accepted as "the way it's done". Now why are there no user manuals any more? First: because writing manuals is hard and unpleasant work. There is a significant difference in writing code and writing documentation (or manuals), even if Donald Knuth thinks otherwise (and I love the idea of 'literate programming', don't get me wrong). But I can feel it whenever I try to document some installation procedures or configuration stuff in my personal wiki. Writing a script or - beware - a whole program is a very time consuming process but every small progress will give you the reward of "Yes, it is running" and now you can forget about it and concentrate on the next step. In writing documentation there is no reward until the damn thing is ready - if this is any reward for you. Psychologically writing documentation is far more demanding. Second: we live in a time of beta products. Firefox is throwing a new version on me almost every week. And bugs don't matter any more. They will be fixed - some day. What is important today is the claim that you have something new, something shiny, that you have an edge over your competitors. And the documentation can not keep up with that speed. Because 'buggy' manuals are worse than no manuals at all. The UNIX system is known for its extraordinary documentation. We all love the man pages. We all hate the man pages. But in the Free Software Community there are numerous projects that I hesitate or gave up using because of the lack of proper documentation. If there is one thing we should invest more time and money in, it's the "fucking manual". Because if you develop an application that is there to stay, it will pay off in the long run.