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

Embed Size (px)

Citation preview

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
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

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

• 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

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

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

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
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
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

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

“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

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

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

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

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

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

© 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.