Building better user interfaces, 10 minute edition
Here's some highly condensed pointers on building better user interfaces, in the form of a few rules of thumb:
1. Make things look like what they are. Buttons should look like buttons, checkboxes should look like checkboxes, and so on. Familiarity works.
2. Think about functionality in terms of 'tiers of need'. Make the most commonly needed features immediately visible at all times, hide less common features behind a predictable menu, really uncommon features in a *submenu*, and so on.
3. Present data in the form and context that someone is likely to want to see it, in the common case. This usually will not match the shape of your internal storage at all! Much of your UI work should be converting between these two representations.
4. Look at accessibility guidelines like the WCAG. This not only makes your UI more accessible for those using assistive tools, it also makes it more predictable for everyone else. Don't forget about contrast!
5. Make things immediate where possible, and avoid things jumping and changing too much. Loading indicators should only exist for fundamentally slow tasks, and as much as possible should be done/reflected locally without waiting for a server.
A lot goes into building good UIs, but these are the things that people most often get wrong. If you get these few things right, you are halfway there!