Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Good books or articles on UI design?
363 points by nahcub on Oct 14, 2016 | hide | past | favorite | 86 comments
Coming from a newbie perspective. It's something I'm interested in learning more about on the side

Some of the reading list in the UI/UX course at Brown:


Particularly (free links with pdfs),

Don Norman - Design of Everyday Things https://archive.org/details/DesignOfEverydayThings

Bill Buxton - Input Manuscript http://www.billbuxton.com/inputManuscript.html

Alan Cooper - About Face http://feiramoderna.net/download/pos-positivo/COOPER-Alan/Ab...

Vignelli - The Vignelli Canon http://www.vignelli.com/canon.pdf

Bill Buxton - Sketching User Experiences http://bscw.wineme.fb5.uni-siegen.de/pub/bscw.cgi/d807887/Sk...

(the workshop slides) https://www.medien.ifi.lmu.de/lehre/ss14/id/Day%202%20Sketch...

Design of everyday object is really great and I cannot recommend it enough.

Udacity also has a mooc that follows the book and is taught by the author


I got the book Sketching User Experiences:The workbook(different from the Sketching User Experience), don't buy that book. It also has Bill Buxton as its author, but has only some references from the original book.

Looks like the brown information are locked under an authentication :(

That's why I posted the links to the pdfs! :-)

Ahh, silly me! I was trying to go for the assignments and lectures too! Thanks!

Joel Spolsky's "User Interface Design for Programmers" is concise, educational, entertaining... and free (even an easy-to-read all-in-one HTML page):


Also highly recommend Steve Krug's "Don't Make Me Think" (as others have already commented): http://www.sensible.com/dmmt.html

If there is one UI design book to read, "dont make me think" is it. And if you don't have time for it's already speedy read, the entire book gets summed up in the title: Don't make your users think about how to use your software.

From Joel Spolskey page:

> "Another example from the world of Microsoft Windows is the Alt+Tab key combination which switches to the "next" window. Most users would probably assume that it simply rotates among all available windows. If you have window A, B, and C, with A active, Alt+Tab should take you to B. Alt+Tab again would take you to C. Actually, what happens is that the second Alt+Tab takes you back to A. The only way to get to C is to hold down Alt and press Tab twice. It's a nice way to toggle between two applications, but almost nobody figures it out, because it's a slightly more complicated model than the rotate-among-available-windows model."

I don't think anybody who used OS before expects a different behavior, most users know that alt tab toggles between recent apps

Yes, it's a bit dated (check out those screenshots!)... but the fundamental concepts are still valid. He's trying to explain that you should make programs behave as the user would expect them to -- but it's up to you as the developer to use your judgement to know what the common expectations of the time and platform are.

I was taught this as "The Principle of Least Surprise" or do the thing that causes the least surprise.

Where it gets tricky is that as programmers we are also power users and our mental model of what we expect to happen and what a user expects to happen diverge, I try to have empathy for the user.

One of my tricks is to imagine what my mum would expect to happen (not because she's a woman, it's not a sexism thing I hasten to add) but because she's a 60yo woman who didn't start using a computer until she was in her 40's and is slightly wary of them still.

If it passes the mum test then I know I'm on the right track.

Insightful quote but I disagree that users 'get' Cmd+Tab. I have to explain it to most people.

Maybe you just have smarter friends. ;)

Alt Shift Tab makes the cycle go backwards.

"The Design of Everyday Things" is a classic.

I also loved his follow up book, "Emotional Design: Why We Love (Or Hate) Everyday Things".

One of the best design books I've ever read.

There are many books talking about UX/UI design, but most of them are quite abstract and do not tell you, when exactly, on which stage of your software development process to apply the knowledge they present. This often leads to a typical mistake done by developers, that I've seen in too many projects, when UI design is considered at later stages of the project, when they are starting coding the UI and all the backend is already done. Because of that, the process is equally important and needs some of your attention.

