dot netspain 2016

36
#dotNetSpain2016 .NET Conference 2016 Spain CATDOTNET

Upload: marc-rubino

Post on 21-Feb-2017

342 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Dot netspain 2016

#dotNetSpain2016

.NET Conference 2016SpainCATDOTNET

Page 2: Dot netspain 2016

#dotNetSpain2016

Marc Rubiño CIO - Captio [email protected]

¿Who is Who Cortana?

Page 3: Dot netspain 2016

Patrocinadores

Colaboradores

#dotNetSpain2016

Page 4: Dot netspain 2016

#dotNetSpain2016

Actualmente CIO en Captio ha trabajado desde hace más de 15 años como consultor especializado en tecnologías de Microsoft y colaborador habitual de los grupos de usuario.

Marc Rubiño

Page 5: Dot netspain 2016

Anti-Charla

Page 6: Dot netspain 2016

#dotNetSpain2016

Historia de la idea

Page 7: Dot netspain 2016

Los Precursores

Internet of Tricks

Page 8: Dot netspain 2016

Internet of Tricks

Éxito mundial !!!

Andorra

Page 9: Dot netspain 2016

Anti-Charla

Page 10: Dot netspain 2016

#dotNetSpain2016

Charla interactiva

Page 11: Dot netspain 2016

Aprender a utilizar

Cortana

Page 12: Dot netspain 2016

¿ Who is Who Cortana ?

Cortana

The Game

Page 13: Dot netspain 2016

#dotNetSpain2016

The Game - ¿ Who is Who Cortana ? Android Windows Phone

Who is Who Cortana ?

Who is Who Cortana

Page 14: Dot netspain 2016

#dotNetSpain2016

Gordi :)

Page 15: Dot netspain 2016

Posibles Preguntas• Tiene los ojos Azules ?

• Tiene bigote ?• Es Chica ?• Es fan de los Simpson ?• Tiene una Xbox ?• Tiene Windows Phone ?

Page 16: Dot netspain 2016

The Making off¿Who is Who?

Cortana

Page 17: Dot netspain 2016

Back-End

Page 18: Dot netspain 2016

Mobile services

Page 19: Dot netspain 2016

#dotNetSpain2016

• Asistentes• Preguntas para validar el perfil

Datos en la Nube

Page 20: Dot netspain 2016

Notificaciones Push

Page 21: Dot netspain 2016

#dotNetSpain2016

1. Dar de alta el servicio y obtener las credenciales

Notificaciones Push Android

Page 22: Dot netspain 2016

#dotNetSpain2016

1. Habilitar inserciones no autentificadasNotificaciones Push Windows Phone

Page 23: Dot netspain 2016

#dotNetSpain2016

2. Vincular la API con la AplicaciónNotificaciones Push Android

Page 24: Dot netspain 2016

#dotNetSpain2016

3. Vincular con AzureNotificaciones Push Android

Page 25: Dot netspain 2016

#dotNetSpain2016

Enviar notificación al insertar la preguntaAzure Mobile Service Push

request.execute({ success: function() { // If the insert succeeds, send a notification. push.mpns.send(null, payloadWp, 'toast', 22); push.gcm.send(null, payloadAndroid); request.respond(); } }); }

Page 26: Dot netspain 2016

Cortana

Page 27: Dot netspain 2016

#dotNetSpain2016

Interacción con CortanaLanzar aplicación en primer plano o segundo plano

Page 28: Dot netspain 2016

#dotNetSpain2016

Nombre de la aplicación como:• Prefijo (antes de la frase de comando)• Infijo (dentro de la frase de comando)• Sufijo (después de la frase de comando)

Cortana – Comandos de voz Flexibles

Page 29: Dot netspain 2016

#dotNetSpain2016

Hay que registrar el fichero de comandosFichero VCD de comandos

<CommandSet xml:lang="es" Name="examplevcd"> <CommandPrefix>Gordi</CommandPrefix> <Example>tiene los ojos azules</Example>

<Command Name="Pelis"> <Example>señor de los anillos o star wars</Example> <ListenFor>eres mas de {pelis} o de {pelis} </ListenFor> <Feedback>Yo soy mas de Matrix</Feedback> <Navigate/> </Command>

Page 30: Dot netspain 2016

#dotNetSpain2016

Hay que registrar el fichero de comandosFichero VCD de comandos

//Registramos el fichero de comandos en el dispositivo if (e.NavigationMode == NavigationMode.New) { var storageFile = await Windows.Storage.StorageFile .GetFileFromApplicationUriAsync(new Uri("ms-appx:///Question_VCD.xml"));

await Windows.ApplicationModel.VoiceCommands.VoiceCommandDefinitionManager .InstallCommandDefinitionsFromStorageFileAsync(storageFile);}

Page 31: Dot netspain 2016

#dotNetSpain2016

Para mostrar el resultado convertimos el texto en voz.

Speech to text

private async Task SpeakText(string text) { var synth = new SpeechSynthesizer(); var mediaElement = new MediaElement();

var stream = await synth.SynthesizeTextToStreamAsync(text); mediaElement.SetSource(stream, stream.ContentType); mediaElement.Play(); }

Page 32: Dot netspain 2016

Front-End

Page 33: Dot netspain 2016

#dotNetSpain2016

Dos tipos de participantes

Page 34: Dot netspain 2016

View Code

Page 35: Dot netspain 2016

Q&A

#dotNetSpain2016

http://aka.ms/DOTNETT4S3

Page 36: Dot netspain 2016

No olvides realizar la encuesta¡Gracias!

#dotNetSpain2016

http://aka.ms/DOTNETT4S3

Marc Rubiño CIO - Captio [email protected]