Overview
Most programmers' fear of user interface (UI) programming comes from their fear of doing UI design. They think that UI design is like graphic design-the mysterious process by which creative, latte-drinking, all-black-wearing people produce cool-looking, artistic pieces. Most programmers see themselves as analytic, logical thinkers instead-strong at reasoning, weak on artistic judgment, and incapable of doing UI design.
In this brilliantly readable book, author Joel Spolsky proposes simple, logical rules that can be applied without any artistic talent to improve any user interface, from traditional GUI applications to websites to consumer electronics. Spolsky's primary axiom, the importance of bringing the program model in line with the user model, is both rational and simple.
In a fun and entertaining way, Spolky makes user interface design easy for programmers to grasp. After reading User Interface Design for Programmers, you'll know how to design interfaces with the user in mind. You'll learn the important principles that underlie all good UI design, and you'll learn how to perform usability testing that works.
Editorials
From Barnes & Noble
b>The Barnes & Noble ReviewWhy do so many programmers hate building user interfaces? OK, some think users are morons -- you know, "lusers." But there's a bigger reason: real insecurity about their ability to do this (allegedly) "artistic" work. Truth is, you can build really good UIs by combining a few basic rules and principles with some good-old-fashioned common sense. Joel Spolsky has gathered all these into one terrific book: User Interface Design For Programmers.
Rule No. 1, Spolsky says, is this: "A user interface is well designed when the program behaves exactly how the user thought it would." So how do you figure out what users expect, realizing that (as a programmer) you aren't one of them? Ask a few (it doesn't have to be many). And think more clearly about what you're doing.
For example, should users really have to decide how big the Help database index ought to be, when she merely wants to know how to turn an image upside down? No choice is often better than interrupting the user's workflow with a decision that's irrelevant to their goals.
Spolsky shows how to use metaphors (including when to use them, and how to avoid bad ones.) You'll see why tabbed dialogs work (except when they start jumping around "like restless children on Class Photo Day"); and why other metaphors, such as My Briefcase, were screaming failures.
Spolsky advocates designing as if your users can't read, can't use a mouse well, and "have such bad memories they would forget their own name if it weren't embossed on their American Express." (As Spolsky emphasizes, they're rarely that dumb, but are often preoccupied with more important matters.) He also offers practical guidance on using heuristics (why it's OK for Word to replace "teh" with "the," but never to tell you "It looks like you're writing a letter"?)
Spolsky offers quick introductions to the process of effective user interface design, and the realities of user interface testing (what you can legitimately discover via up-front testing, what you can't, and why you'd better make sure the developers are watching through the one-way glass). The book concludes by applying its principles to web design, with its added challenges -- the limitations of HTML, and time delay associated with round-trips to a server, which tend to make web interfaces feel clunky at best. You'll learn why less web user interface is usually better (it means users will rely on hyperlinks and their browser controls, which they might actually understand by now.)
User Interface Design For Programmers is a pleasure to read. It doesn't just demystify user interface design, it humanizes the subject. Heck, even makes it fun.(Bill Camarda)
--Bill Camarda is a consultant, writer, and web/multimedia content developer with nearly 20 years' experience in helping technology companies deploy and market advanced products and services. He served for nearly ten years as vice president of a New Jersey-based marketing company, where he supervised a wide range of graphics and web design projects. His 15 books include Special Edition Using Word 2000