When a user installs a product on his or her machine, a degree of trust is given to that application, and in return that application is required to meet some expectations. This series explores these expectations.
If you were to invite me into your home as a guest there are constraints placed upon my behaviour implicitly, if I breach one of these constraints then there is a good chance you will be offended and I may be removed from your home.
I regard any software I choose to use as a visitor to my machine and I expect it to behave as I would expect a visitor to my house to behave. I have no problem with the software I use doing what it needs to do to serve it’s purpose, however I expect the software to ask permission before performing any other non-essential action lest it risk removal
Here’s a list of things I’d like applications to ask before doing:
- Creating shortcuts anywhere, for any reason
- Communicating with any remote system for any purpose.
- Modifying the system in any way especially
- Making itself run on startup
- Integrating with the shell
- Registering as the default handler for any file extension regardless of whether there is already a handler or not
How I am asked a question is very likely to influence if I answer it and the answer I will give.
Message boxes like this are going to make me click the close button at best or terminate the process at worst because:
- The dialog gives me no information.
- What are the components for? Why might I want them?
- Where are they coming from?
- How big are they?
- There is clearly nothing wrong. Why have the error icon and make the error sound?
- Why did you disturb me from my work to make me read this crap?
- Was there not another way you could have asked me this than a modal dialog?
- Is it so important that you have to ask me to install them right now?
- I can’t really decide what to click, it’s a yes or no question, what am I cancelling if i press cancel?
- The casing on the title isn’t right
- While this won;t stop me answering a question it does show me that the developers care little about the application