Win02 bing e windows store apps

31
Template designed by BING e Windows Store Apps Massimo Bonanni [email protected] @massimobonanni codetailor.blogspot.com Template designed by

Transcript of Win02 bing e windows store apps

Page 1: Win02   bing e windows store apps

Template designed by

BING e Windows Store Apps

Massimo [email protected]@massimobonannicodetailor.blogspot.com

Template designed by

Page 2: Win02   bing e windows store apps

Template designed by

brought to you by

Page 3: Win02   bing e windows store apps

Template designed by

Mi occupo di progettazione e sviluppo applicazioni con tecnologie Microsoft da sempre.

Fondatore e presidente della community DomusDotNet (www.domusdotnet.org)

Microsoft Certified Professional

Microsoft MVP dal 2011 nella categoria VB.NET

Ambassador Intel per Perceptual Computing

chi sono

Page 4: Win02   bing e windows store apps

Template designed by

BING Developer Center e i servizi offerti da BING

Speech Recognition

App Linking

Recap

agenda

Page 5: Win02   bing e windows store apps

Template designed by

http://www.bing.com/dev

BING Developer Center

Page 6: Win02   bing e windows store apps

Template designed by

Le funzionalità di Speech Recognition offerte dalla piattaforma BING sono disponibili sia per Windows 8 che per Windows 8.1.

L’indirizzo di riferimento è :

http://www.bing.com/dev/en-us/speech

Per utilizzare il controllo OCR è necessario:

1. Sottoscrivere un “abbonamento” al servizio BING

2. Utilizzare le API contenute negli assembly forniti da BING

BING Speech Recognition

Page 7: Win02   bing e windows store apps

Template designed by

Per poter utilizzare le API client di Speech Recognition è necessario sottoscrivere un abbonamento all’indirizzo:

https://datamarket.azure.com/dataset/bing/speechcontrol

Attualmente è disponibile un abbonamento gratuito con 500.000transazioni (cioè operazioni diriconoscimento vocale con il server)per mese.

Non è disponibile per i live id italiani.

Il servizio BING

Page 8: Win02   bing e windows store apps

Template designed by

Per utilizzare i servizi BING sono necessari i parametri ClientID e SecretClient per l'autenticazione.

Per ottenere questi parametri è sufficiente registrare la nostra App nel portale:

https://datamarket.azure.com/developer/applications

ClientID e SecretClient

Page 9: Win02   bing e windows store apps

Template designed by

Il controllo XAML per Windows 8.x è disponibile nella Visual Studio Gallery all’indirizzo

http://visualstudiogallery.msdn.microsoft.com/521cf616-a9a8-4d99-b5d9-92b539d9df82

Non è disponibile all’interno della funzionalità “Extensions and Updates…” di Visual Studio 2013 per il solo fatto di essere marcato per Visual Studio 2012pur essendo per Windows 8.1

BING Speech Recognition Control

Page 10: Win02   bing e windows store apps

Template designed by

Per utilizzare le API è necessario:• Referenziare la dll Bing.Speech (la quale referenzia, a sua volta,

l’assembly “Microsoft Visual C++ 2013 Runtime Package”);

• Modificare il file di manifest perabilitare le capability “Internet Client”e “Microphone”;

• Aprire il file di manifest utilizzando un editor XML (basta utilizzare l’opzione contestuale “Open with…” di Visual Studio) e aggiungere

Abilitare il progetto

<Extensions> <Extension Category="windows.activatableClass.inProcessServer"> <InProcessServer> <Path>Microsoft.Speech.VoiceService.MSSRAudio.dll</Path> <ActivatableClass ActivatableClassId="Microsoft.Speech.VoiceService.MSSRAudio.Encoder"

ThreadingModel="both" /> </InProcessServer> </Extension> <Extension Category="windows.activatableClass.proxyStub"> <ProxyStub ClassId="5807FC3A-A0AB-48B4-BBA1-BA00BE56C3BD"> <Path>Microsoft.Speech.VoiceService.MSSRAudio.dll</Path> <Interface Name="IEncodingSettings" InterfaceId="C97C75EE-A76A-480E-9817-D57D3655231E" /> </ProxyStub> </Extension> <Extension Category="windows.activatableClass.proxyStub"> <ProxyStub ClassId="F1D258E4-9D97-4BA4-AEEA-50A8B74049DF"> <Path>Microsoft.Speech.VoiceService.Audio.dll</Path> <Interface Name="ISpeechVolumeEvent" InterfaceId="946379E8-A397-46B6-B9C4-FBB253EFF6AE" /> <Interface Name="ISpeechStatusEvent" InterfaceId="FB0767C6-7FAA-4E5E-AC95-A3C0C4D72720" /> </ProxyStub> </Extension></Extensions>

