I’m happy to help you design notifications for your app.
I believe an essential aspect of notifications is that they need to be as calm as possible.
So, I came up with some things you might want to think about based on (what I believe are) your goals.
Helps user achieve their intentions
Why do people need your app?
What role do notifications play for people in achieving their needs?
What methods of notification do you think are relevant to your users (push, email, desktop)?
How can you design notifications to inform the minimum useful bit of information the user needs to know and nothing more?
What happens (with notifications) when things go wrong (for example, no internet connection)?
Gives user control
How can you design the most simple notification settings interface? Tip: I recommend checking out Twist from Doist.
How can you provide a way of reducing the number of unnecessary notifications to a minimum? Tip: Think about not only how to notify, but WHEN is relevant.
Adding value
What are your users’ values?
How can you make your notifications design KPIs align with your users’ values?
How could you use different senses in your notifications to explore the peripheral attention of the user (for example, sound (excluding voices, they’re creepy) and haptic)?
Sergio has some really great advice and its really important to show empathy in your triggers (notifications, emails, text, etc.)
I’d add that you can do almost anything in a notification that you can do in app. Most people don’t know this. You can show custom screens, animations, a keyboard, dynamic buttons, really anything. This allows users to quickly accomplish whatever the prompt is about.
Instead of triggering a remote notification, trigger a local notification from a remote one that has the “content-available” flag set to 1.
Secondly I would add deeplinks to all triggers. Give people the ability to go straight to the part of the app that the trigger is referring too. This takes a bit more setup and architecture, but is worth it. There is a great service called Branch.io that makes this a bit easier.
I’d focus not on other apps, which can get you hung up on anecdotal logic and lead you astray.
I’d laser focus on the behaviors of the audience and apply methods from CBT and Tibetan Buddhism to make people feel understood and embraced. There are frameworks to acheive this that I can help you with if you need. The shortest thing is to map all the possible user states of mind at the point of the prompt.