390 likes | 517 Views
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. .
E N D
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.
The people we communicate and share with are important to how we use modern devices.
“There is no easy way for me to lookup my contacts and interact with them from any of the other Windows Store apps!”
Contact card workflow Contact card Source app My demo app Windows runtime Target app Action type + object Add Contact • App with contact info that starts the flow to show contact card. • App that fulfils the contract to handle one or more actions. View Profile Query Match found! • Aggregates and manages contacts. • Provides contacts data to Windows. No match Windows Contacts Store
Contextual. Consistent. Lightweight. Great user experience ♥ Your activity was loved by Ben Miller View Profile
Puts user in control Hey Jake, give me a call Later. (206) 555-0134 “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’sInternet & American Life Project.
Meaningful data and actions • Email • Call • Message • Video call • Map address • Post View Profile View Profile
Meaningful data and actions • Email • Call • Message • Video call • Map address • Post View Profile View Profile View Profile Add Contact View Profile
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. What apps should use the contact card? Email, phone Imports people data Has rich people data
Contact card: code demo • Using APIs: • ContactManager.showContactCard
Query and show Contact Card • ContactManager.showContactCard • Create input contact object. • Get the rectangular area of user selection. • Optionally, specify a preferred placement of the contact card.
Query and show Contact Card • ContactManager.showDelayLoadedContactCard • Use only if your app needs to retrieve contact data with a noticeable delay.
Pluggable model for apps Action Target Apps Holly Holt View Profile
Use the Windows Contact Card to easily bring the power of people into your apps.
Get events into my Calendar Weekend in Vancouver
View Calendar workflow Calendar provider app Windows runtime Your app • 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.
Add to Calendar workflow Calendar provider app Header: Windows UI showing Calendar provider app’s name and logo. Demo Calendar Calendar▼ zhakim@outlook.com Frank's Birthday Party 7/6/2013 6:00PM – 11:00PM Ben Miller’s home 118 Christopher St, New York, NY 10011 Organizer – Ben Miller This is a surprise birthday party for Frank! Hoping you all you can join... Your app Body: Hosted view activation of Calendar provider app’s UI in fly-out. Start the flow to add event to Calendar. Appointment is saved to Calendar provider app. Launch action verb + Appt. object Windows runtime
Calendar: code demo • Using APIs: • AppointmentManager.showTimeFrameAsync • AppointmentManager.showAddAppointmentAsync
View Calendar • AppointmentManager.showTimeFrameAsync • Input parameters. • timeToShow • duration • No result returned.
Add to Calendar • AppointmentManager.showAddAppointmentAsync • Create input appointment object. • Get the selection rect. of the invocation point. • Optionally, specify a UI placement. • Returns unique id for the added appointment.
Update Calendar • AppointmentManager.showReplaceAppointmentAsync • Additionally, provide the appointment Id for the appointment to be replaced. • Returns unique id for the replaced appointment. • For recurring appointments, also specify the instance start date of the appointment instance to be replaced.
Remove from Calendar • AppointmentManager.showRemoveAppointmentAsync • Provide the appointment Id for the appointment to be removed. • Returns a boolean indicating whether the appointment was removed or not.
Use appointment APIs to easily integrate events with your user’s Calendar.
Call to action Hey Jake, give me a call Later. (206) 555-0134
Call to action Calendar Provider App Your app Calendar▼ zhakim@outlook.com Frank's Birthday Party 7/6/2013 6:00PM – 11:00PM Ben Miller’s home 118 Christopher St, New York, NY 10011 Organizer – Ben Miller This is a surprise birthday party for Frank! Hoping you all you can join...
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.
Required Slide *delete this box when your slide is finalized Your MS Tag will be inserted here during the final scrub. Evaluate this session • Scan this QR codeto evaluate this session and be automatically entered in a drawing to win a prize!