Tips for Designing Notification Systems
Designing a wholistic notifications system? Here are some tips I've learnt, read, and/or stolen plus some handy articles I've read or mean to read.
A double-edged sword
- Done well, notifications can create an engagement snowball effect. On the flip side, create a system that's too noisy or irrelevant and users will disable notifications or delete the application altogether.
[[!Start with why]]
- What does your user want to accomplish? How can you help them achieve that?
- Start by identifying the outcome you want to achieve: the value for the user and for your product. How does it help you both achieve your goals? This 'why' guides everything else. If there is no 'why', then you're probably creating noise.
- A helpful framework to work through. Each determines the next: value -> trigger -> importance -> channel -> content
- Consider: What are you sending? Why? To whom? When? How?
- The level of importance depends on the immediate value to users and determines channel, timing, and content.
Don't forget 'who'
- Who is your audience? What else might they be doing when they receive a notification? Consider a diverse audience who might be notified on their phone, poor internet connection, etc.
- Different users might need different notifications. Likewise, users at different stages of familiarity with a product need different notifications. Those help notifications might be valuable for new users, but annoying for folks more experienced with the product.
Keep content brief and actionable
- Keep information and interactions glance-able.
- Avoid jargon.
- Design for and prompt to action. What is your user likely to do next based on this information? Can you help them accomplish that or automate it?
When and how to send notifications
"A chatty app is not necessarily a good thing..." - Slack app design guidelines
- How frequently are your messages generating notifications for users? Would a digest make sense?
- What time is it for them? Maybe don't notify them in the middle of the night.
Give users control
- Make notifications opt-in.
- Make it easy to change notification preferences.
- More setup = more user effort. Establish smart defaults but don't lock users in and prompt users to add or edit settings at appropriate moments (ex: in Slack, the first time you receive a notification on the weekend, they prompt you if you want to change your notification window).
- Be wary of multi-channel spam. Simultaneous pings are jarring (looking at you Apple, scaring the living daylights out of me when my laptop, phone, and tablet all go crazy). Similarly, notifications might stack if you send an alert to a tool (like Slack or email) which users may have configured to pull in notifications already.
- How to design a scalable notification system by Courier
- Designing systems, not just UI: alerts & notifications Disclaimer: I was involved on in the work detailed in this article so biased but can also say first hand that the approach was helpful for systemizing in-app notifications.
- Slack has a helpful guide to creating a Slack app, the principles of which can apply to wider notification systems as well. For more details, read my notes on the topic here: Tips for designing a Slack app
Haven't read yet
Most of these refer more to in-app notification systems which, while critical, is not the focus here.