Friday, 13 April 2007

One Up, One Down

David Platt has written the book "Why Software Sucks...and What You Can Do About It", whose first chapter is freely available and that's the only chapter I have read, of course. Though really engaging and informative, the book seems written mainly to collect a little of cash. I don't get this guy who hates Windows but can't switch to another OS: the first chapter at least gives the impression that there is only one OS in the world. The main thesis, apart from the title itself, is that programmers don't know their users. Programmers believe that all computer users are as expert as they are, while the average user is not and therefore the final product is too difficult for the latter. Programmers [...] value control more than ease of use, concentrating on making complex things possible instead of making simple things simple.
From the point of view of this blog, NMR software is completely different. It has been in circulation before the advent of personal computers, before GUIs, before Windows. The users of NMR software not only should be experts by definition but are expected to be versed in science. I actually believe that they are the main cause why NMR software often sucks, with a good reason: they resist to changes. After you have worked for a year or more with a program driven by the command line, your fingers have learned to type the commands even when they are disconnected from your consciousness. If you switch to a menu-driven interface all your ability is wasted and, what's worse, you'll spend hours seeking the command you need inside all the menus. Even after they have learned to survive into a graphic environment, spectroscopists have written to me that they don't like simple programs just because they hide the complexities. Just like Platt's programmers, they "value control more than ease of use".
I am convinced that even the cleverest user benefits from a simple interface. Most of the software contains the double of menu items and the triple of icons than the strictly necessary and this is bad. I have always suspected that behind this abundance of interface elements there is a marketing strategy. When you buy a book, you accept an higher price when the book contains a lot of pages, when you buy a program you accept an higher price when there are ten modes, each one embellished by three rows of icons. Awake! I don't remember how to use the software I myself wrote 12 months ago: why should the user? A program is less valuable the more interface elements it has and the more it takes to read the manual, not the other way round. The ideal program contains no unused commands.
The making of a great software requires a prolonged interaction between the user and the programmer and both should be ready to change their minds often and to experiment new ways of doing things, even when they seem bizarre at first sight. In the real life, in the long term, we privilege the objects with a simple, minimal interface.

No comments:

Post a Comment