SlideShare une entreprise Scribd logo
1  sur  26
WINDOWS 10
DEVELOPMENT
Hey Cortana!
WHO ARE WE?
Edward Moemeka – Chief Architect, e-Builder
 Follow me on Twitter @moemeka
 Email me at edward.moemeka@thethinkmine.com
 Connect with me on LinkedIn https://www.linkedin.com/in/edwardmoemeka
Obinna Igbokwe – Solution Architect, e-builder
 Email obinna.igbokwe@platformbasedsolutions.com
GET THE BOOK TO LEARN MORE
#1 Windows 10 development title on
Amazon
Get it to learn more
http://www.amazon.com/Real-
World-Windows-10-
Development/dp/1484214501/ref=
sr_1_1?ie=UTF8&qid=1455962970&
sr=8-
1&keywords=windows+10+develop
ment
WHY CORTANA?
The obvious reasons
 World’s most personal digital assistant helps you get things done throughout the day
 Be the one helping!
 A whole new natural, way of interacting with your PC
 Create the experience
 Available to millions of users across Windows 10 PCs, tablets, and phones
 More money, more problems
 Integrated search across device, the Web and personal and professional clouds
 Omni-channel integration can lead directional growth
Typical usage scenarios
 “App first” experiences
 I’ve got a pre-existing app and I want to integrate voice
 I’ve got an app on the system and I want to surface it's content
 “Voice first” experiences
 I want to create an audio interaction experience
MAKING YOUR PROGRAM SPEAK
THE EASY WAY
Text to speech, commonly referred to as TTS, uses a speech synthesis engine (voice) to convert
a text string into spoken words. The simplest form of this takes as input the text you actually
want the engine to utter.
DEMO Text-to-speech (basics)
MAKING YOUR PROGRAM SPEAK
THE HARD WAY
For added flexibility, Speech
Synthesis Markup Language
(SSML) can be used to describe
the manner in which you want a
speech synthesis engine to read
text that is inputted into it.
DEMO Text-to-speech (cortana)
RECOGNIZING SPEECH
Converts words spoken by the
user into text – which
ultimately can be used for
form input, text dictation, to
specify an action or
command, and/or to
accomplish tasks.
 Supports
 pre-defined grammars
 for free-text dictation and web search
 Custom grammars authored using Speech
Recognition Grammar Specification (SRGS)
DEMO Voice Recognition
RECOMMENDATIONS ON SPEECH
RECOGNITION
Always provide a visual cue to indicate that speech recognition is supported
and available to the user and whether the user needs to turn it on.
Provide ongoing recognition feedback to minimize any apparent lack of
response while recognition is being performed.
Let users revise recognition text using keyboard input, disambiguation
prompts, suggestions, or additional speech recognition.
Stop recognition if input is detected from a device other than speech
recognition, such as touch or keyboard. This probably indicates that the user
has moved onto another task, such as correcting the recognition text or
interacting with other form fields.
Specify the length of time for which no speech input indicates that
recognition is over. Do not automatically restart recognition after this period
of time as it typically indicates the user has stopped engaging with your app.
Disable all continuous recognition UI and terminate the recognition session
if a network connection is not available. Continuous recognition requires a
network connection.
HELLO CORTANA
Utilizes VCD files
Requires an alias that uniquely identifies your app
 If an alias name collision happens, a prompt (within the Cortana interface) will be presented to the
user which gives them the option to select which app the would like to use to service the request
Does not require apps to be running for it to function
 Allows for you to use Cortana to launch your UWP apps as though it is a command intrinsically built
into the system
 Can launch your app
 Can use your app to service the customer’s requests
Two categories
 Foreground apps
 Apps launched in this manner are launched into the foreground, meaning that the app takes focus and Cortana is
dismissed.
 Your voice input is passed into the app as a string parameter of the OnActivated method.
 Saved best for commands that require additional context or user input.
 Background apps
 The user is given no visual indication that your app is servicing the request (the primary request from the user is handled
by the Cortana interface)
 Allows for providing lists, secondary actions (links), images, to the customer. Your app can be launched from one of those
