I'm a dev and recently picked up "The Design of Everyday Things" as an attempt to become more design-oriented. Everyone raves about this being like the bible of design.
So far I'm about 80 pages in and have found it extremely academic and not very practical, sometimes deriving conclusions that are so far from reality that they are a bit concerning, like how a strong password does not matter because once they inevitably leak they can always be cracked via rainbow tables (the author doesn't use this exact term). As we know the exact point of a strong password is that it will not be in a rainbow table.
Of course the original version is pretty old but I picked up the latest revised version. Still some interesting insights and I haven't given up on the book quite yet but it's been a ton of theory and a lot of terminology so far.
I was gifted this book my a CIO when in college. She had a dozen copies in her office to hand out to various people.
It took me a few tries to get up the will to actually read it. It was years ago, so I don’t remember a lot of details. My main take away was to make controls logical for the thing being controlled. “Norman doors” are the big one, but I often think about it while I’m in my car trying to do something on a touch screen, when all I want is a knob, button, or switch.
In the modern era of web design I think it would point to these websites (like most of Apple’s product pages), that make users scroll through indulgent animations, just to get to the content. It may be cool the first time, but is very annoying for repeat visits, and it feels like it breaks my scrolling expectations. Not to mention all the horizontal scrolling thrown in there, which becomes a headache for those without the hardware to do it easily, and confusing to change scroll direction all the time.
It tells lots of things but you can takeaway a few things.
One of the key takeaway example for me was that if you make an approachable flat surface, people will put things on it. This is a small example but tells a lot about design of common things.
Another was that I shouldn't be blaming myself for failing to use an everyday thing, I should be blaming its design.
After reading the book I now keep seeing so many design flaws in so many things around. It also made me appreciate good design similarly. I probably think a bit more about users of code etc now, doesn't mean I write better, but it has changed perspective quite a bit.
"Bible of design" might be a bit excessive. It's a good design 101 book. Definitely longer than it should be, and kind of fumbles the explanation of "affordances", which the author had to clarify later. It's representative of "design thinking" as a historically well-situated concept in design, but that's not necessarily a good thing in itself.
It really depends what you're looking for. If you want something deeper, more abstract, I would recommend going straight to something like Notes on the Synthesis of Form by Christopher Alexander, which I think typically appeals to the more abstraction-oriented part of the mind of engineers. If you want to get more actionable, practical day to day recipes, Refactoring UI as suggested somewhere else in the thread is a decent suggestion.
The Norman door was a powerful example for me, as it emphasises that the user is not the problem but the push door with the handle is the problem.
And if you’re designing the door, it is your responsibility to think deeply and observe behaviour, to design an intuitive interface.
I do agree that it’s rather academic, but I did leave with that one takeaway.
For me the real capability unlock from The Design of Everyday Things was that it made me start noticing and thinking deliberately about design decisions, which pushed me to begin evaluating everything through that lens. In general it comes down to looking at something and asking "what is good / effective and what is bad / annoying about this". If you keep doing that enough you develop your own taste and a greater appreciation of the world. Donald Norman isn't handing you a map, he's teaching you how to build your own.
Still more on the psychological and even philosophical side than being about how to do design, I really enjoyed Jenny Davis, "How artifacts afford" (2020). It takes consideration of 'affordance' to a new level. If that rings bells, you'll love it.
For Devs/Engineers and even many designers, things some of us tend to take for granted were amazing to them. So, my first recommendation is to read Refactoring UI end-to-end and keep a copy handy at your desk.
PS. Refactoring UI is from the guys who created TailwindCSS.
I read it and thought it contained several good ideas, but was excessively wordy and would have benefited from being half as long.
Like you say, it's old and I'm nostalgic for the time that I associate reading it with. I think that explains some of the love folks (or at least me) have for it.
I've never revisited the book and thanks to your comment I might not ever now ha
my take on this book is that 1) it contains a lot of foundational knowledge/wisdom about design as interpreted broadly that is very useful across contexts, and 2) it is itself, ironically, an example of poor design. Not in the visual sense, but in that it's structure and writing do a pretty bad job actually conveying that knowledge to the reader and being navigable.
I tried reading it and hated it, then I came back knowing bits and pieces of its contents from elsewhere and was like "yup, this is the only place I've seen all of this together".
i also picked up the book with high hopes and dropped off about where you are at. useful concepts like affordances and signifiers but felt like a lot of filler.
I took a Computer Science class decades ago that used that book as the core of the class material. I don't remember a single thing about that class now except that I hate that book and the professor bragging about designing cockpit instruments or some such. I learned more out of a cognitive psych class.
I've used The Design of Everyday Things in many classes I teach. I would agree that it's not practical, but that's not its goal. Instead, it gives you frameworks for thinking about things as well as vocabulary for talking about those things.
Off the top of my head, some of the key ideas include:
* Affordances, that objects should have (often visual) cues that give hints as to how to use things * Mental models, that every design has three different models, namely system implementation, design model, and user model, and that the design model and user model should try to match each other * Gulf of Evaluation (the gap between the current system state and people's understanding of it) and Gulf of Execution (the gap between what people want the system to do and how to use the system to do it) * Kinds of Errors and how to design to prevent and recover from them, e.g. slips (chose the right action but accidentally did the wrong thing, e.g. fat finger) vs mistakes (chose the wrong action to do)
What's particularly useful about Norman's book is that these key ideas apply for all kinds of user interfaces, from command-line to GUI to voice-only to AR/VR to AI chatbot. I'd encourage you to think about this book in this kind of framing, that it gives you general frameworks for reasoning and talking about UX problems rather than specific practical solutions.