ukhsa-collaboration / COVID-19-app-Android-BETA

Source code of the Beta of the NHS COVID-19 Android app
https://covid19.nhs.uk/
MIT License
776 stars 149 forks source link

Important notifications can be missed if less important ones are disabled #15

Closed steffandroid closed 4 years ago

steffandroid commented 4 years ago

Describe the bug Not a bug as such, but a significant UX flaw.

All notifications are funnelled through createNotificationChannelReturningId() in NotificationHelper.kt, which uses a single NotificationChannel with default_notification_channel_id to show them.

https://github.com/nhsx/COVID-19-app-Android-BETA/blob/43a167f8dba422fd9001b64f9c4fd82275abb1c8/app/src/main/java/uk/nhs/nhsx/sonar/android/app/util/NotificationHelper.kt#L133

As the persistent notification is displayed at all times, it seems likely that some users will disable this. However, doing so will disable all notifications, including contact alerts.

To Reproduce Steps to reproduce the behaviour:

  1. Long press on the persistent notification to disable it.
  2. Perform any activity that would normally display a notification e.g. disabling Bluetooth.
  3. The notification is not displayed.

Expected behaviour The Android guidelines are clear that different categories of notification should be assigned to separate channels. This means users can disable one type of notification but other types will continue to be displayed.

In the context of this app, it would probably make sense for the persistent notification to have its own separate channel. The Bluetooth and Location disabled notifications could share a channel as they behave in a similar fashion. Finally, the contact alerts should certainly be in a separate channel so it's as hard as possible for users to accidentally disable them.

It would also be worth adding an in-app prompt for users who have disabled the contact alerts, asking them to re-enable this notification.

edent commented 4 years ago

Thanks for that. We'll take that suggestion on board.

edent commented 4 years ago

I'm pasting this message in every active GitHub issue, so you may receive duplicate notifications.

Today, I'm happy to announce that NHSX has released the full git commit history for the Isle of Wight Beta apps.

As discussed, we have redacted API keys, sensitive domain names, and some of the developers' personal details. I am still waiting on final approval to publish the server-side code.

I would like to personally thank the community for your comments, bug reports, and vulnerability disclosures. They all went into helping the development process.

The beta trial of this app has now ended and we've moved to the next phase of app development. It is our intention to publish the source code of future apps as the binaries are released to the public.

Once again, thank you for being part of this.

Terence Eden Head of Open Technology - NHSX