← Back

Design Notes

Bear Reader - my open-source client for iOS to read bearblog.dev

These are my notes on designing software for desktop and mobile devices. Some notes are quite technical.

Essential questions

Before we start implementing anything GUI related in code, let's imagine how UI might look after asking ourselves the following:

You can also come back to those questions upon refactoring, adding new features.

On UI density

I really like how Matt Ström puts it:

Designing for UI density goes beyond the visual aspects of an interface. It includes all the implicit and explicit design decisions we make, and all the information we choose to show on the screen. It includes all time and the actions a user takes to get something valuable out of the software.

So, finally, a concrete definition of UI density: UI density is the value a user gets from the interface divided by the time and space the interface occupies.

Speed, usability, consistency, predictability, information richness, and functionality all play an important role in this equation. By taking account of all these aspects, we can understand why some interfaces succeed and others fail. And by designing for density, we can help people get more value out of the software we build.

You can read more about it here.

On Accessibility

Good accessibility starts with the basics: contrast, semantics, alt text for pictures. Great accessibility requires lived experience. It is best achieved by working directly with people who use assistive technology (including yourself!).

Here are some tools that can help out testing accessibility:

To read about painful inaccessible experiences, I can recommend this series of posts on Fireborn's experience using Linux distributions: