Comment 7 for bug 1474078

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Hmmm, you have a good point.

I imagined that the way apps would declare that they do notifications would be the same way that they declare they use your location, or camera, or or contacts, or an Online Account: by actually trying to do it. I thought it wouldn't matter that it's a prompt in all the other cases, but an actual first notification in the notifications case: either way, the system could remember that a particular app had done it, and then show only relevant apps in each list.

But the difference does matter. You may be in a situation where for a certain embarrassing app, you know ahead of time that it would be a Very Bad Idea for it ever to send you notifications. (Or, maybe, it would be okay when the phone is unlocked but never when it's locked.) In that case, you want to turn off notifications *before* the first notification ever arrives. So it's not good enough for an app to show up in the list only after it sends its first notification.

So, how could we solve this?

1. Just list every installed app in the Notifications list. Drawbacks: * The list could get very long. * Confusion from listing apps, in a "Notifications" list, that never send notifications to anyone.

2. Require apps to prompt for permission before sending notifications. Typically this would happen during first run, or when you first use the feature that involves notifications. If you deny an app permission, its notifications don't appear anywhere. The Phone and Messaging apps would, obviously, be permitted by default. Drawback: * An extra prompt per app. (Previously I'd rejected this on the grounds that prompting you to ask if it's okay to prompt you is a bit silly.)

3. Require an app to declare in its manifest that it might send notifications. If it does this, it shows up in the Notifications permissions list, even before you've opened it for the first time. If it doesn't do this, any notifications are ignored. Drawbacks: * Extra bureaucracy for app developers.

4. Some kind of static analysis of apps when they're published, detecting whether they ever use notifications. If an app does, it shows up in the Notifications permissions list, even before you've opened it for the first time. Drawbacks: * Extra work for Ubuntu Store developers. * Would need some other mechanism/policy for testing unpublished apps.

Any other possible solutions?