3 ms·
Interesting. Put the theory in the head, where it's easier to work with. You can reason with it, make predictions, maybe even develop an intuition, integrating
by 6ren 16y ago
Interesting. Put the theory in the head, where it's easier to work with. You can reason with it, make predictions, maybe even develop an intuition, integrating it with existing knowledge, find metaphors. You can't do that if it's in the interface; you have to manually try each one. Even though you could extract the rules, you don't need to.
It also makes your product stickier (harder to change products; a switching cost), if users have internalized the rules.
It also may make the product harder to adopt, initially. A nice combination would be to make it trivially easy to do some common tasks (adoptable), but require internalization to do tricky things (a rewarding path to mastery; proficiency with your product becomes a markable skill; people look up to you; you become one with the tool; the power enables you can get things done).
There are other aspects of ease-of-use that aren't related to {internal,/external}ization, such as consistency of interface. e.g. ls -r means reverse, not recurse. Even though having to learn arbitrary differences will make it stickier.