As most folks reading this blog post will know the forthcoming version of Microsoft Windows (“Windows 8”) is a massive overhaul of the well-known Windows interface and there are many accompanying changes to the underlying machinations of the O/S too. The most interesting change to me is the introduction of contracts which I would describe simply as “a mechanism for an app to exchange data, any data, without knowing anything about the app it is exchanging it with”. If you want to know more then here are some resources:
- Microsoft’s new Windows 8 contracts: The debut of the developer clipboardby Mary-Jo Foley
- Contracts, where Windows 8 gets it rightby Lynn Pye
- Share: your app powers the Windows 8 share experience a session recording from the 2011 Build conference by Billie Sue Chafins and Steve Seixeiro
I was particularly pleased to read yesterday that Mozilla are planning to build a version of their Firefox web browser for Windows 8 and they explicitly cited contracts as a feature that they wanted to take advantage of:
Firefox on Metro, like all other Metro apps will be full screen, focused on touch interactions, and connected to the rest of the Metro environment through Windows 8 contracts.
https://wiki.mozilla.org/Windows8
If you dig deep into that Build conference session recording that I linked-to above you will learn that Microsoft are advocating http://schema.org (blog) as a data schema to define the data that your app wants to make available to other apps. Why is this significant? Simply because if two apps use a common data model then those two apps can talk without knowing anything about each other. As a simple example, imagine if Flickchart (a service that allows me to build a list of movies that I want to see) made a Windows 8 app; that app could use the Schema.org definition of a Movie to pass details of such a movie to (say) a Lovefilm app which I could then use to start watching the film immediately. I don’t have to copy and paste a film name or do any typing – the two apps simply exchange structured data on my behalf. Maybe its the data geek in me talking but I think that is fantastically compelling.
The area that I believe stands to benefit most from contracts is web searching. Imagine a web search app that was able to associate a Schema.org data type to every single search engine result – I as the user could instantly share a search result with any app that can consume that data type. I hate using cliches but the possibilities that this presents are near-endless; here is a quick brainstormed list of scenarios that this technology could enable:
- Search for a restaurantand instantly pass the information to an OpenTable app that I can use to book a table
- Search for a songand instantly pass it off to a Spotify app which downloads and starts playing it for me
- Search for a placeand instantly pass it off to a direction mapping app
- Search for a TVSeriesand instantly pass it off to an app offering a TV subscription service
- Search for an eventand instantly pass it off to my calendar
- Search for a Photograph and instantly pass it off to a Photobucket app
Those are some simple ideas but I hope they serve to demonstrate the potential of Windows 8 contracts in concert with a search engine. Exciting stuff I hope you will agree – I can’t wait to take contracts for a spin, hopefully that will be just a couple of weeks away.
Oh, did I mention that contracts are coming to Windows Phone too?
App-to-App communication. Because Windows Phone 8 apps, like Windows 8 apps, are sandboxed from each other, this new system will provide a Windows 8 contracts-like app-to-app communications capabilities
http://www.winsupersite.com/article/windows8/windows-phone-8-preview-142154