#Coding4Fun – What’s There App, código fuente y ejemplo de uso de #VisionAPI

Hola !

Después del post de ayer, algunas personas me preguntaron un par de cuestiones sobre la App What’s There, así que aprovecharé este post para comentar algunos detalles de la misma.

Antes de crear la app, le expliqué a mi niño con un esquema simple, el funcionamiento de la App

  1. El smartphone sacará una foto
  2. La foto se procesará con Vision API
  3. Vision API nos retornará información sobre lo que se encontró en la foto
  4. El smartphone nos hablará con la información de la foto

image

Luego cree un dibujo muy simple y el Valentino entendió la idea Open-mouthed smile (espero tu tú también) Así que veamos un poco en detalle cada uno de los pasos de la App.

Empezamos por los prerequisitos, dentro de package manifest necesitamos activar las siguientes capabilities: Internet, Microphone y WebCam.

image

Para sacar una foto, he reutilizado una función que saca una foto, guarda la misma en un storage local y retorna el archivo creado. Además soporta sacar fotos en “modo silencioso”, en donde el usuario no se entera de que está sacando fotos; y en “modo normal” en el que aparece la ventana del SO para sacar fotos.

image

El siguiente paso es analizar la foto utilizando VisionAPI. Para esto necesitamos agregar el paquete NuGet Microsoft.ProjectOxford.Vision a nuestro proyecto.

image

Importante: Para poder utilizar la API necesitamos una cuenta activa en Cognitive Services y copiar las keys correspondientes, lo he explicado en este post.

Ahora si, ya podemos procesar la foto con Vision API. Las siguientes líneas son un ejemplo simple sobre como hacer esto. Es importante remarcar que dentro de Description nos encontramos con la colección de Captions. Cada Caption es una frase completa con la descripción de la foto.

image

Si queremos darle un toque personal a esta descripción, la colección Tags nos brinda los elementos más importantes encontrados con palabras sueltas.

Finalmente, para el proceso Text to Speech, usé la clase SpeechSynthesizer. Esta clase nos permite obtener el audio stream desde el texto y luego reproducir el mismo utilizando un Media Element.

image

Y esto es todo ! 4 simples pasos para crear una App más que divertida Open-mouthed smile

Saludos @ Toronto

-El Bruno

References

Advertisements

#Coding4Fun – Cognitive Services, What’s there? la App

Hola !

Es momento de agregar un nuevo video a la serie en Channel9 de Coding4Fun. El video de hoy está basado en una pregunta de Valentino (mi enano). Le ha llamado la atención que, desde que llegamos a Toronto, no me he dedicado mucho a los robots ni a los devices tipo Raspberry PI.

Le expliqué, que por una cuestión seguridad, esos devices quedaron en Europa. Pero que en estos días estuve dedicando mucho tiempo a conocer la plataforma de producto de Microsoft Data Analytics y además todo lo nuevo de Cognitive Services. Como era de esperar, no entendió nada de lo que le dije, así que le mostré el video de Seeing AI app.Y luego le mostré como podíamos crear una Windows Universal App con la misma funcionalidad para utilizarla en un smartphone con Windows 10.

Así que, después de esto, fue casi una obligación grabar un video de 15 minutos y compartirlo en el blog.

Clipboard02

 

GitHub source code

Bonus feature

Saludos @ Toronto

-El Bruno

References

#Channel9 – #Coding4fun, ahora con #USB Hacking !!!

Hola !

Llega el momento de publicar mi segundo video en Channel9 para la serie de Coding4Fun, en este caso es un clásico: USB Hacking!

El formato del video es el que intentaré mantener en la serie: videos de no más de 15 minutos, con un recorrido end-to-end sobre un tema, demo incluida. El video de hoy me ha salido de solo 12 minutos, así que kudos para mi..

Después del video de BLE and Windows 10  ahora es momento de un clásico:

Crearemos una app con código C# para conectarnos a un dispositivo USB y luego leer y enviar información al mismo.

channel9

En la sección de referencias, están todos los materiales que presento en el video (hardware y software). Y claro, casi me olvido el link al Channel 9 video.

Github Source Code link

Saludos @ Toronto

-El Bruno

References

#Channel9 – My own #Coding4fun channel (so great!)

Hi !

Long story short: I’m far far away from the Spanish and Latin America community, so this year I’ll try to learn new ways to do some remote collaboration. My first action will be create short videos (~30 minutes) in Spanish and post them in Channel 9.

So the first one is a quick tour on how to create a Windows Universal App which connect with a Bluetooth Low Energy device.

Clipboard03

Note: I still don’t know how to add subtitles to the video. As soon as I learn, I’ll try to add English subtitles to the contents.

All the code for this posts will be available in GithHub https://github.com/elbruno/Channel9/tree/gh-pages/2016%2003%20BLE

Greetings @ Toronto

– El Bruno

References

#EVENT – Now in #Channel9 our #Talks4Kids videos, thanks!

Hi  !

I’ve already shared the materials I’ve used in the event (slides + source code), now is time to  watch all the sessions live in Channel9.