To achieve really good results in UX design, to do it at the right time, I'd recommend to start not from the books, but from the interaction design specialization on Coursera at https://en.coursera.org/specializations/interaction-design or you can take just intro - https://en.coursera.org/learn/human-computer-interaction. You can take the courses for free and they'll give you the necessary mindset and understanding of process. You'll find that product design actually starts from UX, not ends with it and it defines the necessary requirements framework for the system architecture, which you can use later in combination with BDD/DDD. After that course you can start reading the books (Steve Krug, Don Norman, Alan Cooper, indeed!) and platform guidelines (my favorites are for Google Material Design and Microsoft's Modern UI).

It will be great if someone here recommends some books or articles about UX design process and integration of it into popular agile methodologies.

I enrolled on the Interaction Design specialisation in November 2015 and worked through the modules until July 2016. On the whole I found the course interesting and often fun, and I feel that I learned quite a lot. Until, that is, the 7th course: Designing, Running, and Analyzing Experiments. This was nine weeks of statistical analysis using steadily more elaborate analytical models. I ground through it and finished with a decent grade (>90% iirc) but it ruined the whole experience, and I had no interest or motivation left to even start the capstone project. Grounding UX in an analytical framework is important, and statistics are necessary for this, but that module was just overkill.

So tldr: the specialisation is a good experience, but make sure you know what you're committing to.

Thank you, that's good to know. I've seen only the intro, because specialization didn't start at that time.

"Build Better Products" [1] by Laura Klein, will be available on Nov 1st. Laura Klein was recently a guest on the Lean Startup Podcast [2]. She brings an experimental, iterative, approach to design.

[1] http://rosenfeldmedia.com/books/build-better-products/ [2] https://soundcloud.com/lean-startup/4-season-3-combining-use...

Nielsen Norman Group has a blog archive[0] spanning over 20 years, with posts from Jakob Nielsen, Don Norman and Bruce "Tog" Tognazzini, among others. For example:

"10 Usability Heuristics for User Interface Design" by Jakob Nielsen, January 1, 1995 [1]

[0] https://www.nngroup.com/articles/

[1] https://www.nngroup.com/articles/ten-usability-heuristics/

The one about heuristics is my favorite one, because the checklist is being used literally on daily basis.

Don't Make Me Think - Steve Krug

Information Dashboard Design - Stephen Few

