“contracts” 7/19/2013 contact card source app app with contact info that starts the flow to show...
TRANSCRIPT
![Page 1: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/1.jpg)
![Page 2: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/2.jpg)
Building apps that integrate with people and eventsZainab HakimProgram Manager3-007
![Page 3: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/3.jpg)
• Connecting with people.• Integrating with calendar.• App + code demos.
Agenda
![Page 4: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/4.jpg)
Windows Store apps use contracts to declare interactions they support with other apps and with Windows.
“Contracts”
![Page 5: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/5.jpg)
Connecting with people.
![Page 6: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/6.jpg)
The people we communicate
and share with are important
to how we use modern devices.
![Page 7: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/7.jpg)
![Page 8: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/8.jpg)
![Page 9: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/9.jpg)
7/19/2013
![Page 10: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/10.jpg)
“There is no easy way for me to lookup my contacts and interact with them from any of the other Windows Store apps!”
![Page 11: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/11.jpg)
Contact card: App demo
![Page 12: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/12.jpg)
Contact card workflow
Contact card
Source app
• App with contact info that starts the flow to show contact card.
My demo app Target app
• App that fulfils the contract to handle one or more actions.
Windows Contacts Store
• Aggregates and manages contacts.
• Provides contacts data to Windows.
Windows runtime
Match found!
Query
View Profile
No match
Add Contact Action type + object
![Page 13: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/13.jpg)
Great user experience
Contextual.Consistent.Lightweight.
♥ Your activity was loved by Ben Miller
View Profile
![Page 14: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/14.jpg)
Puts user in control
“57% of all app users have either uninstalled an app over concerns about having to share their personal information, or declined to install an app for similar reasons”—Survey conducted by Pew Research Center’s Internet & American Life Project.
Hey Jake, give me a call Later.(206) 555-0134
![Page 15: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/15.jpg)
Meaningful data and actions
• Email• Call• Message• Video call• Map address• Post View Profile View Profile
![Page 16: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/16.jpg)
![Page 17: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/17.jpg)
Meaningful data and actions
• Email• Call• Message• Video call• Map address• Post
Add Contact
View Profile
View Profile
View Profile
View Profile
![Page 18: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/18.jpg)
What apps should use the contact card?
Social groups (class, club, sports, etc.).Maps and location.Event management.Mail and messaging.Birthday assistants.Fitness tracking and sharing.Career and job search.Dating and matrimony.
Email, phone
Has rich people data
Imports people data
![Page 19: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/19.jpg)
Using APIs:ContactManager.showContactCard
Contact card: code demo
![Page 20: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/20.jpg)
1. Create input contact object.2. Get the rectangular area of user
selection.3. Optionally, specify a preferred
placement of the contact card.
ContactManager.showContactCard
Query and show Contact Card
![Page 21: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/21.jpg)
Use only if your app needs to retrieve contact data with a noticeable delay.
ContactManager.showDelayLoadedContactCard
Query and show Contact Card
![Page 22: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/22.jpg)
Pluggable model for apps
Action Target Apps
Holly Holt
View Profile
![Page 23: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/23.jpg)
Use the Windows Contact Card to easily bring the power of people into your apps.
![Page 24: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/24.jpg)
Integrating with Calendar.
![Page 25: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/25.jpg)
Get events into my Calendar
Weekend in Vancouver
![Page 26: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/26.jpg)
Calendar: App demo
![Page 27: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/27.jpg)
View Calendar workflow
• App that starts the flow to view availability in user’s Calendar.
• Main view activation. App launched along-side source app in the requested timeframe.
Your appWindows runtime
Calendar provider app
![Page 28: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/28.jpg)
Your app
Add to Calendar workflow
Start the flow to add event to Calendar.
Calendar provider app
Appointment is saved to Calendar provider app.
Body: Hosted view activation of Calendar provider app’s UI in fly-out.
Header: Windows UI showing Calendar provider app’s name and logo.
Windows runtime
Calendar ▼ [email protected]
Frank's Birthday Party
7/6/2013 6:00PM – 11:00PM
Ben Miller’s home118 Christopher St,New York, NY 10011
Organizer – Ben MillerThis is a surprise birthday party for Frank! Hoping you all you can join...
Demo Calendar
Launch action verb+
Appt. object
![Page 29: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/29.jpg)
Using APIs:AppointmentManager.showTimeFrameAsyncAppointmentManager.showAddAppointmentAsync
Calendar: code demo
![Page 30: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/30.jpg)
1. Input parameters.- timeToShow- duration
2. No result returned.
AppointmentManager.showTimeFrameAsync
View Calendar
![Page 31: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/31.jpg)
1. Create input appointment object.2. Get the selection rect. of the
invocation point.3. Optionally, specify a UI placement.4. Returns unique id for the added
appointment.
AppointmentManager.showAddAppointmentAsync
Add to Calendar
![Page 32: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/32.jpg)
4. Additionally, provide the appointment Id for the appointment to be replaced.
5. Returns unique id for the replaced appointment.
For recurring appointments, also specify the instance start date of the appointment instance to be replaced.
AppointmentManager.showReplaceAppointmentAsync
Update Calendar
![Page 33: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/33.jpg)
1. Provide the appointment Id for the appointment to be removed.
2. Returns a boolean indicating whether the appointment was removed or not.
AppointmentManager.showRemoveAppointmentAsync
Remove from Calendar
![Page 34: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/34.jpg)
Use appointment APIs to easily integrate events with your user’s Calendar.
![Page 35: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/35.jpg)
Call to action
Hey Jake, give me a call Later.(206) 555-0134
![Page 36: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/36.jpg)
Call to actionYour app
Calendar Provider App
Calendar ▼ [email protected]
Frank's Birthday Party
7/6/2013 6:00PM – 11:00PM
Ben Miller’s home118 Christopher St,New York, NY 10011
Organizer – Ben MillerThis is a surprise birthday party for Frank! Hoping you all you can join...
![Page 37: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/37.jpg)
Resources
MSDN documentation• Windows.ApplicationModel.Contacts.ContactManager • Windows.ApplicationModel.Appointments • Windows.ApplicationModel.Appointments.AppointmentsProvider • Windows.ApplicationModel.Activation
SDK samples• Contact manager API sample.• Contact picker app sample.• Handling contact actions.• Appointments API sample.
![Page 38: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/38.jpg)
Evaluate this session
Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!
![Page 39: “Contracts” 7/19/2013 Contact card Source app App with contact info that starts the flow to show contact card. Target app App that fulfils](https://reader036.vdocuments.mx/reader036/viewer/2022062421/56649da65503460f94a91bd1/html5/thumbnails/39.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.