STEPS TO CREATING
FOREGROUND INTEGRATION
Create a VCD file. This is an XML document that defines all the
spoken commands that the user can say to initiate actions or invoke
commands when activating your app.
Register the command sets in the VCD file when the app is launched.
Handle the foreground activation of the of the app through the
OnActivated handler. As part of the launch parameters you will have
access to command that was triggered by Cortana and the text of the
words that were uttered.
VCD FILES
LOADING PHRASELISTS
DYNAMICALLY
HANDLING ACTIVATION FROM
CORTANA
If the window content is not set to a UIElement by the time the
OnActivated method completes it will not be initialized
DEMO Cortana foreground apps
STEPS TO CREATE BACKGROUND
INTEGRATION
Create a VCD file. This is an XML document that defines all the
spoken commands that the user can say to initiate actions or invoke
commands when activating your app.
Create an app service (Windows.ApplicationModel.AppService) that
Cortana invokes in the background.
Register the command sets in the VCD file when the app is launched.
Handle the background activation of the of the app service and the
execution of the voice command.
Display and/or speak the appropriate feedback to the voice command
within Cortana.
RETRIEVING WHAT WAS SAID
RETRIEVING WHICH PHRASE WAS
UTTERED
DEMO Cortana prompting
confirmation
DEEP LINKING
A "Go to <app>" link on various Cortana screens.
A link embedded in a content tile on various Cortana screens.
The app service programmatically launches the foreground app.
Requires element added to the Extensions node of the Application
element:
 <uap:Extension Category="windows.personalAssistantLaunch"/>
 As with any protocol contract, your app must override its OnActivated event and
check for an ActivationKind of Protocol.
 When your app is launched in this manner the resulting URL sent to it is
"windows.personalassistantlaunch:?LaunchContext=<AppLaunchArgument>"
PROMPTING THE USER
In certain scenarios it may be
necessary to ask the user for
a confirmation before
proceeding with an action
through the background app
service. For this kind of
situation, the method
CreateResponseForPrompt
on the class
VoiceCommandResponse can
be used
DEMO Cortana background apps
WHO ARE WE?
Edward Moemeka – Chief Architect, e-Builder
 Follow me on Twitter @moemeka
 Email me at edward.moemeka@thethinkmine.com
 Connect with me on LinkedIn https://www.linkedin.com/in/edwardmoemeka
Obinna Igbokwe – Solution Architect, e-builder
 Email obinna.igbokwe@platformbasedsolutions.com
GET THE BOOK TO LEARN MORE
#1 Windows 10 development title on
Amazon
Get it to learn more
http://www.amazon.com/Real-
World-Windows-10-
Development/dp/1484214501/ref=
sr_1_1?ie=UTF8&qid=1455962970&
sr=8-
1&keywords=windows+10+develop
ment

Contenu connexe

Tendances

iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankushankush Ankush
 
iPhone University Developer Program
iPhone University Developer ProgramiPhone University Developer Program
iPhone University Developer ProgramJussi Pohjolainen
 
Twitter and Web Accessibility (EASI Webinar)
Twitter and Web Accessibility (EASI Webinar)Twitter and Web Accessibility (EASI Webinar)
Twitter and Web Accessibility (EASI Webinar)Dennis Lembree
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyThomas Swift
 
Mobile Apps presentation
Mobile Apps presentationMobile Apps presentation
Mobile Apps presentationTom Printy
 
Building Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and CortanaBuilding Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and CortanaNick Landry
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with TitaniumKevin Whinnery
 
Cross-platform mobile that Works - Coobers
Cross-platform mobile that Works - CoobersCross-platform mobile that Works - Coobers
Cross-platform mobile that Works - CoobersCoobers
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsKevin Whinnery
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submissionPragati Singh
 
How to Drive 500 000 App Installs? FareFirst case
How to Drive 500 000 App Installs? FareFirst caseHow to Drive 500 000 App Installs? FareFirst case
How to Drive 500 000 App Installs? FareFirst caseTravelpayouts
 
Mobile app development sylhet it academy
Mobile app development  sylhet it academyMobile app development  sylhet it academy
Mobile app development sylhet it academySylhet IT Academy
 
Starting mobile development
Starting mobile developmentStarting mobile development
Starting mobile developmentMihai Corlan
 
How to make an iPhone app
How to make an iPhone appHow to make an iPhone app
How to make an iPhone appVCube Works
 
iPhone application development in India
iPhone application development in IndiaiPhone application development in India
iPhone application development in IndiaMobile Pundits
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 

Tendances (20)

iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankush
 
iPhone University Developer Program
iPhone University Developer ProgramiPhone University Developer Program
iPhone University Developer Program
 
Twitter and Web Accessibility (EASI Webinar)
Twitter and Web Accessibility (EASI Webinar)Twitter and Web Accessibility (EASI Webinar)
Twitter and Web Accessibility (EASI Webinar)
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to Sixty
 