Yes, this is the first book that came to my mind too because for any good UI design, you first need to get your priorities straight which is common sense of design comes first, the graphics and cosmetic part comes second (though they're not mutually exclusive).

On a related noted, I've often wondered how Material design and all these latest skeuomorphic designs kind of go against this advice of Don't make me think. Is it text, is it a button, is it a drop-down? You're making me think too much.

Don't make me think is awesome and I believe you can get a free PDF version of it online. (Possibly an older edition, but it is just a great book.)

Since there are already a lot of books here.. I'd say reading some of the top voted questions on Stack Exchange's "User Experience" gives an idea of things UI designers consider relevant.


This question may be particularly relevant:


"Understanding Comics" by Scott McCloud! Simply the single most important book to understand sequentional word/picture combinations. And yes, it's a comic!


The original Macintosh User Interface Guidelines are still worth a read. Some of them have been forgotten. A good one is "You should never have to tell the computer something it already knows".

The Visual Display of Quantitative Information - Edward Tufte

All UI's are graphs at their heart

> All UI's are graphs at their heart

A bit of an overstatement, considering /bin/rm, Amazon Echo, NFC (e.g. Apple Pay), car pedals, shake gestures (e.g. camera activation on Moto X), and keyboard shortcuts (e.g. Win-L to lock the computer).

I know, you were probably talking about GUIs specifically, but how you interact with a GUI is not really covered by Tufte. I second the recommendation for The Humane Interface for that.

Yes I'll give you that

I have essentially written four mini-essays exploring the topic today in attempts to reply to your message. I'll suffice with:

"All UI's are communicators of quantitative information at heart. And many are shit"

The book gets high marks for its own design (https://www.edwardtufte.com/tufte/books_vdqi).

I also enjoyed his one-day course: https://www.edwardtufte.com/tufte/courses ($420, includes four books).

Can you elaborate more? This sounds like an interesting thought.


The book, and Tufte, focuses on effectively displaying quantitative information. He takes a relatively hard line about it and I have found it one of the most useful texts for helping me take "some truth the system knows" to "some truth the user knows".

Of course you have to take it with a few pinches of salt.

Firstly it is largely his opinion. Studies into this area are rather good on the general points however the fine detail is incredibly hard to study accurately.

Secondly you may not actually want to make a UI that conveys the "truth it knows" above all else. Often you want to convince the user that the UI is good at conveying information (which is not the same thing) or that it is very easy to use (which is again, not the same thing).

I heartily recommend this book because it teaches one very hard thing very well. You just have to understand that you do not always want to do this thing (yet you now have a way to start to understand the trade-offs you are making).

There are two more books, on concepts I believe, and verbs.

It's not the most practical way to learn UI design, but I enjoy how well it makes the case for good UI. Too often, I see programmers dismiss design. It seems not to fit into their scheme of values, i. e. "it's not scientific" or "it's just shiny packaging " or "it's something for beginners – I'm an expert". Then you get some guy replace all custom fonts on npmjs.com wit Arial because "all sans-serifs look the same anyway".

(the example is more "design" than "user interface" but it's the best one I remember)

One of Tufte's main themes was, I thought, that only information that directly conveys meaning should be included, and everything else should be thrown out. Where everything else, in the context of UI design, would probably be excess styling. On the other hand, I forget where I read it but we know that people are biased into finding more attractive interfaces more usable, even if a "usability expert" might disagree. So personally, I find Tufte's title fitting - he really is talking about effectively displaying quantitative information.

Here's a different perspective: the best UI is where you can get rid of most or all interaction.


I enjoyed "The best interface is no interface" -- though its more of a fun read: http://www.nointerface.com/book/

Alan Cooper's About Face. It's quite old - the latest ed is from 2007 - but it is still very good at introducing goal-oriented design and lots of practical design concepts.

There's a 2014 edition that I've been reading (slowly) over the past several months.

Oh, good point, I hadn't noticed that he has published the 4th ed.

GoodUI has a handy list of tested design patterns and recommendations:


That's a great overview. Thanks.

Some great books- immerse in it for rapid learning

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) - http://amzn.to/2e5Erfc

Design for Hackers: Reverse Engineering Beauty - http://amzn.to/2euMOUc

UX Design and Usability Mentor Book : With Best Practice Business Analysis and User Interface Design Tips and Techniques - http://amzn.to/2dXYZJT

I keep re-reading The UI Audit by Jane Portman:


I use it every time I need to craft an interface but especially for SaaS apps. The OP requested something from a 'newbie perspective'; this book will explain the basics but the real value comes from the explanations and advice with respect to why UI decisions lead to happier users.

I've copy/pasted the chapter headings from the site:


Chapter 1. Your Product Strategy

Chapter 2. Navigation

Chapter 3. Dashboard & Homescreen

Chapter 4. Audit Your Screens

Chapter 5. The Problem of Style

Chapter 6. Get a Theme

Chapter 7. Plan for Improvements

Chapter 8. Deal With New Features

Well, I tried to download the sample chapter by entering my email address and clicking "Send Me the Free Chapter". But instead I got subscribed on an email list.

So I'm afraid I have to say: that UI really sucks :)

Hey I t's me Jane here :) Sorry to make you go through the signup. Hope it was worth it!

Thank you so much for mentioning it here Charlie! Indeed, the book is written specifically for founders to facilitate their design decisions.

How has Bruce Tognazzini's stuff not been mentioned yet? Tog on Software and Tog on Interface are great.

https://www.amazon.com/Tog-Software-Design-Bruce-Tognazzini/... https://www.amazon.com/Tog-Interface-Bruce-Tognazzini/dp/020...

Bruce Tognazzini also has a great web site


see his short course on interaction design




http://alistapart.com/ A mix of web topics, and has covered UI/UX from the earliest days.

I think it really depends on what you want to do.

1) Want to make user interfaces that are actually useful to people? Read up on product management, UX and interaction design. Important skills: articulating the problem you are solving and for what kind of user, and being able to validate whether your hypothesis is on point. Iterating before committing further resources to building a prototype. Conducting user testing sessions (rocket surgery made easy is a good resource for this).

2) Want to make a specific view / flow of a product inviting and visually appealing? Study visual design and typography.

