Sharecroppers and Serfs

I just took a quick peek at the new, so-called user-friendly installer for the next release of Debian. It’s pretty obvious these folks don’t have a clue about talking to real users. I doubt they’ve done any end-user testing. For instance, after I’ve selected “English” as my primary language, maybe it would make sense to move the English keyboard layouts to the top of the list? And do they really expect end users to understand or care about messages like “Loading module ‘plix’ for ‘Intel Corporation 82371AB/EB/MB PIIX4”? I asked for English in the install. Would it be too much to ask that the installer speak it? And I’m sorry, but “SCSI1 (0,0,0) (sda) – 4.3 GB VMware, VMware, Vi” is not a sensible name for a disk. How I am supposed to choose between “Primary” and “logical” partitions? I could continue, but I’ll stop here. Haven’t any of these people ever used a Mac? In many ways, Linux is an extremely modern operating system, which makes it all the more frustrating that its user interface is still stuck in 1982.

One thing Stallman has never really acknowledged (at least that I’ve ever heard) is that the freedom he talks about is only for programmers and people who can afford to pay them. Everyone else is a serf who has to bow at the table of their programmer masters. In some ways it reminds me of ancient Athenian philosophers and Roman republicans philosophizing about freedom and democracy in a society built on the backs of slaves. The simple fact is that until the free software movement starts to take user interface design seriously, a typical end user is vastly more free using a Mac or even Windows than they ever will be using Linux.

The only counter example I can think of is Firefox. Firefox has a genuinely good user interface, with only a few minor glitches; probably less than you’d see in a typical end-user Windows application and only a few more than you’d find in an average Mac app. But that’s it. Mozilla’s a little worse than Firefox when it comes to the user interface. And I can’t think of any other open source, end-user application that even comes close to its non-free counterparts. No, OpenOffice doesn’t qualify. Claims that OpenOffice is as good as Microsoft Office, itself not a sterling example of user interface design, are wishful thinking at best. Maybe 2.0 will be better, but 1.x is at most adequate. I speak as someone who wrote an entire book using OpenOffice, and boy was that a mistake. There are real costs to using software with poor user interface design, and in this case the cost was a book that came out months later than it was supposed to. There are advantages to OpenOffice compared to Microsoft Word. The native XML format is a big one. But as typical for open source, this advantage does not make the slightest bit of difference to a non-programmer end user. Until open source developers start writing software for end users instead of each other, the situation will not improve; and most of the world will remain serfs. The only difference will be whether they bow in the direction of Redmond, Cupertino, or Cambridge.

