By: Robert Nordan
TableMap is a desktop and mobile AR experience built with Tango and our Maps for Unity SDK that allows users to visualize map data on any surface as if it was a physical tabletop model. The project was a fun challenge for Norkart’s 2017 summer interns who wanted to make modeling landscapes more efficient. Robert Nordan, of Norkart, tells us how they built it.
Where did the idea for TableMap come from?
We’ve been excited about the possibilities of Tango both in terms of the AR experience and the depth sensing part of the hardware. The idea for TableMap came to us one day when we were talking about how great tabletop landscape models are for visualising and discussing things, but how long it takes to create one, even with 3D printing.
What do you see as the advantage of AR for visualizing location data in this way?
The first big advantage is immediacy, in that people can relate to 3D models much easier than they can relate to flat maps; also being able to see it on a tabletop and walk around it makes it even less abstract. The second big advantage is that the extra cost in time and materials is zero, as compared to traditional tabletop models or 3D-printed models.
How did you build the desktop experience and mobile app for TableMap? How do the different pieces fit together?
The desktop experience is a website and a small API built with node.js, and it communicates with the mobile app via a Firebase database. On the webpage you set up presentations as a series of scenes with a location, zoom level, layers, and annotations. In the mobile app you log in with the same user and can start the presentation, and other users can connect to the same presentation as viewers. The presenter advances through the scenes and turns layers and annotations on and off, while the other users can only watch. It’s kind of like a three-dimensional Powerpoint presentation!
What were some of the challenges you faced throughout the project?
We spent a lot of time on the mathematics needed to recognize a table and cut the map area to fit it. That resulted in some trail-blazing, but we were able to reach out to Mapbox when we got stuck. It also helped that the Mapbox Unity SDK itself is open source. This made it easier to get a handle on the internals of functions and hack our way around some of the problems we faced.
Any new features you’re thinking of adding?
The project was limited to six weeks so we had to be strict about what features made it in. We do have a long wish list of additions — things like importing 3D models of proposed buildings; more interaction for viewers and presenters like being able to add markers to locations in real-time; and more fanciful things like weather effects driven by the current weather in the location.
Explore our Unity SDK documentation to begin building AR experiences into your Android apps. Need some ideas? Here’s a really cool open-source project from our Android team also built with Tango and Unity. Don’t forget to share what you build with us on Twitter using #BuiltWithMapbox.
Robert Nordan (@robpvn) | Twitter
AR landscapes on your table with Android: How I built it was originally published in Points of interest on Medium, where people are continuing the conversation by highlighting and responding to this story.