Download - In the beginning… What about the other way…?
![Page 1: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/1.jpg)
![Page 2: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/2.jpg)
App-to-App CommunicationSean McKennaProgram Manager, Windows [email protected]
![Page 3: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/3.jpg)
What is App-to-App Communication?
![Page 4: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/4.jpg)
In the beginning…
![Page 5: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/5.jpg)
Your App
Extending apps with the phone
![Page 6: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/6.jpg)
What about the other way…?
![Page 7: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/7.jpg)
Extending the phone with apps
![Page 8: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/8.jpg)
And finally…
![Page 9: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/9.jpg)
Custom URI AssociationsLaunch other apps to complete tasksPlay an album on Spotify
Play a video in YouTube
Post an update to Facebook
Launch device settings
Link your app into core experiencesBrowser
Messaging
EmailLauncher.LaunchUriAsync(new Uri("myapp:foo=1&bar=2"));
![Page 10: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/10.jpg)
Useful Built-in URI AssociationsTask URI Scheme
Lock screen settings ms-settings-lock:
Email and accounts ms-settings-emailandaccounts:
Location settings ms-settings-location:
Search for apps by publisher zune:search?publisher=<publisherID>
![Page 11: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/11.jpg)
File Type AssociationsLaunch files in the right appMicrosoft Office
Adobe Reader
Hike & Bike
Handle custom files in your appBrowser
Office Hub
var pdfFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appdata:///Local/mydoc.pdf"));
Launcher.LaunchFileAsync(pdfFile);
![Page 12: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/12.jpg)
Useful built-in file types
Microsoft Word documents
Microsoft PowerPoint presentations
Microsoft Excel spreadsheets
![Page 13: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/13.jpg)
Demo: Opening an Office Document
![Page 14: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/14.jpg)
A Look Under the Hood
Source App
Execution Manager
Package Manage
r
Launch by file:Foo.bar
TokenID = 1234
Get handlers for ‘.bar’
Data Sharing Service
Create file brokering token
Target AppLaunch target
with token
Redeem token for file
![Page 15: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/15.jpg)
User Experience
![Page 16: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/16.jpg)
Guiding PrinciplesUser is always in controlApps cannot take over an extension
The list of installed apps is private user dataApps cannot query installed apps, URI associations, or file extensions
Standard tasks should be simple and predictableStandard types are handled by built-in experiences
![Page 17: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/17.jpg)
One Handler
Launch URI: skype:call?5551234
![Page 18: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/18.jpg)
No handlers
![Page 19: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/19.jpg)
2+ Handlers
![Page 20: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/20.jpg)
What’s happening in the wild?
![Page 21: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/21.jpg)
Demo: Building a mashup with URI Associations
![Page 22: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/22.jpg)
Using URI Associations to Extend Your App
Spotifyspotify:album:<albumID>spotify:track:<trackID>
YouTube
vnd.youtube:<videoID>
![Page 23: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/23.jpg)
Using URI Associations to Extend Your App
Facebookfb:profile[?id=<profileId>]fb:events[?id=<eventId>]fb:groups[?id=<groupId>]fb:pages[?id=<pageId>]fb:post?text=<textToPost>
Foursquarefoursquare://venues/<venueID>foursquare://checkins/<checkinID>foursquare://tips/<tipID>foursquare://users/<userID>
![Page 24: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/24.jpg)
Using URI Associations to Extend Your App
Here Drive (+others)ms-drive-to:?destination.latitude=<latitude> &destination.longitude=<longitude> &destination.name=<name>
Here Maps (+others)ms-walk-to:?destination.latitude=<latitude> &destination.longitude=<longitude> &destination.name=<name>
![Page 25: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/25.jpg)
App Launching via ProximityTarget apps• Your app can be launched based on a URI sent from another
device• Handler code is exactly the same• Proximity capability is not required
Source apps• You can launch apps on other devices using the Proximity
APIs
![Page 26: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/26.jpg)
Demo: Launching via proximity
![Page 27: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/27.jpg)
Coming Soon:Facebook Single Sign-On
![Page 28: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/28.jpg)
Facebook Single Sign-OnRegister your app with Facebook Dev PortalInvoke auth with FB AppID and requested permissionsHandle reactivation when user returns from Facebook app
![Page 29: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/29.jpg)
Facebook Single Sign-On
Your App Facebook App
![Page 30: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/30.jpg)
Recap
Use URI schemes and file associations to extend your appSupport your own schemes and file types for exposureHelp us evangelize and catalog these extensions
![Page 33: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/33.jpg)
Evaluate this session
Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!
![Page 34: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/34.jpg)
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
![Page 35: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/35.jpg)
Coming Soon: Facebook Single Sign-On
![Page 36: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/36.jpg)
Facebook Single Sign-On
Register your app with Facebook Dev PortalInvoke auth with FB AppID and requested permissionsHandle reactivation when user returns from Facebook app
![Page 37: In the beginning… What about the other way…?](https://reader030.vdocuments.site/reader030/viewer/2022032414/56649eef5503460f94bfea37/html5/thumbnails/37.jpg)
Facebook Single Sign-On
Your App Facebook App