#Hololens – #Holotoolkik, amazing set of assets to create #Unity3D apps for Hololens

Hello!

Today I change 2D for 3D dev and Visual Studio 2015 / UWP by Unity. When you start working with Unity3D and Hololens, you should know about HoloToolkit.
The Microsoft Hololens product team has created and shared HoloToolkit, which is a set of assets which provide features such as spatial mapping, client / server support to share holograms among multiple users, cursors, gestures features, and more.

It is fairly easy to install a Unity project:

Clipboard01

  • Copy the contents downloaded from […\HoloToolkit-Unity-master\Assets\] to the [Assets] folder in the new project
  • And after Unity process those changes, we can begin to use the new assets.

Clipboard03

Obviously, we need to do some extra clean up, and remove the folder [HoloToolkit-Examples]. Although this is a good resource to use as reference of use of some assets.

This weekend I will end up published my 1st App in the store for the Hololens and the coming week I will continue posting on the matter!

Greetings @ Toronto

El Bruno

References

#Hololens – #HoloToolKit, imprescindible colección de Assets para crear Hololens Apps

Hola !

Hoy cambio el 2D por el 3D y Visual Studio 2015 y UWP por Unity. Y claro, cuando comienzas a trabajar con Unity3D para Hololens, una de las cosas que debes conocer es HoloToolkit

El equipo de producto de Hololens ha creado HoloToolkit, que es un set de assets que proveen funcionalidades como spatial mapping, soporte cliente / servidor para compartir hologramas entre varios usuarios, cursores, manejo del gestos, y más.

Es bastante fácil de instalar un proyecto Unity :

Clipboard01

  • Copiamos el contenido descargado de [..\HoloToolkit-Unity-master\Assets\] a la carpeta [Assets] de nuestro proyecto
  • Y después de que Unity procese los cambios, ya podemos comenzar a utilizar los assets agregados.

Clipboard03

Obviamente, en este punto hay que limpiar un poco, y eliminar la carpeta [HoloToolkit-Examples], aunque es un buen recurso para tener en cuenta como referencia de uso de algunos assets.

Este fin de semana terminaré de publicar mi 1ra App en el store para las Hololens y la semana que viene seguiré posteando al respecto!

Saludos @ Toronto

El Bruno

References

#Opinion – Technical Communities really Rocks !!!

Hello!

Today posts is a big THANKS to the excellent technical communities of which I am part. 

Thanks Technical Communities

Let me start with a bit of context

  • When I came to Canada and started with the podcast (link), I didn’t expected to have much success. I do not measure the success with the listeners of each episode, but rather by the feedback of the people. By now is great!
  • Between this feedback, there are people who also makes requests or suggest topics. A few days ago someone (keep it anonymous), asked me to add at some point DotNetCore and PowerShell in linux as topics for the podcast.
  • I asked if he wanted to engage with these issues, and I responded that No, that did not have the level.
  • And here it all began

And now the timeline of the events

  • Yesterday morning I put a tweet asking if anyone was interested in talking about these issues

  • Shortly afterwards, Jorge Cupi (@JorgeCupi) from Ecuador puts me in contact with JuanK Ruiz (@JuanKRuiz) from Colombia. They both works in Microsoft.

  • JunaK added to the thread a couple of technical communities cracks Julio Avellaneda (@julitogtu), Nicolas Herrera (@nicolocodev) and Matias Quaranta (@ealsur)

  • A couple of minutes later, I’ve coordinated with Julio Avellaneda (@julitogtu) y Nicolas Herrera (@nicolocodev) to record a podcast next week !
  • And as a bonus, Matias Quaranta (@ealsur) makes me aware of an initiative for technical communities of ASP.Net and .Net in general which is great! It will be public perhaps next week !
  • So today, after running a couple of miles, I finished the cycle with a thank you
    Thanks !

Greetings @ Toronto

El Bruno

References