3) Want to be able to build a functional prototype that looks reasonably good? Study frontend design / development. There are a lot of frameworks that could get you up and running.

IMHO going for (1) and (3) first is smart; if you can't prototype and evaluate a user experience that has a shot in hell of being useful to an actual user, being able to make stuff look pretty is kind of irrelevant (unless you are specializing and collaborating with engineers and UX people). In any of the above cases, at least knowing more precisely what you want to learn will help you do better googling, e.g "best books on visual design" or "best books on interaction design".

Design for Hackers is a pretty good book - https://www.amazon.com/Design-Hackers-Reverse-Engineering-Be...

Meanwhile https://www.designernews.co is Hackernews for designers

I had reading list by Kevin Hale in my notes. I think he doesn't mind if I share: https://www.amazon.com/gp/richpub/listmania/fullview/R18EQHH...

This one is good at teaching both fundamental design principles and UI design in particular Designing Visual Interfaces: Communication Oriented Techniques

This is an introduction to UX The User Experience Team of One

It's from Rosenfeld Media and you should take a look at the rest of their books. They are of a high quality and cover a wide range of topics related to both UI design and UX.

Hi, in addition to checking out if any of the suggested resources work extremely well for you, I'd like to suggest this book.

It answered a lot of the questions about design process I had some ten years ago. (I am now involved in UX and product design)


If you go briefly through it, you'll certainly find some sections useful for clearing things up with information design, capturing design goals, singling out tasks etc. It sparked my own interest in user experience and service design back then.

To my opinion, after much thought and practice, UI design is very much a shell to everything that's preceeding it on the timeline. Try to cover UX as well as UI, capturing requirements, etc.

It is also important to find a book, a blog or a course that is mesmerizing particularly to you, and easy to grasp with your specific background. Good luck! Alice

"The non-designer's design book : design and typographic principles for the visual novice" - very easy to follow.

If you can read only one book read About Face 2.0 You can find a somewhat better about most of the topics mentioned there that go into more depth into individual topics (except maybe the core of interaction design) but About Face 2.0 will give you a solid foundation into design applied to interfaces.

Universal Principles of Design - William Lidwell

It's not explicitly computer UI design, but the book is essentially an alphabetical list of design concepts with illustrations/examples, and they're very applicable to computers. Amazon has "look inside" if you want to see what it's about.

Second Tufte, read all of them several times and they've influenced everything since. Raskin's "The Humane Interface: New Directions for Designing Interactive Systems" is another good one, puts a lot of solid research into context.

I follow http://sidebar.io/ for a couple of years, it's a nice place to get the latest articles about UI, UX, fonts, etc.

Shameless plug, since I recently wrote it: https://medium.com/the-craftsman/the-whoa-how-did-you-do-tha...

Basically, don't forget the human in human computer interaction/UI/UX. It's very easy to come out of the academic perspective on UI/UX design designing exclusively to efficiency formulas and words in a glossary. Keep the user, the human, and their context in mind.

Not a book, but if you want to improve your UI just watch as a novice user tries to use your software. You will learn in 10 minutes things it would take a book 10 hours to explain.

I found Design for Hackers helped make my work less vomit inducing, but I'd suggest that it's really mindfulness of what you're building (rather than just flinging interface at a screen) that'll get you over the first hump, and almost any book will suffice.


Excellent intro (free): The Fable of the User-Centered Designer [1]

His Udemy course is also very good: User Experience (UX): The Ultimate Guide to Usability and UX [2]

[1]: http://www.userfocus.co.uk/fable/

[2]: https://www.udemy.com/ultimate-guide-to-ux/

This is always a great resource: https://hackdesign.org/

