Guidelines for secondary tiles

A secondary tile provides a consistent, efficient way for users to directly access specific areas within a Windows Store app from the Start screen. Although a user chooses whether or not to "pin" a secondary tile to the Start screen, the pinnable areas in an app are determined by the developer. For a more detailed summary, see Secondary tiles overview. Consider these guidelines when you enable secondary tiles and design the associated UI in your Windows Store app.

Note  Only users can pin a secondary tile to the Start screen; apps can't programmatically pin secondary tiles. Users also control tile removal, and can remove a secondary tile from the Start screen or from within the parent app.

Recommendations

Consider the following recommendations when enabling secondary tiles in your app:

  • When the content in focus is pinnable, the app bar should contain a "Pin to Start" button to create a secondary tile for the user.

  • Create a flyout that appears when a user clicks the "Pin to Start" button. This flyout should confirm that the user wants to add a secondary tile to the Start screen. For example, here is a confirmation flyout from the ESPN app.

    A flyout confirming that a user wants to pin a secondary tile to the Start screen.

  • If the content in focus is already pinned, replace the "Pin to Start" button on the app bar with an "Unpin from Start" button. The "Unpin from Start" button should remove the existing secondary tile (after receiving user confirmation).

  • When the content in focus is not pinnable, don't show a "Pin to Start" button (or show a disabled "Pin to Start" button).

  • Use the system-provided glyphs for your "Pin to Start" and "Unpin from Start" buttons (see the pin and unpin members in Windows.UI.Xaml.Controls.Symbol or WinJS.UI.AppBarIcon).

  • Use the standard button text: "Pin to Start" and "Unpin from Start". You'll have to override the default text when using the system-provided pin and unpin glyphs.

  • Don't use a secondary tile as a virtual command button to interact with the parent app, such as a "skip to next track" tile.

Additional usage guidance

For developers

  • When an app launches, it should always enumerate its secondary tiles, in case there were any additions or deletions of which it was unaware. When a secondary tile is deleted through the Start screen app bar, Windows simply removes the tile. The app itself is responsible for releasing any resources that were used by the secondary tile. When secondary tiles are copied through the cloud, current tile or badge notifications on the secondary tile, scheduled notifications, push notification channels, and Uniform Resource Identifiers (URIs) used with periodic notifications are not copied with the secondary tile and must be set up again.
  • Use the RequestCreateForSelectionAsync class when creating a secondary tile. This allows you to place your confirmation flyout predictably, leading to a better user experience.
  • Don't change the name of your tile's default image asset once your app is published. Before the secondary tile receives its first notification or when it has no notification to display, it displays its default image. If Windows cannot find the expected image, it will display a blank tile.
  • An app should use meaningful, re-creatable, unique IDs for secondary tiles. This is important for the following reasons:
    • Secondary tiles can be reacquired by users when the app is installed on a second computer. Using predictable secondary tile IDs that are meaningful to an app helps the app understand what to do with these tiles when they are seen in a fresh installation on a new computer.
    • At runtime, the app can query whether a specific tile exists.
    • The secondary tile platform can be asked to return the set of all secondary tiles belonging to a specific app. Using meaningful, unique IDs for these tiles can help the app examine the set of secondary tiles and perform appropriate actions. For instance, for a social media app, IDs could identify individual contacts for whom tiles were created.
  • Secondary tiles, like all tiles on the Start screen, are dynamic outlets that can be frequently updated with new content. Secondary tiles can surface notifications and updates by using the same mechanisms as any other tile. To update the tile when the app isn't running, the secondary tile must request and open a channel URI with the Windows Push Notification Services (WNS). For more information, see How to request, create, and save a notification channel.

For designers

Secondary tiles overview

Guidelines for tiles and badges

Guidelines for Segoe UI Symbol icons

For developers (XAML)

Secondary tiles overview

SecondaryTile class

Windows.UI.Xaml.Controls.Symbol

Quickstart: Pinning a secondary tile

For developers (HTML)

Secondary tiles overview

SecondaryTile class

WinJS.UI.AppBarIcon

Quickstart: Creating a secondary tile

Sample

Secondary tiles sample