Producer/Sound Designer: Axel Arth
Programmers: Rey (Ruili) Tang, Atul Goel (Me)
UI/UX: Yanran (Yvette) Han
Duration: 16 weeks
Working with Google’s Experience Studio team, Playgrounds consists of six cross-disciplinary team members tasked with designing Google Assistant driven experiences for Google Experience Centers.
We created an experience using Google Assistant to help the guest decide a drink. We also used lights, visual and sound cues to convey Assistant’s quirky personality.
This was our final deliverable.
On the technical side, I had to work with Dialogflow, which is a technology by Google to design conversational apps for Assistant. It comes with machine learning and speech recognition built-in. I had to design a framework so that programmers, writers and artists could work simultaneously and independently.
In addition to Dialogflow, we weer given access to Canvas API while it was still in development. This was an opportunity to work on cutting edge technology and our friends at Google to use our feedback during the development of the product. As it was still in beta, it had a few rough corners where it would drop a lot of data.
The entire Dialoglflow project was hosted on Firebase for compatibility with Google’s existing architecture. Firebase worked seamlessly to store our database for text, images and sound effects. This was also user-friendly, so our content creators and designers could change the data in realtime without any help from the programmers.
Halfway through the process we realized that the lights will not work since they are on an internal non-SSL network. I had to design an intermediate proxy server that was able to bridge the gap between SSL and non-SSL network. All this server did was listen to POST requests, parse it and make another PUT request. Although it was very simple, I am very proud of this part of the project. It was a great learning experience for me.
We also designed a way for our Firebase code to control the lights. Since we were using a huge database of colors, we had to come with a format so make sure that these can be changed on the go by the designers. The Philips Hue lights that we were using used proprietary values for its colors, so I designed a simple Java program to normalize the commonly used RGB values into something that the Philips lights could understand. Finally, we were also overloading the Philips lights server, causing it to drop messages. This was encountered by having more than one server and distributing the load accordingly.
Our wonderful producer Axel Arth maintained a detailed blog highlighting our weekly achievements. Please find it here: Our Weekly Blog