|
|
||||
|
||||
|
|
||||
|
||||
|
|
|
|
||||
|
||||
|
|
||||
|
||||
|
|
Interface Designers Rule1 | |
|
Rule Number One for User Interface Designers:
It's not yours!
Domain specific versions: For Web Developers: It's not your browser! You don't understand this rule if you're asking:
For Command Line Developers: It's not your console! You don't understand this rule if you're asking:
For Desktop Developers: It's not your desktop! You don't understand this rule if you're asking:
What I (meaning the end user) expect As an end user, I don't expect the applications that I'm using or the websites that I'm visiting to alter the state of my machine or the layout of my desktop; at least not without them specifically asking me for permission. My browser is mine, not yours, it's none of your business what other sites are running in other tabs or windows. It's also not your business to know what sites I've visited before going to yours or what sites I plan to visit after visiting yours. My application/browser's window size is the size that I set it to be. It's that size because I want it to be that size. It's not your place to decide that it should be a different size. If your application can not render properly in the window as I've sized it, I'll choose to either resize my window or stop using your application. The back button is under my control and my control alone. It gives me the option of backing out of your site and following a breadcrumb trail to other sites I've visited. You have no right to take this capability away from me. If you try to, you will annoy me. Interface designers should try as hard as they can NOT to annoy their application's users. If my clicking the back button causes your app to double post forms or malfunction in some other way then you don't understand how to write a web application. Reaching outside of the sandbox given to your application by my browser to disable browser features is not a fix for this. Learn how to write an application and leave my browser alone. You (meaning your application) are a guest The first computers were expensive and rare. Only certain people were given access to them. In those days a user was treated like a guest. The computer would welcome them with a friendly greeting but it was the programmer's job to control all the parameters and to insure that the application restricted users to only those things to which they needed access. The program, as far as the user was concerned, was the computer and the computer was the host. The user was the guest. In this age of personal computing and the internet, that relationship has been turned around. Your application is a guest on the user's machine and should behave accordingly. You, as a guest, wouldn't go into someone else's house and re-arrange their furniture or rifle through their file cabinets. You wouldn't take things or leave things behind without an expressed agreement between you and your host. Think of your application as a guest that should behave no differently than you would if you were invited into someone else's house and you will be well on your way to understanding Rule Number One. | |