Thank you oh great software for allowing me the privilege of using you
One of the little things that always annoys me when I read stuff about software is seeing a phrase like “this software allows the user to do [x]” as if the almighty software was somehow granting the mere user a special favour to do something on the software’s machine. It annoys me firstly because *I* am no mere user (muhahaaaa) and I also don’t think its a good way to be thinking of the relationship between your software and the people using it.
I started thinking about this when I used to work for a team that was responsible for communication in a fairly big IT department of an organisation. I was actually working for the department’s web team but for some reason we were grouped with these guys and we ended up going to their meetings where they spent a lot of their time in the worrying about the names for things in the department. I never minded going to the meetings because I liked talking to the other guys in the team (and we got free cake) but I kind of thought this was a little bit silly. Just call it something and then we can move onto something else (cake).
One day I was talking about this with our marketing coordinator after they’d spent half an hour about talking about renaming something that already had a perfectly good name. He explained that the reason that getting the language right was so important was because the way you talk about something reflects and influences the way that you think about it. The department had changed the focus of whatever the project was to better reflect the needs of the users and they needed to communicate to (and remind) the management, the users and the programmers what the new focus was.
A long time later I read the classic George Orwell novel 1984 where the people who were in power started removing words from the language to make it harder for the people to think about dissent. I remembered what my friend had told me and saw that what the department had been trying to achieve was basically the same thing. They hadn’t wanted to stop people thinking about things in an evil and manipulative way, they just wanted to encourage people to think about things in a different way to help make the project a bigger success.
So the reason why I hate the idea of software allowing a user to do something is because it puts the software in control rather than the user. Even if the idea of the software allowing the user to do something is only in the programmer’s head, I think its really important to remember and use language that emphasises that this isn’t the case so decisions can be made for the user and not for the software.
