There’s no code inside this well-written book for programmers and visual designers. Instead, the focus is on usability — how people use things — and how you can make big, modest or subtle improvements to their experiences with digital interfaces.

Many great techniques are suggested that I never thought of as part of «design.» Mathis includes mock press releases, job shadowing, and feature sorting. Not only does he teach several techniques, but he also gives low-budget suggestions. He removes any excuse for not following certain steps such as usability testing.

(…)

In general product development I often see two areas that lack: design and documentation. Mathis hits on both topics. Every step of the design process is covered succinctly and thoroughly making it quick and easy to read yet includes many references for further indulgence. I would highly recommend this book to both young and experienced developers.

I was struck by the intellectual rigor in this book. A lot of designers are self-taught, so when they write books, they’re heavy on anecdote, opinion, and swagger. That’s great for selling yourself and getting on the speaker’s circuit, but those books are often a bit … light.

There are also a lot of books that boil everything down into very strict scientific formulas. These books take a lot of magic out of design, by trying to turn an unpredictable process into something that feels like painting by numbers.

I like that this book gives you a full survey of the field without being dry. There are tons of real-world and entertaining examples and diagrams, so it feels less like a textbook and more like a guy who loves great design and would like to tell you everything he knows.

Want to read more like this? Buy my book's second edition! Designed for Use: Create Usable Interfaces for Applications and the Web is now available DRM-free directly from The Pragmatic Programmers. Or you can get it on Amazon, where it's also available in Chinese and Japanese.

Hi. My name is Lukas Mathis. I studied Computer Science/Software Engineering and Ergonomics/Usability at ETH Zürich. I work as a software engineer and user interface designer for a swiss software company creating process management software. I've written a book about usability. It's been translated to Chinese and Japanese. My first computer was a Performa 450, my first programming language was HyperTalk, my first electric guitar was a cheap Peavey, my first videogame was a VCS 2600 and my current snowboard is from Lib Tech. I live in a small cottage in a remote part of the Swiss Alps, and you can reach me at or on twitter.