GUI Design

C

craigclister

Hiya guys.

A quick question on best practise for a GUI. I'm making a small
application that basically stores info about products bought at a
shop. Milk, suger etc. Mainly price, size (500gms pak, 1Kg pack),
flavour (Cherry, plain..) and a few other things.

My DB layout is sorted.

Now, I am sitting with a blank project in front of me, and not sure
where to begin.

MDI? I hear that's old design and not with the whole new trend in
layouts. Is that correct?

Frames? Maybe a main for devided into 3. Header, with a toolbar menu,
left aligned panel for the 'Tree view' as a menu, and a large right
panel as a holder frame, on which I can load panels, depending on what
treenode is selected on the treeview... (Add new product, view
product, add new flavour.. etc)

What other options do I have? Tab view?

I'd like a 'Microstf Outlook look and feel'. Are those just panels,
with panels laid on top of them, and set to Fill?
 
K

Kevin Spencer

A GUI is a human interface. It allows a human being to interact with a
program. Just as the business rules of a program are dictated by the
business requirements, the GUI design should be dictated by the user
interface requirements. User interface elements are just like business
components in that they are tools for satisfying requirements. The basic
underlying requirements of any GUI are:

1. It should be intuitive, familiar to the user without a lot of instruction
to learn to use it.
2. It should enhance productivity, by providing tools that enable the user
to perform tasks quickly.
3. It should be loosely coupled to the underlying business logic.

Beyond that, the specifics of a GUI are determined by the sort of tasks that
the user will perform. For example, the DateTimePicker presents an intuitive
interface for entering DateTime data without typing or formatting errors.

However, you have not described your application, other than to indicate
that it is a database interface, and that is not specific enough to make any
determinations about the user interface. Some of the questions you need to
ask yourself are:

1. What does the application do with the data? What tasks does it perform?
2. What abstraction of its functionality would be most familar to the
average user? A user interface works best when it presents data to the user
in a format that closely resembles the way the user thinks about the data.
Some database data, for example, is best worked with in a grid/tabular
format. But if the data is not thought of as tabular by the user, another
format would be more appropriate. For example, contact information in
Outlook is stored in a table, but presented to the user in a format that
resembles a business card, a real-world entity that the user is familiar
with. The business card GUI is an abstraction that is familiar to the user.
Directory and File data are hierarchical, with nodes inside other nodes, and
presented to the user in a paneled window that has a tree-view on the left
and a details pane on the right. This enables the user to navigate the data
in an intuitive way.
3. What are the user interface elements that will satisfy the requirements
best?
4. What sorts of interaction will enhance the user's productivity?

--
HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP
 
M

Michael Nemtsev [MVP]

Hello (e-mail address removed),

what are u askin' relates to "usability", but not the design

there is no single answer how to create good usabity. I recommend to good
to get understanding what is it

---
WBR,
Michael Nemtsev [.NET/C# MVP] :: blog: http://spaces.live.com/laflour

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top