UI design principles - mostly adapted from https://maze.co/collections/ux-ui-design/ui-design-principles/ * Consistency (within the application and with similar applications) * Provide easy navigation (logical hierarchy: navigating menus or tools for more options; multiple ways to carry out an action where it's natural to do so) * Provide informative feedback (e.g. password strength) * Design workflows to yield closure (e.g. "purchase complete", "file saved") * Prevent user errors (e.g. "are you sure you want to exit without saving?") * Allow users ways to reverse their actions easily (e.g. undo, redo, cancel, and exit) * Avoid surprises and changes in behavior * Minimize the user's memory load (avoid having to remember things in order to perform a task, e.g. "I forgot that I already bought that book.") * Aim for clarity (quickly and easily understand what something does) * Use visual hierarchy (size, color, font, white space, and negative space) to illustrate what is important and what groups together * Design for flexibility: Accommodate different user skill levels (e.g. mouse vs keyboard shortcuts, advanced features, filters) and disabilities (color contrast, screen reader, easy tab key navigation, for web: different devices) * Lead the user to formulate a good mental model of what happens internally