This article is the twenty-third edition of the Advent of Patterns series. In this series, running from December 1st to December 24th 2024, I will document one design or programming pattern I have noticed recently. Read more about this series.
When I was designing Artemis, a calm web reader, I started to reflect on the importance of user preferences. I wanted the interface to feel like it was designed for the user. I could enable this by offering the user the ability to customise the design and layout of the tool; users could build a configuration that was best for them.
Thus far, I have built the following configurable preferences:
- Choose your own theme colour.
- Decide on how posts are sorted in the reader (chronological, alphabetical by title, alphabetical by author).
- Whether external links should be opened in a new tab.
- Whether to show domain names or author names in the feed.
In all of the above cases, what a user prefers will vary. As a user of the tool, I wanted a purple theme, but I may want to use a different theme in the future. I prefer to see posts in alphabetical order by day, which is easier for me to skim through. But others may prefer chronological. I like opening external links in new tabs myself, but others prefer for this behaviour to be automatic.
Here is the Artemis preferences page:
Preferences let a user customise the application to more closely meet their experience expectations.
Reflecting on preferences has me thinking about the tools I use where I have set preferences. One example that comes to mind is Slack, the messaging application. Slack has many preferences available. You can choose between the standard or a “compact” theme. You can set different colour schemes. You can decide whether to show a red notification icon next to the Slack app logo in your task bar. Here is an example of a preferences panel in Slack:
I have set many preferences in Slack. I prefer no animation in messaging applications. I find animations distracting. Thus, I disabled animation. This helps me focus. I have the red notification icon disabled because I find it distracting and stressful. I have Slack open anyway; checking notifications is always a click away. I don’t need a red icon that is constantly visible.
Earlier today, I found that Headspace, a meditation app, lets you set a time to receive a notification as a reminder to meditate. This is exactly what I was looking for. I want to build my meditation habit again. Having a consistent notification sent at a particular time is helpful. Configuring this notification does not oblige me to opt in to other notifications. This is important to me because I prefer to receive as few notifications as possible.
Preferences can touch many areas of an application, including:
- Accessibility
- Theme and design
- Layout
- Animation
- Notifications
- Language and timezone
- And more
The more customisable a piece of software, the better a user is able to make it their own.