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.85k stars 326 forks source link

Extend the file picker contract to File Explorer #1295

Open JaiganeshKumaran opened 3 years ago

JaiganeshKumaran commented 3 years ago

Proposal: Extend the file picker contract to File Explorer

Today Windows provides the file picker contract so users can pick a file provided by an app directly without saving it locally first. I think it will be more powerful if it was extended to File Explorer - that is instead of just picking from apps in a file picker, you should also be able to access files provided by apps through the File Explorer.

Summary

Unlike the past, users have data stored in many places. Cloud storage services such as OneDrive do integrate pretty well with the file system with sync clients however this works for them since they use a flat folder hierarchy of files similar to your real file system however they can't do more. For example, OneDrive sync client will only sync your own files and for files shared by others, you need to open the website or the PWA available on the Store to seem. This is due to the fact that when a file is shared, you don't get access to the actual file system hierarchy but simply the contents of the file. This can also be problematic for apps with their own cloud server specifically for them. One example might be Figma, where the files are available in their cloud but you don't get access to the actual filesystem hierarchy so can't sync them or use them like normal files. These kinds of apps and services can benefit if they could integrate with the File Explorer easily and efficiently and will also improve the overall user experience.

Rationale

Scope

Capability Priority
This proposal will allow developers to display content inside their app right within File Explorer in a secure way Must
This proposal will allow end users to browse all their content within File Explorer Should

Important Notes

The feature should be heavily brokered and should be done through package identity rather than what we have today with cloud service sync clients. Also the app's process shouldn't run all the time in the background as long as the user access the content and if there's sometime to sync, it should use the UWP background task model. Most of the content don't need to be downloaded or synced locally, just a shortcut to open them in their app is enough.

ptorr-msft commented 3 years ago

Thanks for the idea.

Is this intended to be a replacement for Shell namespace extensions or is it something else?

asklar commented 3 years ago

yeah agree this sounds like this is just shell namespace extensions, but maybe they want a "winrt-ish" surface instead of COM.