Computing Pet Peeves?
Matthaeus asks: "I'm a 3rd-year CS student who will most likely be writing end-user applications after graduation. Naturally, I would like my apps to sell well, so I want to minimize user annoyance as much as possible. In an effort to improve my coding skills, what are Slashdot readers' biggest pet peeves when it comes to software? For example, my largest pet peeve is when a program steals the focus from another program while I'm typing. Maybe other software developers could take notice of this discussion also."
- When the program thinks its smarter than I am, and trys to keep me from doing things that I want because it knows better. (This is a vague nonspecific emotion thing, but it tops my list)
- Modes... never use modes if you can avoid it
- Windows applications that pop up a dialog box that gets lost behind windows.... thus inadvertently creating a mode that you can't get out of (because alt-tab can't get you there)
- If you offer resizable windows... try them out at at LEAST 1600x1200 pixels, and make sure they still use the screen space.
- An application shouldn't need an install program... you should be able to copy the files to a new folder, and the first time it runs, it should just work... no registry crap, etc.
- Don't put any DLL files anywhere else on the system, it's not bloat to keep your own DLLs, it's safer these days.
- Copying a program's directory should allow you to move a program from one computer to another, with all options intact.
- You should be able to operate the program with just the keyboard. A possible exception for paint programs.
- Make sure the tab order is the same as the visual order on the display.
- Context sensitive help should not merely repeat the error message, it should explain the issue.
There's more... but it's time for work.--Mike--
I appreciate your 'Old fashioned'ness, but I'll tell you why most apps use the registry:
Because back in 1995, Microsoft said "Stop Using INI files if you want to be compliant" People went along
I use a mix. The is ONE advantage to the registry - if your company uses roving profiles, it allows your settings to follow you - this is nice, but other than that, I agree use INI files
-- 73 de KG2V For the Children - RKBA! "You are what you do when it counts" - the Masso
In Windows, use Alt-Esc to switch between all windows, including properties dialogs and other windows normally ignored by Alt-Tab.
Still, I totally agree with your suggestion. I find it really irritating when a program seems to have hung, and it turns out that it had merely popped a dialog box underneath all of the open windows.
some friends that know nothing of the app come by and try it, and record whatever they ask. Have some power-users come, grok the app, and THEN record whatever they ask. Meaty help, please.
That's all I can think of for now.
"Trust me - I know what I'm doing."
- Sledge Hammer
And another tip that I've not yet seen posted - Always always have people beta test the interface for you, without supplying them help files or the like (making sure these people are sufficiently computer-experienced as to not make 'what's a right-click?' type statements). If possible watch them and take notes, or better, videotape them to review them. An excellent GUI will require no additional help files in order to understand, such that any help that is actually included would be supplimentary to understanding the more advanced features. (Of course, this does not mean to use Wizards for anything. GUIs should have minimal text on the screen to start).
And also, never hard-code the colors for window/dialog backgrounds, fonts, or the like. I know of people that don't use the default grey for window or black text, and it's amazing how many programs are unusable because they try to draw (fixed) black text on (user-selected) black backgrounds. I know Win32, Classic MacOS (and would expect OSX to have it too), and both KDE and GNOME have the appropriate hooks that you can grab what the user-selected color scheme is instead of fixing it to your own colors.
"Pinky, you've left the lens cap of your mind on again." - P&TB
"I can see my house from here!" - ST:
The Escape key should always do just that.
I'm pretty sure "Escape" means "begin an escape sequence" (ie, ASC 27 xx xx xx). While we're on the topic of legacy key names though...
The Return key doesn't return anywhere.
The Scroll Lock key doesn't prevent scrolling.
The Break key doesn't break.
The Print Screen key doesn't print.
We forget about those crazy, legacy key names and ignore them, but I'm always impressed how new users gravitate towards them and (reasonably) expect big results!