#Opinión – El poder de las comunidades técnicas: Gracias }:)

Hola !

El post de hoy es un gran GRACIAS a la excelente comunidad técnica de la que soy parte.

Thanks Technical Communities

Comienzo con un poco de contexto

  • Cuando llegué a Canadá y empecé con el podcast (link), la verdad es que no esperaba que tuviese mucho éxito. En mi caso, no mido esto por las escuchas de cada episodio, sino más bien por el feedback de la gente. Por ahora es genial !
  • Entre este feedback, hay gente que además hace peticiones o sugiere temas. Hace unos días, alguien (lo mantendré anónimo), me preguntó si hablaría en algún momento de DotNetCore y de PowerShell en linux.
  • Le pregunté si quería participar con esos temas, y me respondió que No, que no tenía el nivel. Y aquí comenzó todo

Y ahora el timeline de los eventos

  • Ayer por la mañana pongo un tweet preguntando si alguien estaba interesado en hablar de estos temas

  • Poco después, Jorge Cupi (@JorgeCupi) de Ecuador me pone en contacto con JuanK Ruiz (@JuanKRuiz) de Colombia. Un detalle ambos trabajan para Microsoft.

  • JuanK agrega al thread a un par de cracks de las comunidades Julio Avellaneda (@julitogtu), Nicolas Herrera (@nicolocodev) y Matias Quaranta (@ealsur)

  • Minutos después he coordinado con Julio Avellaneda (@julitogtu) y Nicolas Herrera (@nicolocodev) para grabar un podcast la semana que viene !
  • Y como bonus, Matias Quaranta (@ealsur) me pone al tanto de una iniciativa para las comunidades técnicas de ASP.Net y .Net en general que está genial !!! Saldrá a la luz tal vez, la semana que viene y pinta genial !!!
  • Así que hoy, después de correr un par de kilómetros, terminé el ciclo con un GRACIAS

Saludos @ Toronto

El Bruno

References

#Hololens – Some APIs will work, other no, and there is no easy way to find it :S

Hello!

It is time to begin to share some experiences developing for Hololens. This post is related to UWP Apps, general base for all devices in Windows 10 family.

While have a base common of features in all the devices, for some features is a good practice to validate if the functionalities are implemented or not in each type of device.

As well, according to the article [Dynamically detecting features with API contracts (10 by 10)], the right way to do this is using the ApiInformation class. The example shared bu the Windows Dev Center team is very easy to read and understand:

using Windows.Foundation.Metadata;

if (ApiInformation.IsTypePresent(“Windows.Media.Playlists.Playlist”))
{
await myAwesomePlaylist.SaveAsAsync( … );
}

The code is self explanatory, if we can use the APIs of Playlist, we have everything ready to go on. In the Hololens scenario, this works very well. Some features like Print or Share, that are not directly available on the platform.
However, we must be careful here. In example: What happens if we want to access the camera from the Hololens and use the CameraCaptureUI class? This class we have an option to see in time real the feed of the camera and take a photo on this.

Note: I know is an inconsistency to use this in the Hololens. Camera will always show what they are seeing. However as an example for the post it comes great!

So, if we use CameraCaptureUI we’ll have the following steps in Hololens:

  • The API CameraCaptureUI will be returned as available in Hololens
  • When we use it, Windows 10 will suggests us to download an app from the Store for this
  • What?

Here is a live sample:

2016 08 23 Hololens CameraCaptureUi

Using this sample code:

Clipboard02

So, for this scenario, validate the availability of an API is not working. Here comes the time of go for an ungly solution

Use AnalyticsInfo.VersionInfo.DeviceFamily to see the type of device where the app is running. In the case of the Hololens this property returns “Windows.Holographic”.

This solution works. And I know, I add a BIG NOTE: As soon as UWP has a better way to validate this type of scenarios, this feature and evidence must be eliminated!

Clipboard06

