microsoft / WindowsAppSDK

The Windows App SDK empowers all Windows desktop apps with modern Windows UI, APIs, and platform features, including back-compat support, shipped via NuGet.
https://docs.microsoft.com/windows/apps/windows-app-sdk/
MIT License
3.8k stars 320 forks source link

Enhance jump lists to replace notification area icons in certain situations #711

Open JaiganeshKumaran opened 3 years ago

JaiganeshKumaran commented 3 years ago

Proposal: Enhance jump lists to replace notification area icons in certain situations

Most of the notifications icons are used just to show static app options. For these kinds of apps, jumplists are much better suited however today jumplists have some limitations such as item click would activate the foreground app instead of a background task.

Summary

With a notification icon, the app needs to run in the background all the time. If the notification icon does more than just show a few options, that's definitely fine however why do you need the app to run all the time to show options which are accessed only when the user clicks on it? Jumplists can provide more functionality such as a toggle menu item, a checkbox menu item and subflyouts for replacing such menu only notification icons. Sometimes the app may need to modify the options in the background based on the app state, so an event could be added that would fire when jumplist is opened and can be handled by a background process of the app to modify the menu items if needed.

Rationale

Scope

Capability Priority
This proposal will allow developers to activate a background task when a jumplist item is clicked as an option Must
This proposal will allow developers to add interactive toggle and check box menu items Must
This proposal will allow developers to detect when the jumplist is opened and perform specific actions such as modifying the menu item list based on app state if required through a background process Must

Important Notes

Since the app won't be running to register for the jumplist event, it could be a specific kind of app activation.

riverar commented 3 years ago

Am not sold on this. I'd like to see the rationale section filled out more. It is not clear how this improves the Windows experience or is more flexible than simply providing an icon that can be attached to a simple context menu or a completely owner drawn window.

JaiganeshKumaran commented 3 years ago

The point is it's not flexible than a notification icon but it that jumplist should be more flexible than what it supports currently

riverar commented 3 years ago

Most of the notifications icons are used just to show static app options.

Looking at the icons in my notification area, most of the actions require the app to be running to do anything useful (e.g. show settings, create note, send feedback, connect to server, show window, etc.). So I disagree with this assertion. Do you have some apps in mind?

It might also be helpful if you call out what's missing from the current API surfaces?

mveril commented 3 years ago

I agree with you on one point

But I disagree with you on two points

mrlacey commented 3 years ago

Considering these two points:

Most of the notifications icons are used just to show static app options.

and

With a notification icon, the app needs to run in the background all the time.

I'd like to propose an additional consideration.

The fact that notification area icons are so small is one of the appealing things about them. I've known companies create notification area icons because it makes functionality easy to find and doesn't take up a lot of space.

While I'm in favor of improving the options available in the jumplists for apps in the taskbar, it would also be good if:

and/or

JaiganeshKumaran commented 3 years ago

I've known companies create notification area icons because it makes functionality easy to find and doesn't take up a lot of space.

Jumplists in fact don't even need an icon in the taskbar. With Windows 10, they are also shown in the context menu on the Start menu tiles as well as the all apps list

JaiganeshKumaran commented 3 years ago

Looking at the icons in my notification area, most of the actions require the app to be running to do anything useful (e.g. show settings, create note, send feedback, connect to server, show window, etc.). So I disagree with this assertion.

That's true however the options itself are mostly static except a few apps. Instead of running the app always, an app provided background task can be activated when options are clicked or an event that fires to the background task when opened to modify the menu items based on app's current state.