building apps that integrate with people and events

39

Upload: river

Post on 24-Feb-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Building apps that integrate with people and events. Zainab Hakim Program Manager 3-007. Agenda. Connecting with people. Integrating with calendar. App + code demos. “Contracts”. Windows Store apps use contracts to declare interactions they support with other apps and with Windows. . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Building apps that integrate  with people and events
Page 2: Building apps that integrate  with people and events

Building apps that integrate with people and eventsZainab HakimProgram Manager3-007

Page 3: Building apps that integrate  with people and events

• Connecting with people.• Integrating with calendar.• App + code demos.

Agenda

Page 4: Building apps that integrate  with people and events

Windows Store apps use contracts to declare interactions they support with other apps and with Windows.

“Contracts”

Page 5: Building apps that integrate  with people and events

Connecting with people.

Page 6: Building apps that integrate  with people and events

The people we communicate

and share with are important

to how we use modern devices.

Page 7: Building apps that integrate  with people and events
Page 8: Building apps that integrate  with people and events
Page 9: Building apps that integrate  with people and events

7/19/2013

Page 10: Building apps that integrate  with people and events

“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: Building apps that integrate  with people and events

Contact card: App demo

Page 12: Building apps that integrate  with people and events

Contact card workflowContact 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: Building apps that integrate  with people and events

Great user experience

Contextual.Consistent.Lightweight.

♥ Your activity was loved by Ben Miller

View Profile

Page 14: Building apps that integrate  with people and events

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: Building apps that integrate  with people and events

Meaningful data and actions• Email• Call• Message• Video call• Map address• Post View Profile View Profile

Page 16: Building apps that integrate  with people and events
Page 17: Building apps that integrate  with people and events

Meaningful data and actions• Email• Call• Message• Video call• Map address• Post

Add Contact

View Profile

View Profile

View Profile

View Profile

Page 18: Building apps that integrate  with people and events

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: Building apps that integrate  with people and events

Using APIs:ContactManager.showContactCard

Contact card: code demo

Page 20: Building apps that integrate  with people and events

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: Building apps that integrate  with people and events

Use only if your app needs to retrieve contact data with a noticeable delay.

ContactManager.showDelayLoadedContactCard

Query and show Contact Card

Page 22: Building apps that integrate  with people and events

Pluggable model for appsAction Target Apps

Holly Holt

View Profile

Page 23: Building apps that integrate  with people and events

Use the Windows Contact Card to easily bring the power of people into your apps.

Page 24: Building apps that integrate  with people and events

Integrating with Calendar.

Page 25: Building apps that integrate  with people and events

Get events into my Calendar

Weekend in Vancouver

Page 26: Building apps that integrate  with people and events

Calendar: App demo

Page 27: Building apps that integrate  with people and events

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 app Windows runtime

Calendar provider app

Page 28: Building apps that integrate  with people and events

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 Party7/6/2013 6:00PM – 11:00PMBen 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: Building apps that integrate  with people and events

Using APIs:AppointmentManager.showTimeFrameAsyncAppointmentManager.showAddAppointmentAsync

Calendar: code demo

Page 30: Building apps that integrate  with people and events

1. Input parameters.- timeToShow- duration

2. No result returned.

AppointmentManager.showTimeFrameAsync

View Calendar

Page 31: Building apps that integrate  with people and events

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: Building apps that integrate  with people and events

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: Building apps that integrate  with people and events

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: Building apps that integrate  with people and events

Use appointment APIs to easily integrate events with your user’s Calendar.

Page 35: Building apps that integrate  with people and events

Call to action

Hey Jake, give me a call Later.(206) 555-0134

Page 36: Building apps that integrate  with people and events

Call to actionYour app

Calendar Provider App

Calendar ▼ [email protected]

Frank's Birthday Party7/6/2013 6:00PM – 11:00PMBen 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: Building apps that integrate  with people and events

ResourcesMSDN 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: Building apps that integrate  with people and events

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

Page 39: Building apps that integrate  with people and events

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