CUPS and Usability
I’ve just gone through the experience of trying to configure CUPS, the Common Unix Printing System. It has proved a textbook lesson in why nontechnical people run screaming from Unix.
Good UI design, and doing the right thing by Aunt Tillie, ought to be a matter of gut-level pride of craftsmanship.…None of this is rocket science.
What Raymond is proposing, in fact, is no change at all. This idea, that the hard work of development is in building the underlying foundation, and that the easy part is writing a “GUI wrapper”, has been the Linux/Unix way all along.
What I think would be a good start(TM) would be a program that interprets config files and turns them into GUI menus when possible, turning integers into fields, lists of commented out options into checklists/dropdown menus, etc. I know it wouldn’t be perfect but it would make editing a config file less scary for less experienced users.
I’d still say that Apple’s managing of printers isn’t particularly intuitive these days.
When you’re working on end-user software, and it doesn’t matter if you’re working on a Web application, adding a feature to an existing application, or working on a plug-in for some other application, you need to design the UI first.
Gruber’s point is somewhat undermined by the printing system of Mac OS X, an OS Raymond holds up as a shining example, being a “GUI wrapper” around the same Cups system Raymond was criticizing.