microsoft / microsoft-ui-xaml

Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
MIT License
6.34k stars 677 forks source link

Discussion: Should We Create App types? #2866

Closed shaheedmalik closed 1 year ago

shaheedmalik commented 4 years ago

Discussion: Should We create App types?

I was looking at a problem here the other day regarding being unable to disable the close button controls in the title bar for kiosk apps. I thought, "this feature is definitely needed for enterprise apps but it would hinder apps in the consumer space, if this feature was implemented by a rogue actor. So I thought, "what if apps were grouped based on use case that would enable or disable certain APIs and controls? The types of apps could include:

With these app types they would allow features needed for enterprise applications to exist in kiosks and other enterprise programs without being anti user.

Think of the Xbox Game Mode, currently on Windows 10, expanded to allow for different environments that excel in each type of the app's unique needs.

Also in the Microsoft Store, The different app types can specify what type of app it is. The needs of Games, Consumer apps, and Enterprise, are all different.

Related Links

hansmbakker commented 4 years ago

Interesting idea, but I'm wondering whether there are resources available to create another slicing of app types.

The Microsoft Store and UWP seem to be lacking resources already to carry out needed improvements (e.g. UWP catching up with .net 5, the Store having problems with developer dashboard and searching, etc).

Adding new app types, even though they could potentially be useful, will likely dilute the focus that is needed to do certain improvements that are needed (UWP improvements, WinUI, Project Reunion, .net 5, app modernization, etc).

mdtauk commented 4 years ago

What about apps that perform background functions, who's only UI happens to be settings which live in a Task Tray Icon?

There is currently the UWP lifecycle and then a Full Trust mode with deeper system access. If WinUI Desktop opted into a permission system, it could choose what Category of permissions it requires, and an appropriately styled dialog can show on first run.

Basically I think these App Types should be less about who the app is aimed at, and more about what the app requires - and the user chooses to allow or not.

So if its an app that requires lots of permissions, the dialog looks more like a warning (maybe UAC with password entry), and you can allow all permissions at once.

If its more 'consumer', or only requires one or two permissions, each permission brings up a friendly dialog, with an always allow option.

shaheedmalik commented 4 years ago

What about apps that perform background functions, who's only UI happens to be settings which live in a Task Tray Icon?

If we look at Windows 10x, and even the current Insider build of Windows 10, apps that run in the task tray are going away. But something like this would be covered under the Enterprise designation.

There is currently the UWP lifecycle and then a Full Trust mode with deeper system access. If WinUI Desktop opted into a permission system, it could choose what Category of permissions it requires, and an appropriately styled dialog can show on first run.

Basically I think these App Types should be less about who the app is aimed at, and more about what the app requires - and the user chooses to allow or not.

So if its an app that requires lots of permissions, the dialog looks more like a warning (maybe UAC with password entry), and you can allow all permissions at once.

If its more 'consumer', or only requires one or two permissions, each permission brings up a friendly dialog, with an always allow option.

I agree with this. The idea is that is more directed at developers' particular use cases. A consumer designated app would have a different set of tools available versus an Enterprise app. Someone downloading an app and it locks down the system wouldn't be desirable for a consumer grade application, but it would be expected in an Enterprise application like an ATM or Kiosk for example.

The main consumer part is notifying the user in the store what type of app it is.

sharpninja commented 4 years ago

I think every app must be installed via MSIX, signed and permissions requested, even if the permission is "Everything". Legacy consumer apps that haven't been updated in 5 years will rightfully fall to the wayside if the developer cannot put in the minimal effort to repackage with proper permissions.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 5 days.