Too many forms open at the same time also not good or
Programs that force you to restart and if you don't they leave that damn huge box that sits in the middle of the screen and won't minimise
Personally, I LIKE:
- Consistency in appearance and behaviour, within itself and with the OS
- Easy navigation
- Customisability and extensibility
and I DISLIKE:
- Hidden buttons (things that do things without obviously being buttons)
- Clutter, but at the other end of the spectrum, also over-minimalisation
- Unresponsive or slow UIs
- Fonts that aren't Tahoma
Fontsizes that look like they are for the visually handicapped.
Too much crap on a form.
No organization.
Overdone graphics as a ploy to detract from the disfunctional interface.
Forms that to resize but not the controls leaving vast amounts of blank form realestate.
Programs that are slow or irresponsive to the users actions.
Inconsistancy.
Out of order tabbing.
Bad color combinations - ie
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
I prefer a style that is (by default) conformant to the user's operating system and active theme - unless you can make a custom-styled GUI that is equally clean and better looking
Message boxes - only when you have to. You be a lot friendlier and less obtrusive in giving the same information these days, with labels in appropriate places and things like balloon tooltips, which can replace message boxes that pertain to widget content as the tooltip does not get in the way.
This is your thread PG but I hope you don't mind me asking questions here.
When you said Active Theme I am thinking about the Current Theme in XP, am I right? You'll design your app based on the current theme of the user or let your app accomodate according to the theme of the user?
Regards,
™
As a gesture of gratitude please consider rating helpful posts. c",)
I design my applications to accomodate the user's theme selection. If they are using XP-Metallic then my application will render in silver. If they are running XP-Homestead, then olive. If they are using XP-Classic or an older version of Windows, then it will render using the classic controls. Basically, it's about run-time flexibility - that includes changing theme on the fly (a broadcast message, WM_SYSCOLORCHANGE or something like that, notifies you of a theme change).
Then again, if you can make a really good looking, clean, usable skin for your app, that's fine too. It depends on what it is. For a media/entertainment application, skinning can work well. For a business application, skinning probably isn't a great idea, you should aim to fit in with the user's OS appearance so that the design isn't distracting from the use of the application.
The image mar_zim linked is a bit of too much clutter: there are too many main level menus and toolbar items.
Anyways, in general, a program I like:
- controls can be tabbed in good order (hey, I use keyboard often!)
- a lot of effort to small details, ie. filling up something automatically if it is possible, on-the-fly prevention of invalid data (instead of showing a messagebox warning when you push ok)...
- keeping things clear and simple looking without leaving out any features
- well organized windows and content so things are easy to find even if you haven't spent time learning it, relating to above
- familiar keyboard shortcuts, following Windows standards and most other programs
- wizards are great for bigger jobs: instead of one big cluttered window, you get a well guided tour to what you want to do
Humm... that is pretty much all general rules I follow in my design. I don't like skinning all that much. About the only program I use skinned is QCD (though its default theme is a perfect example of bad skinning - Soma Black is excellent once you learn how to use it).
I assume that if the user chose to do something then he really wanted to do it. I suppose for really dangerous acts then a confirmation can be performed, but the act of exiting a program is not in that class.
I've written a lot of programs for people who aren't computer savy and don't like computers. My philosophy is to require them to do as little as possible or they won't use the program.
Especially on repetitive tasks I try to minimize user input by guessing at default data values for them and not putting in confirmation messages.
Webforms
--Cursor Tails
--Music any other place besides the intro (and all 16 bit "ring-tone" music)
--Guestbooks
--Page Counters
Winforms
--Excessive TabControls
--Errors or validation issues only showing up in dialog boxes
--Programs that force full screen on load
--Buttons (or other user events) that will fire without changing the GUI at all (No "Please wait...", "In Progress..." or a bar)
--Basically any design that feels like the program is driving you instead of you driving it.
90% of coders don't know bugger-all about GUI design. That is why QuickBooks sucks a fat one.
A GUI should take up as little overhead as possible, which means you need things like backbuffers and cached data and NOT creating graphics objects at runtime (unless you are doing control arrays which only need to be created at loadtime).
Its fine to do gradients as long as you have an idea of how clock-hungry they are.
Cache everything you can, RAM is cheap, CPU cycles are NOT cheap, remember that.
I assume that if the user chose to do something then he really wanted to do it. I suppose for really dangerous acts then a confirmation can be performed, but the act of exiting a program is not in that class.
Sometimes though some users "accidentally" push buttons (e.g. closing the form before they have saved a record...) or their mouse goes haywire and a confirmations saves the day in such cases...
Originally Posted by sevenhalo
I let them do it w/o otice and provide "Undo" functionality.
Today 12:04 AM
In cases of saving records what approach do you do to "Undo" it?
Originally Posted by Hack
I hate loath and despise message boxes.
What is your alternative for message boxes? Timed form that disappears automatically?
Regards,
™
As a gesture of gratitude please consider rating helpful posts. c",)