Let's follow up from one of yesterday's links of interest. In the world of computer programming, user interfaces—more specifically, graphical user interfaces (GUIs) such as the kind most people use, with a mouse pointer and icons and text fields and buttons and widgets—have traditionally received little respect. Some hard-core software engineers consider GUIs mere window dressing, something to be added after the real work (i.e. the back-end logic of a program) is done.
Here, in chronological order, is a series of weblog posts describing why that's totally wrong:
- "...the vast majority of open-source projects are also volunteer projects; and it seems that the use of volunteers to drive development inevitably leads the interface design to suck."
- "...the developers of CUPS [Common Unix Printing System] have obviously tried hard to produce an accessible system—but the best intentions and effort have led to a system which despite its superficial pseudo-friendliness is so undiscoverable that it might as well have been written in ancient Sanskrit."
- "Linux geeks [are] frustrated by open source software's terrible usability. [...] the problem is that even Linux geeks have trouble figuring it out."
- "Creating a bad GUI is really, really easy. Creating a 'good' GUI is really, really hard. [...] How do you quantify good GUI design skills? I do not know. A great GUI is a work of art."
- "I spent most of the last decade honing my ability to absorb complexity and detail and translate that complexity into working programs. I'm spending this decade trying to make that premise seem ridiculous..."
- "When you're working on end-user software, and it doesn't matter if you're working on a web app, adding a feature to an existing application, or working on a plug-in for some other application, you need to design the UI first."