Log in

No account? Create an account
open-source usability - Accretions — LiveJournal

Fata Morgana
2004-04-02 11:46
open-source usability
David pointed me to this essay, linked off Slashdot, about open-source usability. It's an interesting read. I disagree with his assertion that GUI design - or artistic design in general - is an "innate ability." What appears to many as innate ability is, I think, more about attitude and passion. I also disagree with his statement that GUI design is an "order of magnitude more work": in the average commercial software development project, about half of the time and half of the code go into the interface. What would take an order of magnitude more work is to change hackers' opinions about human-computer interaction.

Last week I was having a discussion with a CMU student about "HCI evangelism." He said he used to argue that human-computer interaction was part of computer science, but now believes it is and should be considered as a separate discipline. I think that it is different from traditional computer science, but I think it's too important to computer science to push it off in a separate department, so the "pure" computer scientists don't have to deal with it (and can continue thinking of it as inferior to "real" computer science). It should be present in all parts of computer science application-building. It's not enough to slap an interface on top of an application; good interfaces are built from the bottom up, giving the right handles to the next level, and that can only happen if developers at all levels know something about usability.

I also think those who say that HCI is "too young" to contribute anything yet are short-selling the discipline. Sure, human-computer interaction has only recognized itself as a discipline for 15-20 years (though over half of that time as "man-machine interaction"), but computer science has only recognized itself as a field for about 50 years! Concepts tested by both time and HCI professionals - such as prototyping, user testing, the human information processor, and the model-view-controller architecture - could help hackers and other code monkeys practice user-centered design. Of course, getting them to appreciate it in the first place is another problem entirely. Just make user-interface design a required course in computer science curricula! ...

In our discussion of all this, David slammed me for wanting to make interfaces so simple that they take away the power that computers have to manipulate information, perform repetitive tasks, etc. How can one have the power of the command-line in the graphical interface, so everyone can start using computers as the powerful tools that they are? This task is many orders of magnitude harder than just usability. It'd be great, but I sure don't know how to go about it. Some programs have taken shots at this, such as Photoshop's batch "Actions," spreadsheet programs, Office's macros, and some of XP's right-click menu options, but those still don't have the power of shell scripts. Still, just because I'm stupid about it doesn't mean that others are too.
Comment | 13 Comments | | Link

2004-04-03 20:44 (UTC)
(no subject)
I think the essay by John Gruber that you cited is unnecessarily harsh on Eric Raymond. Sure, Eric doesn't have the whole picture — but no one can claim to know the final answer on the entire issue. Eric doesn't really believe in "spray-on usability"; he knows it's deeper than that. And John is naive to say that Eric's problem is beyond what Aunt Tille would have to handle when he asks, "In what world does the archetypal nontechnical user have two computers connected by Ethernet?"

I agree with you also in your opinions about innate ability. As with many skills, interaction design is a blend of innate ability, learned ability, knowledge, experience, and perseverance. John Gruber writes: "It’s an art, and like any art, it requires innate ability. You can learn to be a better writer. You can learn to be a better illustrator. But most people can’t write and can’t draw, and no amount of practice or education is going to make them good at it." He is totally off the mark. Millions of children are in school learning just those things, and a lot of them do become decent writers as a result. They don't all become Edgar Allan Poe, but so what? We're still much better off with a more literate population.

Every computer science program should include (a) an ethics course; (b) a human factors course; and (c) a security course. There's simply no denying the fact that computer "science" is to a large part a generative endeavour, like engineering, involving and affecting human society in profound ways. It's high time computer science education accepted responsibility commensurate with its power.
Reply | Thread | Link

my journal
September 2013