Simplicity vs. Customization vs. Empathy
The term “customization” is used to mean you are what you say you are
The term “simplicity” is used to mean what you are
Customization gives explicit user control
Simplicity gives explicit features
Customization is based on users preferences
Simplicity is based on users needs
Customization generates complexity
Simplicity always wins over complexity
Customization is a geek
Simplicity is a friend
Customization requires assistance
Simplicity is self-explanatory
Customization affects some demanding users
Simplicity affects all users
Customization is a calculator
Simplicity is a metaphor
Customization is a gear in the black box
Simplicity is an abstraction
Customization is a spaghetti condiment
Simplicity is an elegant suit
Customization can become the bad way to apply Personalization
Simplicity can become the bad way to apply Usability
To avoid any possible misunderstandings, Simplicity and Customization are not in opposition. You need for customization in many cases (user controlled content, customized look & feel for each user, personalized preferences, etc) that don’t involve simplicity issues. An excessive search of Customization could undermine Simplicity and an excessive search of Simplicity could undermine Customization.
Simplicity and Customization are not in opposition, are in a row. First Simplicity, then Customization. What is the purpose of the application? What needs does it meet? Where is the “epicenter”? What are the key features? The way to satisfy the requirements is through Simplicity. Then comes Customization.
Anyway, each of the previous statements doesn’t mean much without a context. It depends on the context and on all its sub-aspects. Will you use your application sitting in front of a desk or on the subway? Business or entertainment software? For specific o generic user profiles? And so on…
Can we draw up a comparative table that takes into account all the cases? No, it’s impossibile, too many cases, it depends on the application.
Let’s consider, for example, an app at random… FreakyAlarm!
The context is that of a mobile app on sale on the iTunes App Store, an one-of-a-kind alarm, a freaky app! A very specific context as much as any other context. In this case…
Customization is used to mean you take explicit control of a task that you don’t want to do (FreakyAlarm is not for people with high self-control, they can use a myriad of other alarms)
Simplicity is used to mean “wake me up” (FreakyAlarm is for sleepyheads, its mission is “you must wake up, don’t try to resist!”)
Customization gives you access to every single statistical information (the number of alarms, minutes taken to wake up, wrong answers)
Simplicity summarizes all the monitored statistics in an unique unit of measurement that’s the iWake coefficient
Customization lets you select the alarm sound and the combination of logical-math games
Simplicity randomly chooses from a collection of FreakySounds and FreakyGames to avoid habit-forming
Customization lets you set the number of games, the type of games, the difficulty of games, the tone of alarms
Simplicity provides a unique configurable option that’s the Priority – Tell me how much of a priority is your alarm and I detect how to wake you up
Customization takes place when you program your alarm as if you were planning to launch a Space Shuttle
Simplicity takes place when you reach the goal promised simply by setting an alarm like in Apple’s official Clock app
Simplicity may oversimplify
Customization help you when the simplification process has made the app unsuitable for your requirements
Simplicity can work only if the abstractions are well calibrated. A ready-out-of-the-box, immediate and target-focused application is more easy to use than an customizable app. But Simplicity is more difficult to achive than Customization.
Simplicity can become a nightmare
Customization can be a palliative
Empathy is the cure
Empathy is the key to achieve the right calibration of the abstractions. It is as though you had some knobs that you could twiddle, and only through Empathy you carefully tuned each knob to its user-focused experience value. Empathy is the “Divine Knob-Twiddler”.
As Matt Gemmell says about Apple secret, “Knowing that creating a user-focused experience needs the right combo of empathy, vision and dictatorship“.
Empathy means identification with and understanding of user’s feelings, thoughts and attitudes. Empathy requires knowledge of your users, you have to learn about users, “scratch your own itch”, be one of the users!
And this would open a larger discussion for which a software engineering course would not be enough. User requirements collection methods (interviews, surveys, wants and needs analysis, group card sort, group task analysis, focus group, field visits) and evaluation techniques (cognitive walkthtough, heuristic evaluation, think aloud, controlled experiment, etc) are just a starting point.