A kitten and 2 unicorns less thanks to 5 lines of code! Sorry about that😦

Greetings @ Toronto

El Bruno

References

#Hololens – Validando APIs que funcionan pero que no funcionan :S

Hola !

Es momento de comenzar a compartir algunas experiencias desarrollando para Hololens. Este caso es relacionado con UWP Apps, la base general de apps para todos los devices Windows 10.

Si bien tenemos una base común de features en todos los devices, para algunas cosas es recomendable validar si las funcionalidades están implementadas o no en un tipo especial de dispositivo.

Pues bien, según el artículo [Dynamically detecting features with API contracts (10 by 10)], la forma correcta de hacer esto es utilizando la clase ApiInformation. El ejemplo que nos comparte el equipo de Windows Dev Center es el siguiente:

using Windows.Foundation.Metadata;

if (ApiInformation.IsTypePresent(“Windows.Media.Playlists.Playlist”))
{
await myAwesomePlaylist.SaveAsAsync( … );
}

El código es bastante auto explicativo, si podemos utilizar las APIs de Playlist, pues … tenemos todo listo para seguir. En el caso de las Hololens, esto funciona muy bien, con opciones como Print o Share, que directamente no están disponibles en la plataforma.

Sin embargo, no es oro todo lo que reluce. ¿Qué sucede si queremos acceder a la cámara de las Hololens y utilizar la clase CameraCaptureUI? Esta clase nos brinda una opción para poder ver en tiempo real el feed de la cámara y sacar una foto sobre el mismo.

Aclaración: Es una incoherencia usar esto en las Hololens, lo sé. La cámara mostrará siempre lo que estemos viendo. Sin embargo como ejemplo para el post me viene genial!

Pues bien, cuando utilizamos CameraCaptureUI tenemos el siguiente funcionamiento en las Hololens:

  • La API CameraCaptureUI está disponible en Hololens
  • Al momento de utilizarla, Windows 10 nos sugiere la opción de descargar una app de la Store para esto
  • What ???

Aquí en funcionamiento:

2016 08 23 Hololens CameraCaptureUi

Sobre este código:

Clipboard02

O sea que, en este caso, validar la disponibilidad de una API no sirve. Llega el momento de utilizar una mala práctica

Utilizar AnalyticsInfo.VersionInfo.DeviceFamily para ver el tipo de dispositivo en el que se está corriendo la App. En el caso de las Hololens esta propiedad retorna “Windows.Holographic“.

Esta solución es una de las posibles, y por ahora la que funciona. Eso sí, apuntando que en cuanto UWP posea una mejor forma de validar este tipo de escenarios, esta función y  sus pruebas deben ser eliminadas!

Clipboard06

Un gatito y 2 unicornios menos gracias a 5 líneas de código !

Saludos @ Toronto

El Bruno

References

#Hololens – Device Portal basic features for developers

Hello!

Yesterday I wrote a post with the 2 main options to turn off or restart the Hololens. In a incredible mistake, I forgot to share some options in the Hololens Device Portal. As a memory reminder:

Device Portal is a feature available for all Windows 10 versions and it can be used once we enabled the  Developer mode.

According to the MSDN documentation these are the features for each Windows 10 flavor:

 

DEVICE FAMILY ON BY DEFAULT? HTTP HTTPS USB
HoloLens Yes, in Dev Mode 80 (default) 443 (default) localhost:10080
IoT Yes, in Dev Mode 8080 Enable via regkey N/A
Xbox Enable inside Dev Mode Disabled 11443 N/A
Desktop Enable inside Dev Mode Random > 50,000 (xx080) Random > 50,000 (xx443) N/A
Phone Enable inside Dev Mode 80 443 localhost:10080

In the Hololens device we found some very interesting features such as the ability to see real-time tracking of the device

2016 08 22 Hololens Tracking Debug Mode

A real time streaming of the device camera. And also, apps sounds, microphone and the holograms.

