“A user interface is well-designed when the program behaves exactly how the user thought it would.” – Joel Spolsky
Here’s what I don’t understand:
1) Why did it take until the release of the iPhone SDK for this to happen on a broad scale?
2) What is the impact of the user’s imagination on this maxim?
As for the iPhone SDK, well I think this is pretty obvious. The darn things just work and you don’t need much more than a finger to operate them successfully. Where they fail users there’s hue and war cry until they don’t. Example, photo streams are incomprehensible at the moment for the average user. They seem like the do one thing but they’re really doing something else. Apple has been under sufficient pressure, of late, to get this clarified and improve it. To the point of essentially promising to do so well in advance of any possible ship date. That… never… happens…
It’s the user’s imagination that worries most. Given the incredibly low (technology) information society that we live in, things like cloud storage or heck even digital photography take the better part of a decade to be widely understood. Even then, comparisons between implementations (Android vs. iPhone) are way beyond the “normals.”
Yet these are the people who expect to purchase a piece of magic glass and have it do their bidding.
Best thing about them – file systems are going away.
Worse thing about them – people don’t understand what’s possible.
In closing, an admonition: talk to your damn users. Figure out what they don’t know and teach them if you have to. Figure out where you’re breaking, right now!