The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Charms and contracts

Applies to Windows only

Halo 4 app and Share pane


Charms and contracts are the glue that binds Windows Store apps together and to the system UI. Together they provide a consistent way of executing the most common tasks such as searching and sharing. Charms and contracts let different apps interact with each other in a predictable and familiar manner.

Charms and contracts epitomize the Microsoft design principle of win as one because they integrate disparate apps while providing a unified place to search, share, and adjust settings.

Charms in Windows

Photos app and charms


There are five charms, which users access by swiping from the right edge or pointing to the top or bottom right corners of the screen. In addition to providing an expected way of interacting with your app, the charms also let your app share data. You can pass images between different apps, email information directly from an app to an outside source, or even provide terms that show up in search queries invoked from within other apps.

The five charms are as follows.

Search charm icon


This charm enables the user to search in the currently open app as well as across other apps, files, or the web.

Share charm icon


This charm lets the user share content outside of the current application.

Start charm icon


This charm takes the user to the Start screen.

Devices charm icon


This charm enables apps to print content or send to a Play To device.

Settings charm icon


This charm gives the user a reliable and consistent way of accessing app settings across the system.


Contracts in Windows

In Windows 8.1, charms work together with contracts to support a variety of end-to-end scenarios. A contract is like an agreement between one or more apps. Contracts define the requirements that apps must meet to participate in a set of unique Windows interactions. For example, Windows lets users share content from one app to another by using a contract. The app that shares content out supports a source contract by meeting specific requirements, while the app that receives the shared content supports a target contract by meeting a different set of requirements. Neither app needs to know anything about the other. Every app that participates in the sharing contract can be confident that the sharing workflow is completely supported, end-to-end, by Windows.

Windows offers many contracts in addition to those invoked by the charms. For example, you can let your users pick files from their local PC, connected storage devices, or other apps. Your app can provide location-awareness. And you can ensure that your app works well with multimedia. Investigate the complete list of App contracts and extensions and this guide.

Innovation with charms and contracts

There are many scenarios for sharing content between apps. Users can find and share media content or even create and send a playlist to a friend simply by invoking the share charm. Users can also send content from a PC to networked devices like TVs and audio/video receivers to enable group viewing. You can add QuickLinks for your app, which are time-saving links that the Share pane displays. They are customized for the user and let the user instantly share content with frequently used contacts. For more information, see Quickstart: Receiving shared content.


Photos app with Share pane open


Bing Travel

In this example, Bing Travel has optimized efficiency on behalf of its users by using the Share charm to quickly and easily transfer a complete travel itinerary to a contact via email.

Bing Travel app with Share pane open and then Mail app to share content


Wired Epicenter

Sharing content from one app to another, as demonstrated by the Wired Epicenter app, can maximize productivity while preserving context. In this example, the user shares an article to Facebook without needing to navigate away from the current content.

Wired Epicenter app with Share pane open and then People app to share content to Facebook


Xbox Music

Data sharing goes beyond the simple transfer of content from one app to another. The following example demonstrates how you can collect data from a music website, in this case Decibel’s Festival Lineup, and aggregate it into a playlist. The user doesn’t have to search for individual songs and then copy and paste the titles. Instead, the user simply taps the Share charm, selects Xbox Music - Create a playlist, and Windows does the rest.

Decibel Festival lineup web site with Share pane open and then share to Xbox Music, create a playlist

Related topics

App contracts and extensions
Guidelines and checklist for search
Guidelines for sharing content
Guidelines for printing
Guidelines for app settings
Index of UX guidelines



© 2014 Microsoft