Page 11: Win02   bing e windows store apps

Template designed by

La classe SpeechRecognizer è lo strumento essenziale per le funzionalità di Speech Recognition.

Il metodo RecognizeSpeechToTextAsync() prende in carico lo stream proveniente dal microfono, interagisce con il servizio BING e restituisce l’eventuale risultato analizzato.

La classe SpeechRecognizer

Dim result = Await speechRecognizer.RecognizeSpeechToTextAsync()If result.TextConfidence <> SpeechRecognitionConfidence.Rejected Then Me.ResultText.Text = result.TextElse Me.ErrorText.Text = "Rejected"End If

Page 12: Win02   bing e windows store apps

Template designed by

La classe SpeechRecognitionResult contiene il risultato di un’analisi da parte del servizio di Speech Recognition di BING.

Abbiamo a disposizione:

• TextConfidence : indica l’accuratezza (stimata) del risultato. Se non è stato riconosciuto nulla si ha il valore Rejected;

• Text : contiene il testo riconosciuto

Possiamo ottenere anche le interpretazioni alternative grazie al metodo GetAlternates().

Gestire il risultato

Page 13: Win02   bing e windows store apps

Template designed by

Uno dei dogma delle NUI recita che l’utente deve essere avvertito del fatto che una funzionalità Natural (come lo Speech Recognition) è attiva.

L’SDK dello Speech Recognition di BING mette a disposizione la classe SpeechRecognizerUx (controllo XAML) che fornisce un’interfaccia standard per avvisare l’utente che il microfono è aperto e l’app è in ascolto.

Interfaccia standard

Page 14: Win02   bing e windows store apps

Template designed by

Utilizzare il controllo SpeechRecognizerUx (contenuto nell’assembly Bing.Speech.Xaml.SpeechRecognizerUx) è molto semplice:

• Aggiungere il controllo nello XAML;

• Impostare la proprietà SpeechRecognizer con un’istanza della classe SpeechRecognizer:

Nel momento in cui viene richiamato il metodo RecognizeSpeechToTextAsync(), l’interfaccia verrà automaticamente visualizzata.

Interfaccia standard

SpeechControl.SpeechRecognizer = speechRecognizer

Page 15: Win02   bing e windows store apps

Template designed by

La classe SpeechRecognizer mette a disposizione gli eventi:

• AudioCaptureStateChanged: viene sollevato quando cambia lo stato della sessione di riconoscimento vocale. L’enumerazione SpeechRecognizerAudioCaptureState dell’argomento dell’evento fornisce informazioni sullo stato della sessione (ad esempio Thinking quando la piattaforma sta elaborando un audio);

• AudioLevelChanged: viene sollevato quando l’utente varia il volume dell’audio catturato dal microfono;

• RecognizerResultRecieved: viene sollevato ogni volta che la piattaforma fornisce un risultato preliminare di riconoscimento vocale nello stato di Thinking. Tramite la proprietà IsHypothesis possiamo sapere se si tratta di un risultato preliminare o finale.

Usando opportunamente questi eventi possiamo implementare la nostra interfaccia utente.

Interfaccia Custom

Page 16: Win02   bing e windows store apps

dem

o Speech Recognition

Page 17: Win02   bing e windows store apps

Template designed by

App Linking è, in una frase,

Link your app to search results

BING App Linking

Page 18: Win02   bing e windows store apps

Template designed by

• More discoverable: permette ad un maggior numero di persone di conoscere la nostra app semplicemente inserendo il link all’interno delle ricerche di Windows 8.1 e Windows Phone 7.x/8;

• Deeper engagement: l’utente può “navigare” dai risultati di ricerca direttamente all’interno della nostra app rendendo l’esperienza utente più ricca e complete;

