Notifications and Alerts for an Offline First World

Day 1. 10:30 am. Offline Camp, Catskill Mountains.

After a delicious breakfast of bagels, berries, Nutella and hot coffee, we began the first of our many sessions at Offline Camp.

First — some brain food! :)

We huddled up, geared with charts, sticky notes and notepads to jot down our ideas and started right off!

The following is an amalgamation of discussions and ideas that bounced around the one-hour session about notifications and alerts for an offline-first world.

Role of Notifications

Notifications may not always necessarily be a banner at the top. They may be communication of system state at different moments through your user experience. For instance, communicating to tell that you are offline. These notifications within the system serve to ‘fill the gap’ between a connected state and an offline state.

Use cases

The discussion started off with the nuances involved in various use cases. We explored offline scenarios that ranged from first-world problems like getting social media or Kindle updates to vital survival alerts during natural disasters.

First-world offline scenarios can occur due to instances like loss of connectivity while riding on a subway train, having a low battery or just intermittent spaces or regions with bad connectivity.

On the other extreme, notifications can sometimes act as a lifeline — like loss of reliable connectivity during natural disasters. Effective management of notifications during these situations of sparse and scattered connectivity is vital, as they may contain important and urgent alerts or desperate communication for help.

Applications and devices would need to tackle these with appropriate solutions by assessing the criticality of the scenarios.

Prioritization and Efficient Management of Notifications

In cases of limited connectivity, it can help to have a sort of hierarchy or prioritization of notifications. For example, important weather alerts should have precedence over other non-critical notifications. A sort of ‘awareness’ of other apps and current environment or state of the device would be required to facilitate this. Either the operating system, apps or the users themselves should be given an option to sort out the priority of notifications.

There are some extremes scenarios where you are totally reliant on notifications. In these cases, it is necessary to be extremely efficient in terms of energy or data spent on getting these notifications. There should be continuous monitoring of how in sync you are in terms of strength and duration of connectivity or battery life and hence manage the resources optimally.

Service value of the product

A lot depends on the type of app or product and how notifications revolve around its service value. For example, the NYTimes mobile app’s core value is just to tell you the news and it does so by giving push notifications on the top breaking news every day. In other cases, it is just an extension of its service value like say the Hopper mobile app, which notifies you only when there are flights available that fall under your specific criteria.

Steven Trevathan summarizing the session to the rest of our group.

Integrating user habits and predicting common mistakes

Integrating user habits can play a huge role in predicting the offline state of a user. An analysis of the user’s workflow as she moves from one screen to the next and monitoring state of the device’s environment (like connectivity, battery, etc.) can be used to predict when the data can be stored to be seen offline.

Another feature that could enhance offline experience is for the app to predict common mistakes or typos and be ready with respective alternate solutions when you anticipate an eventual offline state. For example, when you download a map for offline use later, you might end up choosing the wrong (but similar) location. Like say — the wrong Statue of Liberty! (there are 10 of them!) So in this case it would be helpful for the app to realize that the user is going offline soon and hence either confirm the address with the user again or download the alternate maps for offline storage as well.

The Physical Web

There was a lot of chat on how Google’s Physical Web concept that uses ‘beacons’ could in some way help in solving some of the offline scenarios.

Google’s Physical Web project is working on location-based beacons for distributing data. They provide geo-based efficiency by distributing particular URLs or important packets of data through these low connectivity areas with this sort of hybrid mesh networks of hard-wired connectivity.

Consider this scenario: when you finish reading on your Kindle reader, and you leave your house for the subway and continue to read the book on the train, but now from the Kindle app on your phone. The ‘last read point’ will need to be updated from the Kindle reader to the cloud so that the last read point is in sync with the Kindle app too. But you end up only opening the app after you sit on the train, only to figure that you can’t go through with this simple sync because of loss of connectivity.

A way of solving this along with physical web concept is to first predict ‘offline time boxes’ based on location and time. After the last read point data is pushed to the cloud, and later it is detected that the user is leaving her house, this info or packet of data is then pushed from the beacons (which are hard-wired) set up at the train station to the user’s mobile device as soon as she enters the station.

Current Limitations for Notifications

There are different limitations on notifications depending on the platform or operating system. Can apps allow you to configure or prioritize their notifications within the app? Do apps provide enough scope for the developers to modify that for you? How would access and permissions both among apps and at the operating system level be handled? The operating system could also play a huge role here. For instance — could we expect the operating system to be more responsible in handling notifications and prioritizing the important ones? Say when the connection level is below a certain threshold — then push only the top 3 important notifications within a particular timeframe and snooze the other notifications that are queued up.

Brainstormed some rather interesting ideas

We brainstormed a bit over utilizing the compass related information in mobile devices to be used for finding better connectivity. In places that don’t have a lot of bandwidth, if you need to get emergency alerts, we can then have it say — ‘Hey, you are are not connected (or losing connectivity) right now! You had connectivity back that (direction) way!’

It was impressive how we were able to discuss so much on this topic within a span of just an hour! We hope that this gives us a start to fuel further elaborate discussions on this topic and help to pave the way towards an offline-first world.

Editor’s Note: This article is part of series of unconference session recaps submitted by the awesome folks who participated in our first ever Offline Camp. You can find more coverage of our initial discussions in our Medium publication or sign up for Offline Camp California (November 4–7, 2016) to continue the conversation.