Hi everyone,
The Mobile Apps Team met to discuss some of the technical aspects of notifications and how they can be served in the apps. This email summarises the technical aspects of the discussion as seen through the lens of product.
Broadly speaking, there are two classes of notifications:
- Local / pull. These are triggered on some kind of schedule or timer (e.g. every X minutes). They may, if they choose to, retrieve (i.e. pull) data from an API call when they are triggered, and present information retrieved from that API to the user. These are "simple" to implement as they have few server-side dependencies. - Remote / push. These notifications hook up to services (e.g. Google Play Services) to retrieve information and only trigger when they information is received (i.e. pushed) to them. The nature of the notifications means they can typically be more personalised. These are "hard" to implement, as there is server infrastructure required to push the information to the device.
From a UI perspective, there is absolutely no difference between a local
and remote notification. This distinction is not presented to the user, so it is totally irrelevant to them.
In terms of evaluating the success of notifications, it is important to consider that there are three interaction patterns that a user can have with a notification:
- Engage. The user taps on the notification and is directed to wherever the notification wants to direct them to. - Dismiss. The user dismisses the notification and it's not shown to them any more. - Languish. The user sees the notification, but neither engages with it nor dismisses it.
So, it is possible to build metrics around notifications. You can say "Of the X users we served this notification to, Y engaged with it, so we have a Y/X engagement rate". However, it's important to take these interaction patterns with a pinch of salt, for a variety of reasons.
- Firstly, do not assume that dismissing a notification means that it was ineffective, as that depends on the intent of the notification; if the notification was a reminder, then dismissing it means the user was successfully reminded! The exact metric used to evaluate the success of a notification will have to be decided on a case by case basis. - Secondly, on iOS, users may heavily customise the way notifications are presented to them which will mould the way they interact with them. - Thirdly, it is difficult on a technical level to distinguish between a "dismiss" and a "languish", and in fact on iOS there is often no distinction between these modes anyway.
That's all I have for now. Our initial discussion was very exploratory. More to come. :-)
Thanks, Dan