Two related concepts you hear about endlessly in UI design are affordances and metaphors. These are just ways to bring the user model in line with the program model by giving the user little clues about how the program works and what they’re supposed to do with it.

Read more in Chapter 4 of UI for Programmers.

About the author.

In 2000 I co-founded Fog Creek Software, where we created lots of cool things like the FogBugz bug tracker, Trello, and Glitch. I also worked with Jeff Atwood to create Stack Overflow and served as CEO of Stack Overflow from 2010-2019. Today I serve as the chairman of the board for Stack Overflow, Glitch, and HASH.