Learnability is one of the usability principles. In plain words, the user should be able to use software without having to read the manual or attend a specialized training session. Of course, we do not expect users to be experts at a given application the first time they use it.
Learnability — how easy is it for users to accomplish basic tasks the first time they encounter the design?
Jakob Nielsen (Usability 101: Introduction to Usability)
The key phrase in Nielsen’s definition is basic tasks. Any target user of a given application should be able to accomplish basic tasks with ease.
Learnability is typically evaluated at user testing stage of the product development. One thing to keep mind when evaluating learnability of a system is the level of expertise and experience of the users.
Designing for Learnability
How can we ensure that the application is easy to learn and use for the first time users? In short, by keeping things simple and intuitive. But there is a lot to it.
Set expectations while onboarding the user
Onboarding is a process that first time users go through before using the app. Typically it includes going through the product page, registration, and initial setup. It is critical to set proper expectations for the users. What is the value users should be expecting to get out of the app? It is important to get it right or you risk to lose the user forever.
Useronboard has a great collection of onboarding teardowns.
Guide the user to take the first steps
Typically, first experience of using an app is unique. Not only because it is the first encounter user has with the application, but also because in most cases user is faced with so called blank slate — the state of the app before it has any user entered data.
Worst thing a designer can do is leave out any instruction to what to do next, and let the user figure out where to go and what to do.
Reduce complexity by using progressive disclosure
Progressive Disclosure is a technique of reducing complexity and clutter in the Interface by placing emphasis on important features of the app, and hiding more advanced or rarely used features.
These techniques cover the basics of designing for learnability. What are the techniques that you use to make your applications more user-friendly?