Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

The Tale of The 'Fashionable' Designer 3

Status
Not open for further replies.

YoshiCD

Programmer
Feb 24, 2001
96
ES
Hi All,

I've started this Thread so everyone may get a feel of good design ethics in a program.
I'm looking for input from all walks of life, and not just threads on 'Structured Programming' (Indentation, remarks etc.)
My aim is to see the best, and the worst, examples of form design, code design and colour usage that you can all possibly find.
Links to examples would be very helpful, or the posting of the best and the worst code you've come across.

This is to try and make the VB Programming World a better place, and to get even the simplest of programs like 'Hello World!' lookin' snazzy!

Quote: My 12yr Old Sister on a program a guy from Spain wrote..
"God!, white boxes and grey buttons are SOOO out!"

[neutral] or [afro] (you decide)

Get those replies in.

Happy Hunting!.



[yinyang] ¥oshi [yinyang]

-------------------------
"There is No Spoon.."
-------------------------
Programming Outsource:
"I'm an idealist. I don't know where I'm going but I'm on the way." — Carl Sandburg, 20th-century American poet and writer
 
Myself, I don't go for snazzy. I prefer to write programs that look as if Microsoft had written them.

My reasoning is that they've already spent millions on usability research, so why reinvent the wheel?

Chip H.


If you want to get the best response to a question, please check out FAQ222-2244 first
 
Snazzy has it's place, however it usually takes too much time and effort to be practical, so I generally stick with "white boxes and grey buttons".

But sometimes... [afro2]
 
I hate applications that only look good on one resolution and dont resize their buttons and text for different screen resolutions. They end up with tiny bits that are hard to click on when you switch to 1024x1080 to get the best pic out of a modern LCD screen.

Altenratively they could show an option resolution selection on startup.

Buttons with larger beveled edges like the Sheridan ones sometimes look better than the standard MS command button
 
In my consulting role I've lost count of the end-users who need support on some snazzy interface. The complaint is so frequently "but this doesn't work like the others work"

Sure if it's a game, or for your private use, use whatever you want - but if it's a proper business app please keep a fairly standard Windows interface. After all, the main reason for using Windows is that it's got a standard user interface!

________________________________________________________________
If you want to get the best response to a question, please check out FAQ222-2244 first

'People who live in windowed environments shouldn't cast pointers.'
 
Hi All,

Some Great Input Here, Thank you.

>Ted. I came upon this problem while designing my first program in Visual Basic (v4) years ago. I designed the entire program in 640x480 (486DX-120) and it looked good. about 8 months later I was demonstrating the program to a prospective client who, unbeknown to me, had a HUGE 1024x768 (hehe) resolution and, needless to say, it made my program look small and insignificant and he didn't buy. :(
==========

Anyway, on the design front, while trawling today i found two good examples.

Although neither of these following programs actually follows the standard windows design, I would like your input on several factors to do with each program.

The two examples are Musicmatch Jukebox and WinAmp.

The Factors are:

1. Usability for the music lay-man.
2. Usability for the music master.
3. Design of the UI
4. Design of the Menu System
5. Practicality for its purpose
6. Understandability (If this is a word) (Does one look at a button/function instantly tell you it's purpose?)
7. Design of the help system.
8. Finally, As A Note, Do you think the Good old File Menu still offers valuable function? (Note that MMJB has created it's own version and WinAmp Doesn't use one)

If you have not had experience of one or both of these softwares, here are the screenshots

winamp1-big.gif


or

screenshot_8_0_pl_02.gif


[N.B. Both Images are links to Genuine Software Screenshots]

Thanx All,

Regards,

[yinyang] ¥oshi [yinyang]

-------------------------
"There is No Spoon.."
-------------------------
Programming Outsource:
"I'm an idealist. I don't know where I'm going but I'm on the way." — Carl Sandburg, 20th-century American poet and writer
 
What distinguishes these program interfaces is that they abandon the Windows interface in favor of a mimicked physical interface to familiar devices: they assume the user will be familiar with the interface because of past experience with a similar-looking and -functioning device.

Personally, I find the most common functions in both programs easily accessible. But the metaphor only goes so far: the programs have functions that you don't find in a car stereo, for example. When the metaphor is broken like that, the interface can be difficult and you face a learning curve. For me, WinAmp is worse in this regard.

--harebrain
 
Both the programs above dont really stray away from the standard - just embellished a little. From memory howeever they dont resize each control when you resize the window and some text remains really tiny on a big resolution.
Being an audio and music master from way back, the graphic equaliser & spectrum is now virtually standard anyway.

As long as each control has a tool tips, it doesnt matter if it is different.

Lay buyers are inclined to say Wow when they see something different whether it is an improvement or not so there is a bit of used car salesman needed in every financially successful programmer.
Ted Smith
 
Wow, I've used a lot of those programs!

And I agree with many of their criticisms. Multi-tabbed dialogs are especially bad.

Chip H.


If you want to get the best response to a question, please check out FAQ222-2244 first
 
I'm surprised WinAmp got away so lightly!
Try saving the playlist - you click a button, another set of buttons appears from nowhere and you can't read any of the text to know which is which.
The inteface design stuff I've worked on has centred around:
1) Visibility - can the user see the control. Make it big enought with contrasting colours.
2) Affordability (called understandability above) - is it obvious how to use the control ie if it's a button make it look like it need pressing.
3) Feedback - let the user know the control has been activated - web interfaces are especially bad at this. Just look at tektips - if I click a button let me know eg make it disappear or italicise the text.

You also need to examine the users goals and the tasks they have to carry out to reach those goals without missing steps.
The stuff about which colours etc is fashion but should all work around the above concepts.

The first part of this post talked about how you should structure the layout of your code - 10/10 for Microsoft for Visual Studio .Net - it automatically formats your code very nicely. It may not be to everyone's taste but at least it gives us all the same formatting.

Andrew Baines
Chase International
 
I agree – I like my applications to look like Microsoft has designed them, not least because most users understand Microsoft’s way of doing things. This way, when we’re training users, there’s no need to train them to perform bizarre actions just to carry a simple task. The VB common dialog control is a brilliant example – everyone can now pick a colour, whether they’re in a graphics package, changing a form background colour, or retouching their digital photos.

On the coding side, my preferred style is to write a client program that contains very little “real” code, but consists of a series of carefully named sub and function calls – example below

If DbConnected then
OpenFirstForm
PopulateAllLists
End if

This allows even a non-coder to see instantly what is happening, and hides the implementation away in modules. It also makes it much easier to share programming tasks around a team – by defining what each function receives as parameters, and what it should return, it is easy to ask someone to write the function without them needing to know what the rest of the application does, or how it does it.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top