OEIC

Software Metaphors

We have a Mac Mini, which is a delight to look at and use, and it really seems to embody Apple’s corporate philosophy of producing simple, elegant products that make computing easier. Hence, it was a big surprise when we plugged in a flash card of photos, the bundled iPhoto program launched and we were greeted with an interface that grouped our photos into “Rolls”. If there is any natural way to organize your digital photos, it is most certainly not by when you happened to stick your camera memory into your computer. Aside from this sin of mapping a new technology onto the very technology it obsoleted, iPhoto jumps outside of the Mac OS paradigm by manipulating copies of your photos, making it unclear how to access the original and the altered version.

This grabbed my attention not because iPhoto is bad software, as there is A LOT of bad software out there, but because the main thing Apple excels at is building intuitive software metaphors. A software metaphor is the intermediary level of thought that relates our conception of a particular real world thing or idea to a computer representation of that thing or idea. Debatably successful examples include:

  • The Desktop - frequently accessed items belong here, both physically and electronically
  • The Folder - related documents belong in the same folder, both in your filing cabinet and your hard drive
  • The File - transparent and obvious

When the information a piece of software manages and manipulates has no real world equivalent, the metaphors become a bit trickier. This is generally reflected in the name of software: a web browser, an FTP client, an Integrated Development Environment. One of the major challenges for software developers is to build metaphors which are easily apprehended and applied. Sometimes, metaphors fail and a new domain of terminology must be developed. This is often the case for groundbreaking, powerful programs that change how we think about computing. Such products have a steep learning curve, as they don’t leverage much of the knowledge and concepts a user has acquired over time, but they provide capabilities that were previously unavailable.

In the field of PC operating systems, I think this a large reason that Windows and Mac OS are far more prevalent than Linux. Many metaphors in Linux aren’t highly developed, and lie too close to the actual computer hardware. They give you more power, but you have to be quite sophisticated yourself to use the system at all. I’m not claiming that Linux isn’t successful, only that it will be a niche product until its interfaces are abstracted closer to real world terms. Adobe Photoshop is very similar, in that it is very powerful, and has a loyal user base, but casual users will find MS Paint much less frustrating to use.

Perhaps the next time you’re using one of your favorite or least favorite programs, you can ruminate on what knowledge you have to bring to the table to fill in the gaps in the software’s metaphors and make the program usable. You might find that less you have to know to do what you want, the more you like the program.

No comments     Jump to comment form | comments rss | trackback uri

Say what?

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>





About this entry

Categories