Question:
When making a program with a GUI?
anonymous
2009-06-07 16:37:18 UTC
What are some considerations to have? Should I do the GUI first without woriying about the implementation of what the program does?
Three answers:
Me M
2009-06-07 17:48:33 UTC
Zyphem's answer is good. Consistency with the target operating system is very important. If all of the windows in your operating system place the OK buttons on the left and the Cancel buttons on the right, make sure your program does that. If you target operating system has common menus (such as File, Edit, View, Help, etc), make sure that you have the appropriate ones (if they are needed) and that the options on the menus are under the correct heading. Also, programs typically have certain shortcut keys set as standards (Ctrl + P is print, Ctrl+C is copy, etc). Make sure you are consistent with those standards.



Write out all of the tasks that you can think of one using your application doing. Sketch out your GUI(s) and go through how a person would accomplish a task. If something is an important task, make sure it is easily accessible and not buried 3 sub-menus deep and hard to find. Also, make sure you have all of the tasks account for in your GUI.



The GUI should be self-explanatory, as stated by Zephem. Keep the descriptions for each field short, but clear. Many GUI frameworks have a means to allow text to pop up when a mouse hovers over an area... this generally allows longer and more clear descriptions if they are needed. GUIs also need to look nice. So don't use colors that clash. Do not override the OS default settings (such as color scheme, themes, layouts, etc) without reason. Make sure the fields are properly aligned and make sure you have a consistent amount of space between things.



I am not sure what you are using to program this, but depending on what languages and frameworks you are using to program it, you may want to consider using multi threaded programming techniques if you think any of the tasks your GUI initiates are going to take a long time, but do not require additional user input. This could help keep your program from appearing to freeze (but could make programming it much more complicated.)
Zyphern
2009-06-07 16:48:01 UTC
When developing a GUI application I first sketch out on paper what I want the GUI to look like. I outline where the controls are, and on a separate sheet what each control does. I then design the entire GUI in my IDE before writing any code, to ensure that everything looks, and feels efficient and natural.



The main consideration is that you want your GUI to be self explanatory. Make sure you use labels, and titled buttons to describe what each controls function is. Lay out the GUI in a way that "flows" that is, for a data entry program, you would want a text box for someone's first name, before their last name.



In addition to this, try to keep your GUI consistent with other applications for your target Operating System. This means putting functions such as: open, print, and exit, in the File menu. In addition to this, ensure that you are using controls for their rightful purpose. If a user is meant to click on something for an action to take place, make it a button, not a label with a click event.



Hopefully this has answered your question, if you have any further questions feel free to ask.
anonymous
2009-06-07 16:52:45 UTC
you should design the GUI first. like the other guy said, its important to makesure everything looks right, before you start the coding


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...