Chatbot interfaces
Chatbot interfacesChatbot interfaces
Chatbot interfaces
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
Mobile Apps presentation
Mobile Apps presentationMobile Apps presentation
Mobile Apps presentation
 
Building Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and CortanaBuilding Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and Cortana
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Cross-platform mobile that Works - Coobers
Cross-platform mobile that Works - CoobersCross-platform mobile that Works - Coobers
Cross-platform mobile that Works - Coobers
 
FIREFOX OS
FIREFOX OSFIREFOX OS
FIREFOX OS
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native Applications
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submission
 
How to Drive 500 000 App Installs? FareFirst case
How to Drive 500 000 App Installs? FareFirst caseHow to Drive 500 000 App Installs? FareFirst case
How to Drive 500 000 App Installs? FareFirst case
 
Mobile app development sylhet it academy
Mobile app development  sylhet it academyMobile app development  sylhet it academy
Mobile app development sylhet it academy
 
Starting mobile development
Starting mobile developmentStarting mobile development
Starting mobile development
 
How to make an iPhone app
How to make an iPhone appHow to make an iPhone app
How to make an iPhone app
 
Salesforce.com Lightning
Salesforce.com LightningSalesforce.com Lightning
Salesforce.com Lightning
 
iPhone application development in India
iPhone application development in IndiaiPhone application development in India
iPhone application development in India
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 

En vedette

SCUG.dk Windows 10 Management - September 2015
SCUG.dk   Windows 10 Management - September 2015SCUG.dk   Windows 10 Management - September 2015
SCUG.dk Windows 10 Management - September 2015Ronni Pedersen
 
Windows memory management
Windows memory managementWindows memory management
Windows memory managementTech_MX
 
What is Ubuntu - presentation
What is Ubuntu - presentationWhat is Ubuntu - presentation
What is Ubuntu - presentationAhmed Mamdouh
 
MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...
MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...
MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...Dell EMC World
 
Operating Systems and Memory Management
Operating Systems and Memory ManagementOperating Systems and Memory Management
Operating Systems and Memory Managementguest1415ae65
 
Windows 10 in 10 Minutes
Windows 10 in 10 MinutesWindows 10 in 10 Minutes
Windows 10 in 10 MinutesHemant Prasad
 

En vedette (10)

SCUG.dk Windows 10 Management - September 2015
SCUG.dk   Windows 10 Management - September 2015SCUG.dk   Windows 10 Management - September 2015
SCUG.dk Windows 10 Management - September 2015
 
Windows 10 presentation
Windows 10 presentationWindows 10 presentation
Windows 10 presentation
 
Windows 10: all you need to know!
Windows 10: all you need to know!Windows 10: all you need to know!
Windows 10: all you need to know!
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows memory management
Windows memory managementWindows memory management
Windows memory management
 
What is Ubuntu - presentation
What is Ubuntu - presentationWhat is Ubuntu - presentation
What is Ubuntu - presentation
 
MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...
MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...
MT147_Thinking Windows 10? Think simple, scalable, and secure deployments wit...
 
Operating Systems and Memory Management
Operating Systems and Memory ManagementOperating Systems and Memory Management
Operating Systems and Memory Management
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows 10 in 10 Minutes
Windows 10 in 10 MinutesWindows 10 in 10 Minutes
Windows 10 in 10 Minutes
 

Similaire à Code Camp - Presentation - Windows 10 - (Cortana)

Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewSascha Corti
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...RIA RUI Society
 
Flutter Optimization Techniques to Improve Existing App Results.pdf
Flutter Optimization Techniques to Improve Existing App Results.pdfFlutter Optimization Techniques to Improve Existing App Results.pdf
Flutter Optimization Techniques to Improve Existing App Results.pdfTechugo
 
Slack meetup 16 02-2020
Slack meetup 16 02-2020Slack meetup 16 02-2020
Slack meetup 16 02-2020Amit Chavan
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
 
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsIntégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsGuillaume Meyer
 
Why windows phone
Why windows phoneWhy windows phone
Why windows phonePawan Kurmi
 
Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...
Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...
Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...Mat Newman
 
How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18Dragan Panjkov
 
Build an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsBuild an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsJenkins NS
 
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdfPERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdfarfa442827
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsSuraj Kumar
 
Lev's KC-DC Presentation
Lev's KC-DC PresentationLev's KC-DC Presentation
Lev's KC-DC PresentationLev Ginsburg
 
Looking Back. Moving Forward. ReadyTalk Year in Review 2014
Looking Back. Moving Forward. ReadyTalk Year in Review 2014Looking Back. Moving Forward. ReadyTalk Year in Review 2014
Looking Back. Moving Forward. ReadyTalk Year in Review 2014ReadyTalk
 
Guidelines for Android application design.pptx
Guidelines for Android application design.pptxGuidelines for Android application design.pptx
Guidelines for Android application design.pptxdebasish duarah
 
Microsoft Power Apps - A Getting Started Guide
Microsoft Power Apps - A Getting Started GuideMicrosoft Power Apps - A Getting Started Guide
Microsoft Power Apps - A Getting Started GuidePaul Barnett
 

Similaire à Code Camp - Presentation - Windows 10 - (Cortana) (20)

Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's New
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Flutter Optimization Techniques to Improve Existing App Results.pdf
Flutter Optimization Techniques to Improve Existing App Results.pdfFlutter Optimization Techniques to Improve Existing App Results.pdf
Flutter Optimization Techniques to Improve Existing App Results.pdf
 
Slack meetup 16 02-2020
Slack meetup 16 02-2020Slack meetup 16 02-2020
Slack meetup 16 02-2020
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsIntégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft Teams
 
Why windows phone
Why windows phoneWhy windows phone
Why windows phone
 
Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...
Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...
Lotusphere 2011, BP106: "Where is the Love? How to get your users to fall in ...
 
Flutter Web Development Service - Connect Infosoft.pdf
Flutter Web Development Service - Connect Infosoft.pdfFlutter Web Development Service - Connect Infosoft.pdf
Flutter Web Development Service - Connect Infosoft.pdf
 
How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18
 
Build an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsBuild an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teams
 
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdfPERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
 
How to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step GuideHow to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step Guide
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Lev's KC-DC Presentation
Lev's KC-DC PresentationLev's KC-DC Presentation
Lev's KC-DC Presentation
 
Looking Back. Moving Forward. ReadyTalk Year in Review 2014
Looking Back. Moving Forward. ReadyTalk Year in Review 2014Looking Back. Moving Forward. ReadyTalk Year in Review 2014
Looking Back. Moving Forward. ReadyTalk Year in Review 2014
 
How does flutter cuts app development cost?
How does flutter cuts app development cost?How does flutter cuts app development cost?
How does flutter cuts app development cost?
 
Progressive Web Apps - deep dive
Progressive Web Apps - deep diveProgressive Web Apps - deep dive
Progressive Web Apps - deep dive
 
Guidelines for Android application design.pptx
Guidelines for Android application design.pptxGuidelines for Android application design.pptx
Guidelines for Android application design.pptx
 
Microsoft Power Apps - A Getting Started Guide
Microsoft Power Apps - A Getting Started GuideMicrosoft Power Apps - A Getting Started Guide
Microsoft Power Apps - A Getting Started Guide
 