15 Responses to “Sharecroppers and Serfs”

  1. lrbalt Says:

    I like your post. In a time where you see more and more open source project pay more attention to user interfaces, your description of the Debian installer shows that we’re not quite there yet (never tried installing Debian though…)

  2. vbonfanti Says:

    Isn’t what you’re saying generally true of all end users who are not programmers: they’re not all that interested in the “freedoms” that Stallman talks about, but rather in the usefulness of the software? To them (non-programmers), choosing software is primarily an economic decision: is the value I’m getting more than what I’m paying for? It seems to me that this point gets completely lost in most discussions of “free” software. For the vast majority of software users who are not programmers, the “freedom” to view or modify the source code is completely irrelevant. The only “freedom” that’s relevant to them is the “free-as-in-beer” freedom that Stallman and other “free” software advocates tend to want to downplay. When Stallman started the free software movement in the 1970’s it was probably true that most software users were programmers, but the world has changed in the past 30 years. I’d guess that today the vast majority of software users (95%? 99%?) are not programmers–to them any talk of “freedom” that isn’t about “free-as-in-beer” is incomprehensible blather.

  3. neale Says:

    Good/Bad UI not a consequence of Free/Not Free

    Firstly I agree with your main point that user interface in free/open source software is generally appalling, My sticking point is on your definition of ‘free’. At this point I imagine eyes are rolling and we’re starting to dismiss this comment as yet another ‘get real’ type viewpoint. If you’re still here… If you said The simple fact is that until the free software movement starts to take user interface design seriously, a typical end user is vastly more productive/happy/quicker using a Mac or even Windows than they ever will be using Linux. then no problem. I know that this seemingly petty argueing about what ‘free’ means is also mostly irrelevant to the average user (including the average programmer). Unbeknownst to most people is that the vast majority of software takes away what those same people would consider are fundamental rights in another setting. If I buy a car and say the radio has bad reception I can buy a new aerial and install it. If I haven’t got the skill/time to do that I can find a mechanic and pay him to do it. Now consider what happens with my new Word Processing software that doesn’t quite work the way I want to. With a commercial vendor I’m basically stuffed. With free software I can make the change I want or pay someone to fix it. So with ‘free’ software, I’m free to fix it, get it fixed, or to move to another product. With ‘non-free’ software my only choice is to move product. The choice to use Free software isn’t about necessarily chosing the best software, rather it’s the choice to not give up my freedom to chose, ‘cos one day I might really need it.

  4. Romain Guy Says:

    Even amid programmers… …there are some, a lot in fact, who don’t care at all about their freedom. Fervent supporters of logiciels libres might not like this statement but let’s face it, every developer on hearth does not care about important things like freedom in software world. Each year, hundreds of IT schools and universities unleash thousands of programmers on the market. Among those guys, a lot just chose a profession, not a way of life nor a religion nor a social combat. As it happens with about every other profession taught in school and universities. I perfectly understand what is RMS message and I think logiciels libres have numerous advantages. Yet, when I read that kind of article, I feel trapped by this way of thinking. So many people are harassing us, developers, so that with stick to this social attitude, that I feel less free with them actually. IMHO, some guys got it right, like the authors of the BSD license which, compared to GPL for instance, gives you a real freedom as a developer. As for UI design in logiciels libres, things are pretty easy to understand. Only a few developers are interested in, and take the time to, learning how to design good UIs. That is also understandable. Yet, it is much more difficult to attract artists and designers to the world of logiciels libres than bare developers because, as you said, only they can really be attracted by the properties of logiciels libres. * I took the liberty to use the French translation of “free software” to avoid any confusion. After all, RMS might yell at me for not being precise 🙂

  5. beders Says:

    User UI design not considered important.

    The problem you describe is not typical for free software. I can find it in all software and it really is driving me nuts. Obviously designing a good UI is not seen as a separate role which requires a very different skill set. If you could convince project managers (be it open source or commercial projects) to consider hiring UI designers and consider them as an integral part of any application development then things might change. The mac folks got that one right (mostly). UI design and implementation is in a terrible state IMHO. I see almost noone outside the scientific community trying to tackle the problem in a more abstract way, defining common metaphors for the interactions you describe in your article. Those metaphors, expressed in a formal language (no I’m not speaking of HTML here ;), could be used to automatically create UI for the relevant toolkits. Creating automatic UIs has a long history of failure. The most convincing concept I’ve seen is NakedObjects. This works if you are willing to introduce your users to an object-oriented desktop, but this is often not an option.

  6. andrewgilmartin Says:

    Alluring usability

    An element missing from Human-Computer Interface Design (posted in your Recommended Reading) that goes to the heart of all software usability is Feature only what you need to. Why is Microsoft Works so successful? Because it offers a very large user-base — home and small business — just the right feature set for their needs. At $49 at his or her local Staples it is an extraordinary good return on investment. What you see coming from most free and open software developers in the integrated application arena are attempts at something with the richness and complexity of Microsoft Office. A usable application suite is hard to achieve even with the resources that Microsoft can bring to the problem. But what really haunts the free and open software developer is that when working on something smaller — an RSS reader or an IM client — the developer tends to make it bigger by adding far too many non-core features and configuration options to integrate non-core features with core features. Having more features is a sign of prowess. Having better access to features is not. If we could make usability visible — alluring even — we would have better usability.

  7. ababiec Says:

    Car/Radio analogy neale: That is a poor analogy and everyone here knows it. Swapping out a radio is equivalent to changing a plug-in. Changing a word processor (besides the most trivial examples) is equivalent to getting a car heavily customized (extending the frame, new engine). And while cars can be modified as much as you want (as long as you don’t care about the warranty and it meets roadway standards) who can afford these types of changes? Not many. If you get someone to customize a word processor, how do you maintain that change when future updates come out? Cars don’t have this issue. How do you ensure you didn’t cause side effects? Cars are infinitely simpler to test.

    And while a mechanic can pretty much fix any car, how many programmers know all languages on all platforms/architectures on all the OS’s out there? Seems like the only ones you can take advantage of this is big corporations and programmers, such as myself. Freedom my ass.

  8. James Orenchak Says:

    Car/Radio analogy Hey, ababiec, you certainly haven’t looked under the hood of a BMW or a Mercedes Benz recently. Without the correct computer with the correct version of the problem analysis software for the particular model car to be repaired, even the best auto mechanics have no chance! Because almost everything in such autos is controlled by microprocessors, such automobiles are just as complicated as today’s IT infrastructures and architectures. Such modern automobiles are no simpler to test than modern software. One of the few things that can be changed without reprogramming the car’s electronics system may be swapping out the radio, which makes the Car/Radio analogy a good one. I must disagree with Neale on one point, though. I know of several large organizations with specialists able to expand Microsoft Office applications with macros. These specialists are almost always able to put the desired additional functions into the purchased application. Before new versions are released, these specialists test and reprogram until the required macros work. Open Source applications may reduce the costs a bit, but in general I see no difference between purchased software and Open Source software as far as this goes.

    Even though I see no difference between purchased and Open Source software as far as adding additional functionality, I am an advocate of Open Source software. It’s cheaper to purchase and in many cases fixes are made available much faster than for purchased software. Harold is right, though, when he says that Open Source projects should spend more effort on producing good user interfaces. Getting the user interface is very, very difficult, but very, very important!

  9. Buggy Says:

    User friendly is not ignorance friendly I find the Debian installers to be very user friendly, especially since you can just open a console on the other TTY’s. I also find GNU Bash more user friendly than the Explorer in Windows. I find GNU Emacs more user friendly than Eclipse and MS Word for editing code and writing documents. I also find mutt more user friendly than Outlook or Thunderbird. I can understand that people do not have the time to learn Bash and/or Emacs, but they find them difficult to use based on lack of knowledge, not because Bash and Emacs lack functionality. I have the knowledge to use Bash and Emacs which makes them very powerful tools to me, much more powerful than Eclipse and MS Word, and I’m a user. It’s time to start addressing the real issue: who is the intended user group? People with the skills or people without them? I don’t see why skilled power users shouldn’t be able to use CLI tools and ignorant/non-caring users can use the pictures and WYSIWYG’s.

    All in all I prefer CLI tools. I find them more efficient and easier to use which is why I consider them more user friendly. I feel akward using GUI:s and thus I can spin it around and say that the Windows, Mandrake or OSX environments and installers are very user unfriendly. Posted by peter@fsc.cc on Thursday, February 17th, 2005 at 6:58 AM You have it backwards… I find the Debian installers to be very user friendly, especially since you can just open a console on the other TTY’s. What opening the console has to do with anything? I also find GNU Bash more user friendly than the Explorer in Windows. I find GNU Emacs more user friendly than Eclipse and MS Word for editing code and writing documents. I also find mutt more user friendly than Outlook or Thunderbird.

    Then you just don’t know what friendliness is. You don’t find Gnu Bash more “user friendly”, you merely find it more useful to you. It is a completely different thing. Same for Emacs, Mutt etc. Have you done SCIENTIFIC research on HCI (Human Computer Interaction), with a group using say Emacs and another one using Word? In real scientific tests on users CLI programs as you mention fair much lower than GUI programs. I can understand that people do not have the time to learn Bash and/or Emacs, but they find them difficult to use based on lack of knowledge, not because Bash and Emacs lack functionality. Who said anything about lack of functionality? Unfriendly != lack of functionality. Something needing more knowledge than something else to be used means that the former is LESS USER FRIENDLY. So, when you say that: “I can understand that people do not have the time to learn Bash and/or Emacs, but they find them difficult to use based on lack of knowledge” you essentialy say that Bash and/or Emacs are not friendly. Friendly means precisely REQUIRING LESS knowledge. It’s time to start addressing the real issue: who is the intended user group? People with the skills or people without them? I don’t see why skilled power users shouldn’t be able to use CLI tools and ignorant/non-caring users can use the pictures and WYSIWYG’s. In fact (1): Debian Installer and Mutt are not CLI tools. Debian Installer and Mutt are ncurses tools, which is a GUI toolkit. The fact that they run inside a terminal does not make them command line programs. So you are mistaken if you think that CLI tools are better because of …Mutt and the Debian Installer. Emacs too has a curses interface (and another toolkit). The mere fact that you press keystrokes doesn’t mean anything. Most GUI programs can be controlled by keyboard shortcuts.

    Fact (2): As much as GUI tools have flaws (such as the Debian Installer), CLI tools have the same flaws too. For example inconsistency. The -h flag means “show help” in some CLI programs, but it means for example “show in megabytes and kilobytes” in LS. Some CLI programs adopt one configuration format (say XML), some adopt another, having the user to remember endless meaningless variations of specific mini languages. Etc. All in all I prefer CLI tools. I find them more efficient and easier to use which is why I consider them more user friendly. I feel akward using GUIs and thus I can spin it around and say that the Windows, Mandrake or OS X environments and installers are very user unfriendly. But you would be wrong, since, as I already showed, you cannot even distinguish between a CLI and a GUI program.

  10. Snarf Says:

    “”One thing Stallman has never really acknowledged (at least that I’ve ever heard) is that the freedom he talks about is only for programmers and people who can afford to pay them. Everyone else is a serf who has to bow at the table of their programmer masters.””

    Isn’t it deplorable that so many people chose to be serfs? There is nothing that prevents them
    to learn. There are many easy languages, Ruby, Tcl/Tk, Python. There are many books, a lot of free information, a lot of interpreters/libraries, example code.

  11. Elliotte Rusty Harold Says:

    Even if everyone could be programmers not everyone should be, any more than everyone should be doctors or musicians or lawyers. There are many other valid professions. Programming is not a basic life skill. Choosing to be a doctor or musican or lawyer or teacher or any other profession other than computer programmer should not condemn one to serfhood.

  12. namehere Says:

    Man, I hope those free software guys get their acts together. Then Microsoft will dump thousands of programmers on the market to compete with me.

    Sharecroppers, serfs, and…

    Slave (n): Someone who works for 0/hour through duress or duplicity; eg an open-source programmer.

  13. Jeremy Bowers Says:

    Everyone else is a serf who has to bow at the table of their programmer masters.

    And the alternative you are proposing is… programmers have to bow at the table of their users?

    This sentence pre-supposes a falsehood, that users are somehow obligated to use Free Software. You don’t directly say it, but you seem to be claiming that programmers need to be obligated to their users, which aren’t paying them or in any other way in a position of authority.

    The free software relationship is one of freedom in both directions. If you prefer, there are no obligations, unless the user and programmer freely enter into them.

    This is no different than commercial software, after all. Most people would laugh at the claim that Microsoft should create features and software for people that aren’t their customers. (With a small exception for security fixes and that only because it ultimately affects their paying customers and everybody else to boot.)

    But somehow, programmers freely giving away their source code seems to disconnect people from this simple relationship.

    They are free to ignore you. You are free to use something else. They are free to suffer whatever consequences result from your non-usage, which I suspect you’ve rather over-estimated. Should you find that open sourec software doesn’t meet your needs you are simply right back where you started, not behind by anything but evaluation time.

    To make it really clear, since I’ve actually been around this loop before: If you really want to question this point, then you need to explain to me how my working for free and freely giving something away that I could have simply *not* given away somehow obligates me to you. I’m yet to hear a coherent explanation of this. I think it’s because one doesn’t exist.

  14. Elliotte Rusty Harold Says:

    Stallman indeed does claim that users are morally obligated to use free software, and that’s what I’m responding to here. I agree that this claim is a falsehood, and will remain so as long as free software usability is so poor. Real freedom requires usability, and usability is more important to freedom than hackability. If Stallman and cohorts want software to be free (as-in-speech) then usability is a prerequisite.

  15. Stefano Says:

    Good post, thank you.

    I constantly use open source AND commercial applications and operating systems and I really agree with you.

    So, I wonder why open source projects are so good in giving services for programmers but don’t have services for a good usability testing team. It is a matter of technical difficulties, money or what ?