* edit: meant this one

"Designing with the Mind in Mind" (https://www.goodreads.com/book/show/8564020-designing-with-t...) is an excellent book that approaches design from a fundamental psychology perspective.

Here's a list of all design books that I give to new hires:

Branded Interactions: Creating the Digital Experience - (https://www.amazon.com/Branded-Interactions-Creating-Digital...)

The Visual Display of Quantitative Information - https://www.amazon.com/Visual-Display-Quantitative-Informati...

Universal Principles of Design - https://www.amazon.com/Universal-Principles-Design-Revised-U...

The Interface: IBM and the Transformation of Corporate Design, 1945-1976 - https://www.amazon.com/Interface-Transformation-Corporate-19...

Multiple Signatures: On Designers, Authors, Readers and Users - https://www.amazon.com/Multiple-Signatures-Designers-Authors...

Change by Design: How Design Thinking Transforms Organizations and Inspires Innovation - https://www.amazon.com/Change-Design-Transforms-Organization...

Thoughts on Design - https://www.amazon.com/Thoughts-Design-Paul-Rand/dp/08118754...

Notes on the Synthesis of Form - https://www.amazon.com/Notes-Synthesis-Form-Harvard-Paperbac...

..and a list of ones I'm considering adding:

Unflattening - https://www.amazon.com/gp/product/0674744438/ref=oh_aui_deta...

Creative Confidence: Unleashing the Creative Potential Within Us All - https://www.amazon.com/gp/product/038534936X/ref=oh_aui_deta...

The Design Method - https://www.amazon.com/gp/product/0321928849/ref=oh_aui_deta...

Product Design for the Web: Principles of Designing and Releasing Web Products- https://www.amazon.com/gp/product/0321929039/ref=oh_aui_deta...

I've come back to this article a couple of times a year since it was written in 1994 and it still generates great insights into what my users will want from my systems:


Shameless self post about a repo I've made about UI resources


I'll be adding more content in the last week of October and fixing the repo so it'll be easier to navigate

Check out Nathan Barry's book Designing Web Applications: http://nathanbarry.com/webapps/

It's accessible, not too long, and yet still packed with good info on the basics of ui design and user experience.

My favorites are the classic "The Design of Everyday Things" and "Microinteractions" (http://microinteractions.com/about-the-book/).

I found Seductive Interaction Design to be both enjoyable and highly instructive! https://www.amazon.com/gp/product/0321725522/

Have a look at http://52weeksofux.com/tagged/week-1. I have not read all articles of this blog but the first few give meaningful UX insight.

It's a little dated (is it sad that 2006 is "dated"?), but I still find "Designing Interfaces" by Jenifer Tidwell (it's an O'Reilly book) helpful once in a while for basic UI/interaction thoughts.

Agreed on this: it's handy because it has a catalog of design elements and tells you when you should and shouldn't use them. That's pretty helpful compared to more abstract theories about UI stuff, for some people.

"Design for Hackers" from David Kadavy is a really great introduction to design for programmers.


the stackoverflow equivalent for ui/ux provide some common tips and can help avoid a lot of pitfall.


my favorite: http://ux.stackexchange.com/questions/9946/should-i-use-yes-...

Cadence & Slang (https://cadence.cc/) is absolutely fantastic

A meta book about the process "Thoughtful interaction design" Löwgren, Stolterman

I have yet to read it, but I've seen good opinions on 'About face' in some threads on the topic


I still really like and would strongly recommend Steve Krug's "Don't make me think" (https://www.amazon.com/dp/0321344758)

Yale C/AIM Web Style Guide, 1997: http://vesta.astro.amu.edu.pl/Library/WWW/Tutorial1/

"Practical typography" is great

Slightly OT, but 'Sprint' written by Jake Knapp is a pretty cool book on working on all kinds of projects, UI/UX projects included.

"Save The Pixel" by Ben Hunt is a hidden gem.

It's an ebook, but don't let that fool you.

Don't use anything less than 5 years old, because it'll try to get you to make PC software look like it belongs on a smartphone.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact