Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Designing a GUI [closed]

How would you, as a developer with little (or no) artistic inclination, design a GUI for an application? In particular, I'm thinking about desktop apps but anything that relates to Web apps is welcome as well. I find it extremely hard to design something that both I and potential users find pleasing. I can look up color schemes on the net, but how would I know where to place buttons/textboxes/etc.?

Update: To clarify, I don't mean what controls and such to use. Rather, are there any guidelines/hints to when I should buttons, combos, textboxes and so on? How long should they be and where would I place them on the form?

like image 973
Yuval Avatar asked Oct 03 '08 22:10

Yuval


2 Answers

The first thing you need to do is get out of your developer-point-of-view. We tend to think in terms of forms, controls, buttons, lists, grids etc. And this tends to push us to solutions that are not always optimal for the user.

Users don't want to use our software. (except when you're programming games) They just want to get stuff done. So when desinging UI and user interactions it makes sense to start from there. Write down what a user wants to do with your software. Think about how a user would go about doing these things and what your application could do to make things easier.

Try to work with different tools than you use for programming. These make you think in UI widgets again. Start with a pencil and a piece of paper to sketch things, also try to think about the behaviour as well as the layout etc. If you've got a clear picture of what you want to build you can start thinking about how you're going to build it. That's when the widgets, buttons and pages come in.

like image 77
Mendelt Avatar answered Oct 18 '22 21:10

Mendelt


The applications I developed get clicked thousands of times per hour, so everything comes down to efficiency. I like to think of it as a sort of currency with which you can generate lots of useful axioms:

If it saves a click, +1.

If it costs a click, -1.

If the user wastes time figuring out how it works, -1. (Most custom UI elements)

If it is fundamentally intuitive, +1. (Coverflow)

If it saves first-time users a click, +1. (Wizards)

If it costs long-term users a click, -1. (Wizards)

(Thus why you have to make sure your keyboard shortcuts and tab orders make sense.)

Etc.

Etc.

Everything gets subjectively weighted and tallied and you compromise where you have to. Ultimately, it might be a naive philosophy, but its served me fairly well. Extrapolate as you see fit.

like image 41
bouvard Avatar answered Oct 18 '22 19:10

bouvard