Guidelines for file types and URIs

Applies to Windows and Windows Phone

Description

In Windows 8, the relationship between apps and the file types they support differs from previous versions of Windows. By understanding these differences, you can provide a more consistent and elegant experience for your users.

Dos and don'ts

  • Position the flyout near its point of invocation.

Additional usage guidance

Guidelines for Windows Store apps

When opening a file or URI, the user may need to use the Open With list to select which app to use as the default. Windows 8 implements this list as a flyout. Although you can't customize the contents of the Open With flyout, you can control its position in your app. Be sure to follow the guidelines and position the flyout near its point of invocation whenever possible.

Here's an example of an ideal way to use the flyout. Notice that it's located right next to the button that called it.

Example of the Open With list

You can present files and URIs however you see fit—typically as a thumbnail or a hyperlink. The primary action for these items should be Open. This option should invoke the default handler for the file or URI, which might result in showing the Open With flyout. (We recommend that you assume that the flyout appears in some cases and position it accordingly.)

If you choose to implement any secondary actions for files or URIs in your app, such as Save As or Download, consider letting the user choose an alternate app from an Open With flyout.

Remember, Windows Store apps can't set, change, or query default apps for file types and URIs, so you shouldn't try to add that functionality to your app.

The Association launching sample provides examples of how to implement the preceding scenarios in the recommended way.

Guidelines for desktop applications

In Windows 8, apps no longer have the ability to set, change, or query the default handlers for file types and URI scheme names. When developing a Windows 8 desktop application version of your app, we recommend that you remove any user interface elements related to these functions. Instead, we recommend that you link to Set Default Programs in Control Panel. The UI for Set Default Programs is shown here.

Example of Set Default Programs in Control Panel

From here, users can select Set this program as default, which lets your app open all file types and URIs it can open by default. They can also select Choose defaults for this program, to select specific file types and URIs in the Set Program Associations UI, as shown here.

Example of Set Program Associations in Control Panel

The following is an example of how Microsoft Internet Explorer lets users access Set Default Programs in Control Panel.

Example of accessing Set Default Programs in Control Panel from an app

Related topics

For designers
UX guidelines for Windows Store apps
For developers (HTML)
How to handle file activation (JavaScript)
How to handle protocol activation (JavaScript)
How to launch the default app for a file (JavaScript)
How to launch the default app for a URI (JavaScript)
Windows.System.Launcher.LaunchFileAsync
Windows.System.Launcher.LaunchUriAsync
Windows.UI.WebUI.WebUIFileActivatedEventArgs
Windows.UI.WebUI.WebUIProtocolActivatedEventArgs
For developers (XAML)
How to handle file activation (C#/VB/C++)
How to handle protocol activation (C#/VB/C++)
How to launch the default app for a file (C#/VB/C++)
How to launch the default app for a URI (C#/VB/C++)
IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI
Windows.ApplicationModel.Activation.FileActivatedEventArgs
Windows.ApplicationModel.Activation.ProtocolActivatedEventArgs
Windows.System.Launcher.LaunchFileAsync
Windows.System.Launcher.LaunchUriAsync

 

 

Show:
© 2014 Microsoft