MellonScholarlyCommunication / Solid-Notifications

Ideas and projects about processing Linked Data Notifications within Solid
2 stars 0 forks source link

Notification types #8

Open Dexagod opened 3 years ago

Dexagod commented 3 years ago

Notification types

Not all notifications are the same.

There are many kinds of notification, and different kinds of notifications will require different actions.

Concrete questions

pietercolpaert commented 3 years ago

An important aspect seems to be “when can I safely delete a notification”? Probably we should standardardize retention policies?

RubenVerborgh commented 3 years ago

For me, notifications are ephemeral. They are nudges or pings. They are alarms. They go off to point you into the direction of something else—and it's that something else that should have the retention policy.

First of all, I think behavior should be customizable for sure. So there are different strategies for dealing with notifications.

Second, the strategy that I recommend, and the one I want to investigate, is "delete after reading" AKA the "inbox zero" policy. A notification should trigger a (simple or compound) action, and the moment that action has been triggered, the notification is removed. Every notification should only be processed once.

If multiple actions are required, then new notifications should be spun off (likely, but not necessarily, to other inboxes).

Such a message-passing design avoids a lot of headaches where things linger around, the drawbacks of which we have already experienced in the past.

Third, purely for GUI (or debugging) purposes, notifications could be archived to display the act of having been notified. Kind of when you click the bell icon here in GitHub. However, then they are rather a past action log than notifications, and there is no inherent need to keep them in notification form.

pietercolpaert commented 3 years ago

Agreed! On top of that vision, it would be interesting to see a LDN as just any other resource, and standardize a description of what you can expect from a certain container. E.g., what is now known as a notification inbox may be “this ldp:Container is open for any agent to write towards, and a notification can be removed from the moment any application marks it as being read or processed”.

Another ldp:Container, for example for an air quality sensor in your home, may decide to remove the data from the moment its 1 day old, regardless of whether the data has been processed by an agent.