237 views
# Notifications Preferences management improvements ## Improvements ### 1. Notification level: Urgent/Important/Normal - Needs clarification: my first intuition was that I was assigning a urgency level to a channel, ie "I think IT-CDA-WF notifications are Important". We should think of a way to clarify in the user interface that a user can assign different Frequencies per Level, and that he is not assigning a level to the notifications of the channel. Maybe when we have defaults clearly shown maybe this won't cause confusion anymore and nothing needs to be done. :::info **Changes** - To allow more flexibility one preference could have multiple urgency levels associated. Change radio button to checkbox. ::: ### 2. Global/default preferences are not clear - User first intuition may be to create a preference for a channel which mimics the global preference Example: Create preference it-cda-wf {email, live, normal} which is redundant. Solution: Main preferences page should show the defaults which are implicit to the developer, but not to the end user: :::info **Changes** 1) Agree what are the defaults for all users. 2) Add them explicity to the DB. This will make code simpler as there as less inferered preferences. If later we change the defaults it also wouldn't make sense to change them for previous users without their knowledge anyway. 2.1) Also define when is the appropriate time to add them: login + account creation? ::: Defaults : 1. Email, Live, (Low, Normal, Important, Critical) (For user not in DB) 2. Push, Live, Critical (For registered user) Global (Added to DB on Account Creation): 1. Email, Live, (Low, Normal, Important) Note: Eduardo mentioned we need to consider privacy by design. ### 3. Possibility to turn off alltogether preferences for a channel or all channels - What if a user does not want to receive any push notifications or any emails either for a channel or as default. :::info **Changes** 1. Allow to remove all preferences. When a user has no rules then it receives no notifications. Also helps with privacy by design concept. 2. If a user deletes all global preferences we can add a warning banner in the preferences pages alerting that he will not receive any preferences. Something like: > Warning > You disabled all global notifications! You will not receive notifications unless you define global or channel preferences. ::: ### 4. Hours section in new preference modal - Hours section is confusing The user may either think - S/He's selecting the hours in which s/he will receive the daily feed of all notifications or - Indeed understand s/he's filtering what messages are included in hers/his daily feed. :::info Needs further discussion. Solutions may be: - Instead of time range use labels: full day, working hours, out of working hours - Add label above hours: Filter what messages to receive - Add example with *info* tooltip: on working hours -> live , out of working hours -> aggregated ::: ## Nice to have (Beta features after prototype) ### 1. Possiblity to aggregate multiple channels in one preference For a user with hundreds of channel subscriptions may be very difficult manage multiple channels and its preferences. A good feature could be to allow to apply the same set os preferences to a group of channels and allow that editing that preference could apply to all the channels in that group. Issues how to show/allow that easily to the user? [Suggestion in mocks](#Aggregations). ### 2. Possibility to have a summary of all preferences per delivery type For example, after adding a new preference a user may be shown a summary of all rules that apply to that delivery type: Example: After adding rule show something like: - Email notifications you will receive: - Urgent notifications live - Important notifications live from 9am to 5pm - Normal notifications daily summary # Suggestion mocks (made with https://ninjamock.com/) Note: Level is not reflected in all these mocks because it wasn't clear at the time, but should. ## Preferences page ### Option 1 Manage channel preferences redirect to channel management page. ![](https://codimd.web.cern.ch/uploads/upload_ada35f0c467994ba6c7cc7ad6cdd74a4.png) ### Option 2 (Could be a later iteration after prototype 1, ie beta feature) Manage everything from main preferences page, with search and collapsible dropdown. ![](https://codimd.web.cern.ch/uploads/upload_ff213a70aadc752e9588d286f2fa1533.png) ## Channel page Make clear which default rules are disabled/enabled. ![](https://codimd.web.cern.ch/uploads/upload_6d70807ccf1b1816c2e1ea613ead97b9.png) ## Aggregations ### Preferences page One solution could be add a new section in the preferences page which could allow to create aggregated preferences, ie select multiple channels. Button "Add" would open the same modal "add preference" but allow multiple channels to be associated instead of just one. ![](https://codimd.web.cern.ch/uploads/upload_defcd6949b30bf82b7dceaf748ddd649.png) ### Manage aggregations page Just like manage channel preferences page. Note different url. ![](https://codimd.web.cern.ch/uploads/upload_ba91c0e9c2d8e539116de2085fee7d25.png)