Big Disclaimer: All the sessions are in spanish.

Keynote Talks4Kids

Greetings @ Barcelona

-El Bruno

#EVENT – Ya en #channel9 los videos del #Talks4Kids

Hola !

Pues después de compartir los materiales del evento (slides + source code), ahora ya podemos ver todas las sesiones de Talks4Kids en Channel9.

A continuación el listado de sesiones:

Keynote Talks4Kids

Windows 10: La comunidad del core

Windows 10: La comunidad del core (Ruben Fernandez)

Ha llegado una nueva era a la tierra de Windows en la que la nueva comunidad del core pretende unir a todas las razas en pro de un objetivo común. Continuum el Gris usará toda su magia para facilitar la tarea a sus pequeños amigos. ¿Tendrá éxito en su nueva andadura?.

The Big Cloud Theory

The Big Cloud Theory (Alejandro Campos Magencio)

Nuestras apps necesitan un backend que les permita conectarse a cualquier tipo de datos, autenticar a nuestros usuarios con Directorio Activo o redes sociales como Facebook o Twitter, enviar notificaciones Push a cualquier tipo de dispositivo, y conectarse a sistemas empresariales como SAP, Sharepoint,…

Bailando con monos

Bailando con monos (Josue Yeray)

Una introducción a Xamarin desde un punto de vista realista, después de poner varias apps en producción con él. ¿Qué ventajas nos ofrece? ¿Qué desventajas tiene? ¿Qué problemas nos podemos encontrar? Veremos una app en producción para Windows Phone realizada con MVVMCross y con soporte a Xamarin Classic,…

Coding4Fun 2.4

Coding4Fun 2.4 (Bruno Capuano)

El título de la sesión lo dice todo, “vamos a divertirnos”. No entraremos en detalles técnicos, ni en la historia y evolución de la informática; simplemente veremos cosas divertidas que podemos hacer programando Windows 10 apps con C#. En esta versión 2.4 veremos como podemos jugar con BLE…

Consejos Heisenberg para conseguir Apps Windows 10 con 99% de pureza

Consejos Heisenberg para conseguir Apps Windows 10 con 99% de pureza (Javier Suarez)

Si quieres conseguir Apps con un 99% de pureza, no puedes perderte los consejos Heisenberg básicos como continuar trabajando duro aun cuando nadie te ve, a veces es importante, ofrecer a terceros servicios de calidad o la importancia de la colaboración. Jesse Pinkman es un estúpido pero no hubiera llegado…

El lado oscuro de la nube

El lado oscuro de la nube (Alberto Diaz Martin)

El poder de la fuerza llega para dominar Azure y alejarla del lado oscuro. Veremos ejemplos de cómo montar un Youtube en Azure Media Services o como buscar en nuestros blogs de WordPress usando el servicio de búsqueda de Azure. Todo para canalizar el poder de la fuerza y conseguir un mundo mejor.

MvvMCross para gobernarlos a todos

MvvMCross para gobernarlos a todos (Rafa Serna)

Hubo un tiempo en el que los grandes elfos crearon ObjetiveC para desarrollar en iOS. También los señores enanos inventaron Java y de esa forma desarrollar para su sistema Android. Incluso los reyes humanos tenían C# y XAML para crear maginificas aplicaciones para entornos Windows. Pero llegó el señor…

Por qué los Espartanos molan y Gerges debe morir

Por qué los Espartanos molan y Gerges debe morir (Santiago Porras)

Descubre por qué un buen planteamiento del diseño de Apps es importante para tener éxito en la conquista de las Stores y cómo llevarlo a cabo en Apps de la plataforma Windows.

Confía en la fuerza Luke

Confía en la fuerza Luke (Ciani Alfonso)

Destruye el hard-coding de tu UI, confía en la fuerza y deja que esta fluya para lograr una interface de usuario adaptativa. Desde iOS 6.0 ya podemos usar los constrains tanto desde storyboards como por código, esta charla será una breve introducción a cómo usarlas y destruir el hard-coding de tu UI…

 

Saludos @ Barcelona

-El Bruno

#EVENT- Materiales del #webcast Windows 10 Developer Readiness by MVPs #IoT #MVPbuzz

Hola!

Hoy he actualizado a la version RTM de Windows 10 y que mejor momento que este para compartir los materiales que usamos en el webcast de presentacion de capacidades de Windows 10 para desarrolladores. En mi caso, me hice cargo de la sección de Internet of Things.

El webcast se puede ver en este link https://channel9.msdn.com/Events/MVP-Virtual-Conference/Windows-10-Developer-Readiness-Powered-by-MVPs/Spain; la parte de IoT comienza a partir de 01:55:00.

Se pueden ver mis slides en

Y el código Fuente de las demos de la session está disponible en GitHub en https://github.com/elbruno/events/tree/master/2015%2006%2011%20Windows%2010%20Developer%20Readiness%20by%20MVPs/WuaRpi01

Mañana un poco más de Windows 10 con los amigos de TLP-Innova 😉

Saludos @ Tenerife

/El Bruno