Code Camp - Presentation - Windows 10 - (Cortana)

  • 2. WHO ARE WE? Edward Moemeka – Chief Architect, e-Builder  Follow me on Twitter @moemeka  Email me at edward.moemeka@thethinkmine.com  Connect with me on LinkedIn https://www.linkedin.com/in/edwardmoemeka Obinna Igbokwe – Solution Architect, e-builder  Email obinna.igbokwe@platformbasedsolutions.com
  • 3. GET THE BOOK TO LEARN MORE #1 Windows 10 development title on Amazon Get it to learn more http://www.amazon.com/Real- World-Windows-10- Development/dp/1484214501/ref= sr_1_1?ie=UTF8&qid=1455962970& sr=8- 1&keywords=windows+10+develop ment
  • 4. WHY CORTANA? The obvious reasons  World’s most personal digital assistant helps you get things done throughout the day  Be the one helping!  A whole new natural, way of interacting with your PC  Create the experience  Available to millions of users across Windows 10 PCs, tablets, and phones  More money, more problems  Integrated search across device, the Web and personal and professional clouds  Omni-channel integration can lead directional growth Typical usage scenarios  “App first” experiences  I’ve got a pre-existing app and I want to integrate voice  I’ve got an app on the system and I want to surface it's content  “Voice first” experiences  I want to create an audio interaction experience
  • 5. MAKING YOUR PROGRAM SPEAK THE EASY WAY Text to speech, commonly referred to as TTS, uses a speech synthesis engine (voice) to convert a text string into spoken words. The simplest form of this takes as input the text you actually want the engine to utter.
  • 7. MAKING YOUR PROGRAM SPEAK THE HARD WAY For added flexibility, Speech Synthesis Markup Language (SSML) can be used to describe the manner in which you want a speech synthesis engine to read text that is inputted into it.
  • 9. RECOGNIZING SPEECH Converts words spoken by the user into text – which ultimately can be used for form input, text dictation, to specify an action or command, and/or to accomplish tasks.  Supports  pre-defined grammars  for free-text dictation and web search  Custom grammars authored using Speech Recognition Grammar Specification (SRGS)
  • 11. RECOMMENDATIONS ON SPEECH RECOGNITION Always provide a visual cue to indicate that speech recognition is supported and available to the user and whether the user needs to turn it on. Provide ongoing recognition feedback to minimize any apparent lack of response while recognition is being performed. Let users revise recognition text using keyboard input, disambiguation prompts, suggestions, or additional speech recognition. Stop recognition if input is detected from a device other than speech recognition, such as touch or keyboard. This probably indicates that the user has moved onto another task, such as correcting the recognition text or interacting with other form fields. Specify the length of time for which no speech input indicates that recognition is over. Do not automatically restart recognition after this period of time as it typically indicates the user has stopped engaging with your app. Disable all continuous recognition UI and terminate the recognition session if a network connection is not available. Continuous recognition requires a network connection.
  • 12. HELLO CORTANA Utilizes VCD files Requires an alias that uniquely identifies your app  If an alias name collision happens, a prompt (within the Cortana interface) will be presented to the user which gives them the option to select which app the would like to use to service the request Does not require apps to be running for it to function  Allows for you to use Cortana to launch your UWP apps as though it is a command intrinsically built into the system  Can launch your app  Can use your app to service the customer’s requests Two categories  Foreground apps  Apps launched in this manner are launched into the foreground, meaning that the app takes focus and Cortana is dismissed.  Your voice input is passed into the app as a string parameter of the OnActivated method.  Saved best for commands that require additional context or user input.  Background apps  The user is given no visual indication that your app is servicing the request (the primary request from the user is handled by the Cortana interface)  Allows for providing lists, secondary actions (links), images, to the customer. Your app can be launched from one of those
  • 13. STEPS TO CREATING FOREGROUND INTEGRATION Create a VCD file. This is an XML document that defines all the spoken commands that the user can say to initiate actions or invoke commands when activating your app. Register the command sets in the VCD file when the app is launched. Handle the foreground activation of the of the app through the OnActivated handler. As part of the launch parameters you will have access to command that was triggered by Cortana and the text of the words that were uttered.
  • 16. HANDLING ACTIVATION FROM CORTANA If the window content is not set to a UIElement by the time the OnActivated method completes it will not be initialized
  • 18. STEPS TO CREATE BACKGROUND INTEGRATION Create a VCD file. This is an XML document that defines all the spoken commands that the user can say to initiate actions or invoke commands when activating your app. Create an app service (Windows.ApplicationModel.AppService) that Cortana invokes in the background. Register the command sets in the VCD file when the app is launched. Handle the background activation of the of the app service and the execution of the voice command. Display and/or speak the appropriate feedback to the voice command within Cortana.
  • 20. RETRIEVING WHICH PHRASE WAS UTTERED
  • 22. DEEP LINKING A "Go to <app>" link on various Cortana screens. A link embedded in a content tile on various Cortana screens. The app service programmatically launches the foreground app. Requires element added to the Extensions node of the Application element:  <uap:Extension Category="windows.personalAssistantLaunch"/>  As with any protocol contract, your app must override its OnActivated event and check for an ActivationKind of Protocol.  When your app is launched in this manner the resulting URL sent to it is "windows.personalassistantlaunch:?LaunchContext=<AppLaunchArgument>"
  • 23. PROMPTING THE USER In certain scenarios it may be necessary to ask the user for a confirmation before proceeding with an action through the background app service. For this kind of situation, the method CreateResponseForPrompt on the class VoiceCommandResponse can be used
  • 25. WHO ARE WE? Edward Moemeka – Chief Architect, e-Builder  Follow me on Twitter @moemeka  Email me at edward.moemeka@thethinkmine.com  Connect with me on LinkedIn https://www.linkedin.com/in/edwardmoemeka Obinna Igbokwe – Solution Architect, e-builder  Email obinna.igbokwe@platformbasedsolutions.com
  • 26. GET THE BOOK TO LEARN MORE #1 Windows 10 development title on Amazon Get it to learn more http://www.amazon.com/Real- World-Windows-10- Development/dp/1484214501/ref= sr_1_1?ie=UTF8&qid=1455962970& sr=8- 1&keywords=windows+10+develop ment