Metro style apps can interact with one another and with the system

Jun 12, 2012 12:23 GMT  ·  By

Windows 8 has been designed so as to enable developers to build their applications as part of pairs, enabling interaction with other applications running on the platform.

These interactions are declared through contracts, which any Metro style application built for Windows 8 can support.

Through these contracts, applications can be set to work with other running applications, or with the system itself, so as to deliver a faster, better experience to all users.

However, developers are those who need to implement these contracts in their applications, and they are those who need to set activations for them. Windows 8 can launch Metro Style applications through a Windows activation platform, which is also in charge with notifying apps on the reason they were launched.

“The reasons vary from a user starting the app using its tile on the start screen to the app being launched for a specific task such as showing a user search results for a query,” Derek Gebhard, a program manager on Microsoft’s User Experience team, explains in a blog post.

“Windows provides your app with the reason it was launched and if applicable any additional info needed to complete its task.”

Before Windows 8, this info was passed to apps through command-line parameters. The new model, however, enables the passing of live objects as well, such as StorageFile, ShareOperation and more, so that the app is provided with context. Thus, contracts are more powerful than before.

Users can initiate app interactions in two ways in Windows 8, one involving main view activation, when the app’s fully immersive view is in the foreground, and another called hosted view activation, via an action that is hosted inline.

In the aforementioned blog post, Derek Gebhard explains what the activation of application contracts involves, and what developers need to do to include support for their app to be launched for a contract.

He also discusses scenarios based on said activation possibilities, so that developers would have a better understanding of how they can take advantage of the feature.