flatpak / xdg-desktop-portal

Desktop integration portal
https://flatpak.github.io/xdg-desktop-portal/
GNU Lesser General Public License v2.1
600 stars 194 forks source link

Event, Task, and Simple Reminder Notifications #1026

Closed Mikenux closed 1 year ago

Mikenux commented 1 year ago

Context

Goals

Required

App Registration

General

Widgets

Portal and App User Interfaces

Why a Portal-Side User Interface?

To achieve the second goal, it is necessary to confirm the addition of events, tasks, and simple reminders and to be able to review their content.

I thought about showing a notification to confirm the addition. However, it would make a big notification to show all the properties of an item, and the user wouldn't necessarily have time to review the content because, usually, notifications aren't shown for long. Furthermore, this would mean that the user would have to review the content twice.

For the reasons mentioned above, notably to avoid the user having to review the content twice, I therefore chose to have a portal side user interface.

UI Considerations

The portal UI is then a standard dialog for adding and updating events, simple reminders, and tasks.

Deleting an event, a simple reminder or a task can be done using a Delete button in a standard dialog or in the app UI. If the Delete button is in the app UI, it triggers a standard delete confirmation dialog to appear. The minimum number of relevant properties appear in this dialog to indicate to the user which item is being deleted. Multiple items can be deleted with a confirmation dialog listing them.

Each property of an item can be called individually by an app. This means that apps can have a button in their user interface that calls the portal to display a specific property. The portal user interface must then directly display the called property, also presenting its options, while offering the possibility of editing other properties.

Event Registration

Core Registration

Reminder Registration

Notification Actions

Simple Reminder Registration

Registration

Notification Actions

Tasks ("To Do") registration

Core Registration

Reminder Registration

Notification Actions

Email Reminder

Since items and reminders will be added through a dedicated portal user interface, email reminders can be part of the portal instead of depending on an app.

Sensitivity Registration

(see https://gitlab.freedesktop.org/xdg/xdg-specs/-/issues/103)

Sensitivity concerns the sensitivity of the properties of an event, a simple reminder or a task. This defines how a notification must be displayed on the lock screen. This property applies to events with all their reminders, dated simple reminders, and dated tasks with reminders.

I think sensitivity should be a sub-property of:

The values are:

Notification Importance

If an event (especially with a reminder), a dated simple reminder or a dated task (especially with a reminder) is added, it is certainly important for the user.

Questions

Mikenux commented 1 year ago

Other issues with the Task Store: https://github.com/flatpak/xdg-desktop-portal/issues/1027, https://github.com/flatpak/xdg-desktop-portal/issues/1025

GeorgesStavracas commented 1 year ago

To the best of my knowledge, there is no one planning on working on this proposal, and application developers haven't requested this kind of functionality for portals so far. At least not in the way it is currently specified. This issue, or any spiritual successor, can be reopened opportunistically if such necessity arises.

Mikenux commented 1 year ago

Need to investigate adding notes.