#Opinion – Your vacuum will be your #AR device ! Augmenting #ARKit, #ARCore and #MixedReality

Hi !

I have very good memories about the times when I used to speak in events about Microsoft Robotics. It was the year 2006 and my girl make give me the best present ever: Lego Mindstorm NXT. I’ve spend hours and hours with the Lego and also playing around with Visual Studio try to control my bot using C#. (During those days I really learn about the Microsoft approach to Bluetooth) Microsoft Robotics supported several types of bots, however the most popular ones were Lego Mindstorms and the popular  Roomba vacuum. Yes, roomba used to have a special model with Bluetooth connectivity and, you know, hack the bluetooth, hack the world! You can control the Roomba using Microsoft Robotics.

Of course, once you were there, the next step was to get a 2nd Roomba vacuum and prepare a Sumo fight between the 2 devices. I think it was in TechEd 2008 when it took place the final of Microsoft Robotics challenge, I was lucky enough to be there as an attendee.


In this line, you are probably thinking: vacuums? bots? how this is related to Augmented Reality? Bruno finally lost it.

Let’s get back a little to the AR world. Most of the AR SDKs relies on some type of sensors to create a model of the surrounding environment. In ARKit and ARCore this is supported by the camera and the motion sensors, in other devices and SDKs you can also have depth sensors.

And what happens if we add information of external sensors into the process of the creation, analysis or exploration of the surrounding 3D model ? Why not use external sensors, whose who can make a Full scan of the indoors of a house? Take a look at this video.

If the SDK can somehow detect “where it is” and make a request to a 3rd party service for a 3D model of the current environment this will be a huge advance. The chance to use this information as an external capability to our mapping process will be a big advance. Today in the AR world, the tracking / mapping is one of the main challenges for all the players (Apple, Microsoft, Google, Facebook, etc …)

Note: Of course, once you have the map, you need to understand “where are you inside the map”, and this is not an easy task. Today we see this as the “lost tracking” scenario, but this is just an idea for the near future.

There are plenty of paths to take from here. In our Avanade TechVision 2017, we constantly suggest our clients to take advantage of the amazing ecosystem of services we have around. I’m sure we didn’t think about using information from a vacuum to be used in a Mixed Reality experience !

Happy Coding!

Greetings @ Burlington

El Bruno



#Opinion – Tu #ARKit, #ARCore y #MixedReality apoyados en … tu aspiradora!


Siempre recuerdo con cariño los años en los que daba charlas sobre Microsoft Robotics. Allá por el año 2006 mi chica me regalo un Lego Mindstorm NTX y con el mismo recorrí casi toda España dando charlas de sobre esta tecnología. Si bien Microsoft Robotics permitía trabajar con diferentes robots, los más utilizados eran Lego Mindstorms y las aspiradoras Roomba. Éstas últimas poseían La capacidad de conectarse por Bluetooth con un ordenador y de esta forma era posible utilizar Microsoft Robotics.

Obviamente, una vez que tenías una aspiradora Roomba, lo siguiente era conseguir una segunda aspiradora y comenzar hacer lucha de Sumo entre ambas. Creo que fue en el TechEd 2008 donde se celebró la final mundial de luchas de sumo y tuve la suerte de verla en vivo.


Y seguramente ahora piensas que al Bruno se le fue la cabeza, por qué tiene que ver esto con los kits de Realidad Aumentada de Apple, Android y Microsoft. Pues bien, Hoy por hoy, estos SDKs dependen de que el dispositivo sobre el que se están utilizando tenga algún tipo de sensor para realizar un Mapping del entorno. Pero qué pasaría si, además de la información de estos sensores, se pudiese agregar más información adicional desde otros Devices ¿Por qué no contar con sensores “externos” que puedan hacer un mapeo completo de una casa? Atención al siguiente vídeo.

Sí de alguna forma el SDK pudiese tener una idea de “dónde está” y con esto solicitar información a un servicio de 3ros, pues esto podría ser bastante útil. Porque no utilizar esta información adicional y también utilizar estos límites para tener un mejor modelo 3D del entorno donde posicionemos nuestros hologramas.

Como siempre, las posibilidades son infinitas y, siguiendo una de las premisas de nuestro Avanade TechVision 2017, todo pasa por saber cómo moverse y utilizar servicios en este nuevo ecosistema de servicios. En este caso, integrar información de una aspiradora en un SDK de Realidad Aumentada. ¡Ahí queda la idea para el fin de semana!

Happy Coding!

Saludos @ Burlington

El Bruno


