Human Interface Guidelines
Under contruction
Right now this page is rather random, it’ll take more form over time.
UI Terminology
UI Standards
UI Commandments
Consistency, consistency, consistency.
Make sure that throughout SharpOS, and every application itself, similar problems are solved in similar and predictable ways.
For example; shortcut keys that do the same thing should be the same everywhere:
Ctrl-Z = undo
Ctrl-S = save
Do not reinvent the wheel!
...
Design should be intuitive
If an user has never worked with SharpOS or with an application on SharpOS, he or she should be able to make educated guesses.
Less is more
Focus on what users really need to know, focus on what the users really want or need to do.
The best products aren’t the ones with the most features. The best products are those whose features are tightly integrated with the solutions they provide, making them the most usable.
Never force the user to do something that the computer is better at
...
Keep your users in mind (your users might not be programmers!)
...
Responsiveness / visual feedback
Make sure your application is either responsive or is showing the user that it’s busy.
If you don’t the user will probably assume your application has crashed.
UI Design Principles
The structure principle. Your design should organize the user interface purposefully, in meaningful and useful ways based on clear, consistent models that are apparent and recognizable to users, putting related things together and separating unrelated things, differentiating dissimilar things and making similar things resemble one another. The structure principle is concerned with your overall user interface architecture.
The simplicity principle. Your design should make simple, common tasks simple to do, communicating clearly and simply in the user’s own language, and providing good shortcuts that are meaningfully related to longer procedures.
The visibility principle. Your design should keep all needed options and materials for a given task visible without distracting the user with extraneous or redundant information. Good designs don’t overwhelm users with too many alternatives or confuse them with unneeded information.
The feedback principle. Your design should keep users informed of actions or interpretations, changes of state or condition, and errors or exceptions that are relevant and of interest to the user through clear, concise, and unambiguous language familiar to users.
The tolerance principle. Your design should be flexible and tolerant, reducing the cost of mistakes and misuse by allowing undoing and redoing, while also preventing errors wherever possible by tolerating varied inputs and sequences and by interpreting all reasonable actions reasonable.
The reuse principle. Your design should reuse internal and external components and behaviors, maintaining consistency with purpose rather than merely arbitrary consistency, thus reducing the need for users to rethink and remember.
Navigation
...
Localization
- Keep in mind that in some cultures text goes from left to right, while in other cultures it goes from right to left.
...
Scalability
Will your UI component work as well with a few elements or a lot of elements?
...
Sounds
...
Accessibility
Hearing Disabilities
...
Physical Disabilities
...
Error handling
Handle errors gracefully
Make sure error messages are clear and descriptive.
If possible; Provide tips on how to fix the error (or avoid it in the future)
or even better; give the user options on how to fix the problem automatically.