WindowsAppSDK
WindowsAppSDK copied to clipboard
Proposal: Live tiles for unpackaged apps
Proposal: Live tiles for unpackaged apps
Live tiles are the best feature on Windows however a lot of apps aren't using it because most old desktop apps can't use them without getting package which some companies might not want to do. Instead how about the application pointing to the shortcut in Start and updating the tile?
Summary
Unlike packaged apps where the tile is tied with the application, desktop tiles are just a shortcut. Because of this Windows can't enable live tiles for them however you could have an API that takes the shortcut location and assigns a live tile to that shortcut if it's pinned.
Rationale
- Will make Windows 10 better for everyone
- More apps will support live tiles
Scope
| Capability | Priority |
|---|---|
| This proposal will allow developers to add live tiles for unpackaged apps | Must |
| This proposal will allow end users to view information from their favorite desktop app without launching it directly from the Start menu or Start screen | Should |
Important Notes
Here's an example on how the API can look
namespace Microsoft.UI.Shell.StartScreen
{
runtimeclass LiveTileUpdater
{
For packaged apps
static LiveTileUpdater CreateTileUpdaterForApplication();
For unpackaged apps
static LiveTileUpdater CreateTileUpdaterForApplicationShortcut(String shortcutPath):
}
}
This should completely be possible.
Currently win32 apps can set custom tile (background, logos, foreground, text?) using a VisualElementsManifest in the form of MyApp.VisualElementsManifest.xml
Which will be placed together with the MyApp.exe. When the MyApp.exe is pinned to start, the start menu tracks the down the shortcut and finds the *.VisualElementsManifest.xml
So this is a proof that the start menu knows the pinned *.exe's location and *.VisualElementsManifest.xml file.
So the proposed API could send the Windows shell the location of the *.exe and fetch the TileUpdateManager for it (since the start menu is already aware of the pinned apps location it could update the respective tile for it)
@ShankarBUS Shortcut not exe. The executable is never pinned.
We can pin an *.exe files as well. They will be created as a shortcut in the start menu folder. My point was the start menu tracks down the *.exe's location and finds the manifest for it already.
It should be possible. I know you can pin anything (file/folder) but only the executable should have live tiles, not the files.
IMO this should use App User Model IDs, not a shortcut. This is how stuff like jump lists are implemented already.
In fact... there is an existing overload of CreateTileUpdaterForApplication which takes a string for a PRAID. It could be updated to also allow app user model IDs in case the app isn't packaged.
@Jaiganeshkumaran and @sylveon, check this out: https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps
This should allow unpackaged apps to use live tiles. I'm sure the team would love feedback.
@DrusTheAxe for FYI
@stevenbrix But you pin the executable shortcut and not the shortcut for the sparse package. I don't think it will work because in the start screen you pin the shortcut to the executable and not the package?
@Jaiganeshkumaran have you tried? I just learned of this feature like 10 seconds ago, and it's late, so I haven't given it a try yet ☺️
The docs mention live tiles as being one of the features identity gives you, and doesn't mention live tiles as one of the things that doesn't work, so I was hopeful it would.
@stevenbrix I didn't try yet so I will give it a try
@andrewleader @btueffers this issue should be closed because Live tiles are in maintenance mode/not being developed actively/not present in latest and greatest windows OS release (i.e dead).
Live Tiles are no longer included in Windows.