I spend a lot of time thinking about how to get more people to use Flex. Recently, I’ve been focusing more of my thought on the “why” rather than the “how”. For example, I think it is more important to explain why you would use an animation rather than how to create an animation.
Kathy Sierra’s recent blog entry about digital cameras really clicked with my recent thinking. In it, she relates an experience she had in taking a class on digital SLRs. Most of the people in the class were “stuck in P mode”, which is to say that they relied on the camera to automatically choose all the picture settings.
At first glance, this looks like a usability problem. Maybe it’s just too hard to figure out how to adjust all the settings. However, Kathy analyzes the situation differently.
It wasn’t simply a camera problem–it was a photography problem. The camera manuals describe precisely how to turn the dials and push the buttons, but never tell us why we’d want to. They focus on the tool rather than the thing the tool enables (taking pictures). What good does it do to master a tool if we haven’t understood (let alone mastered) the thing we’re using the tool for?
I think she’s absolutely right. Knowing that you push such and such button to bump up the exposure settings by half a step doesn’t help you take better pictures. And me telling you how to attach an item renderer to a data grid doesn’t help you build better apps.
I’m still thinking about this one. In the meantime, what would you say to someone who wanted to build better applications? Are there any resources you would point them to? Advice you would give them?