#Opinion – How will #ARKit and #ARCore impact on #MixedReality (2017 is still on fire!)


Hi !

One year ago I wrote a post where I share my opinions on how important is to invest on learn 3D skills if you are a developer. In my own scenario, this was forced by the fact that I want to really understand the process of “create a Hololens App”, so I invested lot of time upgrading myself to this. Also, the bet is not for today, is for the near future (check references).

A few months ago during the Apple Developers Conference, Apple released their SDK to create Augmented Reality Apps: ARKit. ARKit allows us to get some data from the camera, and phone sensors and with this information we can position and build 3D elements in our surrounding environment. If you go deeper, the way that this SDK works is very interesting. I’ll try to explain this in the way I usually understand things (in a very simple way).

It all starts with the information received by the camera, and motion sensors. Using this information, ARKit defines a couple of anchor points or reference points in the camera FOV. The big difference with Hololens, resides in that ARKit does not create a 3D model of the environment, it allows an App to anchor 3D objects in the space, and then it performs some crazy calculation every time the phone moves to get new perspective, size and location of the 3D object. A good way to describe this is, think on what if Pokemon Go was really good in the AR space.

So, that’s it on ARKit, take a look at the references for more.


And now ARCore is here. But to understand this we need to go back a little on time and start with another amazing Google project: Project Tango. Project Tango works on devices (tablets and smart phones) in which we have the standard sensors: camera and motion sensors, and we also have a depth sensor. Using this sources, Project Tango was able to create a virtual 3D model of the environment, and later we can position, build and draw 3D objects on it.

It’s really cool, however, as I commented before, it only works on specific devices, the ones with the additional sensor. And, to avoid the need of this extra sensor, Google presented ARCore. Again, let me try to explain how ARCore works

ARCore is like ARKit, but for Android. That’s it.

Note: Project Tango is still there and evolving, and ARCore focus is different, but I like to present this in this way.

Both platforms, ARKit and ARCore are great as a ramp up to create Augmented Reality Apps. Of course, the final Apps are not going to be as amazing as the one created on AR Devices, but Apple and Google right now have a big advantage on their competition: they can reach to millions of phones to run this Apps without the need of an additional hardware (keep this thought).

This is important, very important. We can take some previous experiences on how other organizations are making the entrance on this AR/VR world. It’s time to review the Mixed Reality history in Flash mode.

  • It all started on 2015 when Microsoft presented Hololens.
  • Until today, there is no competition for Hololens as a single Mixed Reality Experience, wireless device. But, to you need to save $4000 to get the device, price is a constraint.
  • During the past 3 years, there was a lot of advances and great news:
    • The development tools have become more and more powerful. Microsoft choose Unity3D as main tool for design and build of mixed reality Apps and this open the door for a big community of developers, gamers and more.
    • The “price problem” was solved with an interesting approach. Instead of spending $4K on a device, you can get much cheaper Mixed Reality headsets, and you need a PC to use them. They starts on $300.
    • Microsoft is creating cool partnerships, like the one with Steam. Think about all the experience SteamVR have on this field.
    • Microsoft have acquired Minecraft. I think this is with the goal to hit the table and release something amazing based on Minecraft VR, looking for the Wow effect!

And this is great, and as long term plan it makes sense. However, in less than 2 months Apple and Google have also open this market to millions of phone users, and without the need of an extra device (thanks for keeping the thought) and now it’s all in the hands of the people who creates Apps.

Another important one. There are thousands of companies and people building Apps for iPhone and Android. If they start to play around with this new technologies, for sure, we will have something amazing between all the crap which is also going to be generated. Again, the experience using ARKit or ARCore, is not as the ones you get when you use a dedicated device, but we don’t need to underestimate this.

Note: And now it’s time to talk to you my friend, the one who complained about the small Hololens FOV. What do you think now about the new FOV with a 6” device? and when you need it to move with your hand?


At the end, there is also a bright side here. If you invested time to learn 3D, in something like in example Unity3D, now you can create Apps for any of this platforms using Unity3D. I’m assuming that the porting between platforms will be some kind of easy, with “light” versions of Apps for iPhone and Android, and much more powerful version of the same App for specific devices like Oculus Rift, HTC Vive or any one of the Windows 10 Mixed Reality Devices.

As I said one year ago, amazing times are coming!

Greetings @ Toronto

El Bruno


#Opinion – Como afectan #ARKit y #ARCore a #MixedReality (el 2017 sigue con todo!)



