Software should be designed for teachability rather than learnability

Related to the podcast discussion I shared the other day, Andy J. Ko wrote a really good essay called The problem with “learnability” in human-computer interaction. He argues that most software is learned socially, not independently:

We just have to think about our own personal experiences to see that nearly everyone learns how to use all but the simplest software socially, not in isolation. Our friends and family introduce us to new software and teach us how to use it. Our parents call us and ask for help troubleshooting software behavior they don’t understand. Our children teach us about new apps.

He then goes on to ask what it would look like if we designed software for this kind of social learning:

What would it mean to design for teachability rather than learnability? It might mean supporting the creation of not just one tutorial, but a myriad of tutorials, each supporting learners with different prior knowledge and interests. It might mean software companies having their app’s splash screens start with the question, “How do you want to learn this app?” rather than dropping users to a home screen and giving them a few tooltips. It might mean designing software to have teacher modes, where someone could go through and annotate key parts of the interface for someone they are teaching how to use an application (e.g., “Dad, remember to always click this box this before you submit!”).

These are good questions to think about as we work on product onboarding strategies.