Leaky Abstractions
Hiding implementation details from the user makes your UI model easier to understand. But it creates a different problem: whenever some of the hidden implementation details leak to the user, it will not match his mental model of how your product behaves.
Going back to the earlier example of somebody buying a movie, let’s say that same person now wants to buy a movie for her sister. Her mental model of buying a movie as a gift is simple:
-
Go to a store.
-
Browse through a number of movies until she finds one her sister likes.
-
Exchange money for a DVD.
-
Wrap the DVD in nice wrapping paper.
-
Deliver the wrapped DVD to her sister.
When it comes to buying a movie for her sister online, this user’s mental model breaks down. The UI model ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access