Hace aproximadamente un año escribí un post donde comentaba que este es un excelente momento para comenzar a formase en temas relacionados con 3D. En mi caso en particular era por la necesidad de ponerme al día para crear soluciones para Hololens, sin embargo, la apuesta es a largo plazo (ver referencias).

Hace unos meses Apple presentó su SDK para desarrollo de Augmented Reality Apps durante su conferencia anual de desarrolladores. Se trata de ARKit y permite trabajar con datos de la cámara y sensores del teléfono para poder dibujar y posicionar objetos en el espacio 3D. La forma en la que trabaja es interesante, voy a intentar explicarlo, así como lo entiendo yo que soy muy simple (simple como un cubo).

Todo comienza con la información que se recibe desde la cámara y de los sensores de movimiento. Con esta información, ARKit encuentra un par de puntos de referencia en el FOV de la cámara. A diferencia de Hololens ARKit no crea un modelo en 3D del espacio que apunta la cámara, sino que permite anclar objetos en el espacio y luego a medida que el teléfono se mueve, se recalcula la posición, tamaño y perspectiva de estos objetos. Lo mejor es recordar a Pokemon Go y pensar en que hubiese pasado si la parte de AR hubiese estado bien hecha.

Y hasta aquí ARKit, si quieres más, revisa las referencias.


En el otro lado del tablero están los amigos de Google, que desde hace bastante tiempo están impulsando su Project Tango. Project Tango funciona con Devices (tablets y smartphones) en los que además de la cámara, hay un sensor de profundidad. Utilizando la información de cámara, sensores de movimiento y sensores de profundidad, Project Tango permitía crear un modelo 3D del ambiente y en este modelo se podían crear / dibujar objetos 3D.

Esto es genial, sin embargo, como comenté antes, esto solo funciona en Devices con sensor de profundidad. ARCore viene a solucionar esto. Como hice antes, voy a intentar explicar ARCore de la forma en la que lo entiendo yo

ARCore es como ARKit, pero para Android, listo.

La verdad es que ambas plataformas son geniales como un rampup para crear Augmented Reality Apps. Hay que dar por sentado que las mismas no serán tan espectaculares como las apps que se crear en Devices especializados, pero tanto Apple como Google tienen una ventaja que los demás no tienen: millones de teléfonos pueden ejecutar estas AR Apps hoy, si necesidad de comprar ningún device adicional.

Y esto es importante, muy importante, mas aun si vemos la forma en la otros competidores (Microsoft quiza) han entrado en estos mercados. Revisemos por ejemplo la historia de Mixed Reality, en modo light.

  • Todo empieza allá por el 2015 cuando Microsoft presenta Hololenes.
  • Hasta el día de hoy, Hololens no tiene competencia, sin embargo, el precio de entrada es un problema. En mi caso particular, hay quincenas en las que no puedo ahorrar $4000 para comprame unas Hololens
  • Durante estos 3 años se ha trabajado y avanzado mucho, Microsoft:
    • Ha madurado mucho las herramientas de desarrollo. Ha escogido una plataforma muy popular como Unity3D para realizar la parte visual del trabajo de desarrollo y creación de MR Apps.
    • Ha compensado el precio de entrada, realizando partnerships on fabricantes de hardware que crean dispositivos de VR a partir de $300.
    • Se ha asociado con Steam, para aprovechar el tirón y experiencia de SteamVR en el mundo de la realidad Virtual.
    • Ha comprado Minecraft con la esperanza de dar un golpe en la mesa, en algún momento Minecraft VR será un Wow!

Todo esto es genial, y como plan de adopción en un par de años tiene sentido. Sin embargo, Apple y Google han llegado a millones de usuarios en menos de 2 meses y ahora todo queda en manos de los desarrolladores de Apps. Este es otro punto importante, hay tantas empresas y personas creando apps para iPhone y Android, que seguramente entre toda la montaña de cosas inútiles (por no decir mierda) que se cree con ARKit y ARCore, algo bueno saldrá.

Nota: A ti amigo fanboy que te quejabas del FOV de Hololens, a ver que dices ahora de tener un smartphone con tu mano y una cámara de 6 pulgadas como entrada al mundo virtual. In your face!


Aunque esto tiene también un lado positivo. Si has invertido tiempo en aprender Unity3D, pues ahora ya puedes crear Apps para las 3 plataformas solo utilizando Unity3D. El porting entre plataformas no debería ser muy complicado. Es muy probable que veamos versiones “light” de Apps para iPhone y Android, y luego versiones más completas para Oculus Rift, HTC Vive o algún Mixed Reality Device.

Lo dicho, se vienen tiempos interesantes!

Saludos @ Toronto

El Bruno