Augmented Reality Map Application - part 1
Sep 23, 2019
The month of September so far was very busy with preparations for Valley DevFest, which this year—after 5 previous editions in October—took place in September. The conference website has been my usual responsibility since 2016. Every year, I either gave some talks or held all-day codelabs or study jams. Two years ago, I got some feedback from a good friend that the website responsibilities took enough of a toll on me that it probably affected the quality of my talks. So for the last several DevFests and IWDC conferences, I instead focused on facilitating codelabs and study jams. These last all day, but I could hold up better by relying on my experience.
Usually, I end up pulling all-nighters before conferences for various reasons. I always enhance the conference website: in 2016, we had Spanish, Hmong, and Arabic localization, and I developed session feedback controls, since feedback is extremely important. In 2017, I also developed an Androidify application (derived from GDG Riga’s work; I contributed back to the upstream repository those changes that weren’t specific to my app). I wanted the audience to engage and add their own personalized Android avatar to our website. So I integrated the Androidify application with our Firebase back-end and listed the audience’s avatars on a dedicated page of the website. To serve the iPhone users, I also developed a Polymer-based web avatar editor, which got hooked up to the same Firebase back-end. Up to that time, we used the GDG Lviv-backed Hoverboard conference codebase with a lot of my customizations.
Last year, I enhanced the Delorean v2 project to handle multiple localizations. Since our main goal was supporting diversity, we had a separate Spanish track and the website had to have Spanish localization. I also added means to be able to order the sections and sessions. This year, I wanted to make an Augmented Reality application for the attendees so they could find their way around more easily, mainly to find the classrooms for their talks.
This is not my original idea. During Google I/O 2019, there were special images placed on several informational boards around the conference site. When someone scanned those images with the conference app, an Augmented Reality experience kicked in, and you could see which tent was in which direction in a very intuitive way. The Google I/O conference tent area is fairly large, and although this was my fourth year, sometimes I had some difficulty finding the exact direction. I was fiddling with the app after lunchtime one day, when a Googler approached me, asking how I liked the app. I clearly remember that the person had a slight French accent, and it was very nice of him to chat with me. It turned out that he was one of the main developers behind this app. I was starstruck. Only later, when I replayed our conversation in my head, did I realize that he was none other than Romain Guy! One of the main dudes behind Sceneform, ARCore, and Filament! Every time I think about this, I facepalm at why I didn’t talk more with him.
Although Bitwise South Stadium (BWSS) — the usual venue of Valley DevFest (feel free to explore the late venue through our BWSS 360° virtual tour) — is not as large as the Shoreline Amphitheater tent area, we still have 5 classrooms (6 back in the past), and it’s not necessarily that evident which classroom is where. I started to read about Sceneform SDK months before. I had a concept in my head and I started some active work two days before the conference. Of course, this resulted in a preliminary application submission at 3 AM on the day of the conference.
After jumping through some hoops, the application got accepted. Here is the "promo" video showing the app in action:
This browser does not support the YouTube video player. Watch on YouTube
Valley DevFest 2019 Augmented Reality Map demo and promo video.
Here are the main pointers:
Although the app was accepted a little late for the conference, it will make an extremely good monthly talk, and it can be enhanced in many ways. I’ll get into more details in a follow-up blog post.