Modifying the GUI - rsanchez-wsu/RaiderPlanner GitHub Wiki
How to make a good GUI
Creating issues and pull requests.
Please make sure to upload before and after screenshots to your pull request and your issues if possible. You may be able to use photo editing tools to show what it would look like afterwards (such as GIMP).
Things to keep in mind
- Only make GUI changes that will benefit the user directly. Don't add or change something unnecessarily.
- Animations should be added if they make sense in their respective contexts. Don't overdo animations because they look cool.
- Keep the GUI as clean and simple as possible. Remember, you are not the user.
- Make the GUI as if you were writing it for a child. Everything should be self-explanatory.
- Use relative sizing as much as possible, and avoid absolute sizing. Different people have different screens, after all.
- Avoid using too many colors or very bright colors. Make the GUI focus on the main content and not be distracting.
- Do not force very restrictive measures on the window sizing. If content does not adapt correctly to different window sizes, then the problem lies within the way the content is displayed.
- Get the user to where they want to go in as few clicks as possible, while maintaining good style.
Keep in mind that the GUI is the way to interact with the program, not the program itself. The GUI should look good and get you where you need to go. It shouldn't be a distraction or what the user focuses on.
Testing your GUI
- Change the screen resolution in your settings to both the lowest and highest it will go. Does the interface still look good on these different resolutions? Is there any content off the screen?
- Resize the window in many different shapes and sizes? Does the content adapt accordingly, and will the program be usable in any and all window sizes?
- Ask multiple other people how the GUI looks to them. Ask other people who are unfamiliar with the program if they are able to learn how to use it without much help. The GUI must be user-friendly.
- Discuss GUI changes with other developers before making the changes, especially major changes that may be up for debate.