Clipboard01

We can also, make some network configuration, see the debugging options and as a complement to yesterday’s post we can shutdown or reboot the device from the web portal.

Clipboard02

Greetings @ Toronto

El Bruno

References

#Hololens – Revision del Device Portal

Hola !

Ayer comenté 2 opciones para apagar o reiniciar las Hololens. En realidad me quedó una por comentar que es la que nos dá el Device Portal. El Device Portal es una feature que tienen todas las versiones de Windows 10 y que podemos utilizar una vez activado el modo Developer.

Segun la documentación oficial de MSDN, estas son las especificacones propias para cada de devices:

Device family On by default? HTTP HTTPS USB
HoloLens Yes, in Dev Mode 80 (default) 443 (default) localhost:10080
IoT Yes, in Dev Mode 8080 Enable via regkey N/A
Xbox Enable inside Dev Mode Disabled 11443 N/A
Desktop Enable inside Dev Mode Random > 50,000 (xx080) Random > 50,000 (xx443) N/A
Phone Enable inside Dev Mode 80 443 localhost:10080

Pues bien en el caso de las Hololens, tenemos algunas features muy interesantes como la capacidad de ver en tiempo real el tracking del device

2016 08 22 Hololens Tracking Debug Mode

Un streaming en tiempo real de la cámara del device. Además de los sonidos de las apps, del micrófono y los hologramas.

Clipboard01

Podemos además, configurar las redes, ver las opciones de depuración y como complemento para el post de ayer podemos apagar o reiniciar el device desde el portal web.

Clipboard02

Saludos @ Toronto

El Bruno

References

#Hololens – Shutdown or Restart, maybe is not that easy

Hi !

The new way to interact with devices is basically taking off the keyboard and mouse, and incorporate new stuff like gestures, voice commands and very big changes in the interface commands. Al these changes are great but some easy things as a Shutdown or a Restart are not trivial are they used to be.

Lucky for us, Hololens is still Windows 10. So somewhere inside the device is still the idea of Shutdown or Restart. For example, when we enable the Developer mode, the device tell us these changes only apply after restarting the device.

Well, the simple way to make a Shutdown of the device is to press 4 seconds the back button. This is something we can read on the developers page at Turn HoloLens off and on

image

If you’re working in Developer mode, maybe you got a new option. Surely you have already installed the Microsoft HoloLens app  (https://www.microsoft.com/store/apps/9nblggh4qwnx) This app gives us the possibility to connect and interacti to the device

image

In the Device Info section, we now have the Shutdown or Restart options

image

It is not the most trivial, but it works!

Greetings @ Toronto

El Bruno

References

#Hololens – Shutdown o Restart, no es tan facil como parece

Hola !

El nuevo paradigma de interfaces que se van despegando del teclado y mouse, e incorporan gestos, comandos de voz y grandes cambios en la interfaz, hace que cosas tan simple como un Shutdown o un Restart no sean triviales.

Lo bueno de las Hololens es que siguen siendo Windows 10, o sea que por detrás sigue existiendo la idea de Shutdown o Restart. Por ejemplo, cuando habilitamos el modo Developer, el device nos comunica que esos cambios solo se aplicarán después de reiniciar el device.

Pues bien, la forma simple de hacer un Shutdown del device es presionar durante 4 segundos el botón que tiene detrás. Esto nos lo comunican en la página de desarrolladores en Turn HoloLens off and on

image

Otra opción se nos presenta si estas trabajando en modo Developer. Seguramente ya has instalado la app Microsoft HoloLens (https://www.microsoft.com/store/apps/9nblggh4qwnx) que nos brinda la posibildad de conectarnos al device e interactuar con el mismo

image

Pues bien, en la sección Device Info, tenemos las opciones de un Shutdown o un Restart

image

No es lo más trivial, pero funciona !

Saludos @ Toronto

El Bruno

References