Your users are not stupid
They’re just not technically minded. I read this article by @RianVDM yesterday (I suggest you do too) and it again struck home that we are developing software for normal humans, not for other developers, or even the IT crowd in general. And we forget that, sometimes wilfully.
When responding to a recent bug report, we shook our heads in frustration when the user couldn’t respond to the simple question “Which version of Internet Explorer are you using?” (it was a corporate client, so the fact that they were using IE was a given). Not only did they not know how to check the version, they didn’t understand the question. It’s possible they didn’t even know they were using Internet Explorer (because that little blue “e” icon is called “The Internet”, not “Internet Explorer” or “my browser”).
It’s become quite common for us as developers to sneer and giggle at users who don’t know or understand things that we consider to be basic. It’s easy when you’re surrounded by tech-savvy people, and even easier when you’re working in a dev shop and have little to no interaction with the non-tech crowd or the lay people who use what you build (developers are generally not hired for their people skills).
An epiphany of sorts
I recently had to provide training to one of our clients on an application we built for them. It was something I really did not want to do, as I thought the interface should be intuitive enough for even non-geeks to figure out and besides, it’s not my job to deal with clients. And initially I even weaselled out of it by making tutorial videos in stead.
They insisted, however and it turned out to be an extraordinarily valuable experience. I’d recommend every developer does something like this at least once in a while, unpleasant as it may be – sit next to your users and watch them use your software. It’ll make you cringe at first, but it made me realise: My users are not stupid*; they just aren’t geeks. Software is not their job, and the internet is not their hobby.
Watching normal people use our software made it instantly clear where and why they were getting confused, and enabled me to update the interface, make it easier to use and best of all, improve myself as a developer.
*T’s&C’s apply