• Easy and free: seguite la sessione e vedrete

BING App Linking

Page 19: Win02   bing e windows store apps

Template designed by

Due possibili scenari:

• App Linking: il link all’interno dello Smart Seach di Windows 8.1 apre semplicemente la nostra app;

• Deep Linking: il link apre la nostra app ad una precisa pagina o mostrando un particolarecontenuto.

App Linking – Come funziona

Page 20: Win02   bing e windows store apps

Esempio di App

Linking – Wikipedia

Page 21: Win02   bing e windows store apps

Template designed by

Per attivare la modalità più “semplice”:

• La nostra app deve essere già pubblicata nello store;

• E’ necessario connettersi al BING Webmaster Portal (https://ssl.bing.com/webmaster/configure/app/linking) e aggiungere la nostra app come se fosse una “Connected Page”

App Linking – Website to App

http://msdn.microsoft.com/en-us/library/dn614167.aspx

Page 22: Win02   bing e windows store apps

Template designed by

App Linking – Website to App

Page 23: Win02   bing e windows store apps

Template designed by

Per abilitare il Deep Linking è necessario:

• Aggiungere del markup nelle pagine web;

• Implementare il deep linking nell’app (e, quindi, pubblicarla);

• Registrare l’app per il deep linking all’interno del BING Webmaster Portal

App Linking – Deep Linking

Page 24: Win02   bing e windows store apps

Template designed by

Se vogliamo utilizzare il <body> dell’HTML:

App Linking – Deep Linking

applicationId e packageFamilyName dell’app che vogliamo abilitare per il deep

linking

Parametri da passare all’app nel momento in

cui viene lanciata a seguito del click

all’interno dello Smart Search

http://msdn.microsoft.com/en-us/library/dn614166.aspx

Page 25: Win02   bing e windows store apps

Template designed by

Se vogliamo, invece, utilizzare l’<head> della pagina:

App Linking – Deep Linking

applicationId e packageFamilyName dell’app che vogliamo abilitare per il deep

linking

Parametri da passare all’app nel momento in

cui viene lanciata a seguito del click

all’interno dello Smart Search

http://msdn.microsoft.com/en-us/library/dn614166.aspx

Page 26: Win02   bing e windows store apps

Template designed by

La nostra app deve essere in grado di elaborare l’attivazione con i parametri:

App Linking – Deep Linking

http://msdn.microsoft.com/en-us/library/dn614164.aspx

Page 27: Win02   bing e windows store apps

Template designed by

Per completare la procedura e’ necessario abilitare, a livello di BING Webmaster Portal, il deep linking

App Linking – Deep Linking

http://msdn.microsoft.com/en-us/library/dn614161.aspx

Page 28: Win02   bing e windows store apps

Template designed by

Per testare la correttezza dei metatag aggiunti al nostro sito, possiamo utilizzare il BING AppLinking Verification Tool

App Linking – Deep Linking

http://bingdevcenter.blob.core.windows.net/download/AppLinkingTestTool/setup.exe

Page 29: Win02   bing e windows store apps

Template designed by

BING Developer Centerhttp://www.bing.com/dev

Bing Speech Recognition Control for Windows 8.1http://visualstudiogallery.msdn.microsoft.com/521cf616-a9a8-4d99-b5d9-92b539d9df82

Bing Speech Recognition Control for Windows 8http://visualstudiogallery.msdn.microsoft.com/7a054b83-f890-41b5-909b-5d849e1a32b6

MSDN - The Bing Speech Recognition Controlhttp://msdn.microsoft.com/en-us/library/dn434583.aspx

Guest Post: BING Speech Recognition nelle Windows Store apphttp://blogs.msdn.com/b/italy/archive/2013/11/21/guest-post-bing-speech-recognition-nelle-windows-store-

app.aspx

BING App Linkinghttp://www.bing.com/dev/en-us/applink

MSDN – Bing App Linkinghttp://msdn.microsoft.com/en-us/library/dn614167.aspx

Recap

Page 30: Win02   bing e windows store apps

Template designed by

Q&A

Page 31: Win02   bing e windows store apps

Template designed by

Grazie a tutti per la partecipazione

Riceverete il link per il download a slide e demo via email nei prossimi giorni

Per contattarmi

[email protected]

Grazie