X

Google I/O 2017 App Source Code Released

Google has officially released the source code for the 2017 edition of the official Google I/O app. The source code is available freely on GitHub, sporting an Apache 2.0 license that allows free modification and forking of the app, even for commercial use, so long as the intellectual property rights of the Google brand are not infringed upon. This essentially means that somebody who wanted to could fork the Google I/O app’s various features to build them around their own focus. The Announcement of the source code release included a look into the app’s new features, showing off how much the app has grown since the 2016 edition.

One of the biggest changes from the 2016 app is a reservation system. It allowed attendees to join waitlists and reserve spots at parts of the event both before and during Google I/O, saving users the heartache of arriving at a panel only to learn that all the seats were gone. This feature made use of Firebase Real Time Database and Cloud Functions for Firebase, both of which had to be implemented on top of the ContentProvider abstraction layer that Google had been using previously in order to integrate with other data handlers within the app. This year’s app also included an hourly Feed function, allowing users who could not attend all the panels and workshops that they wanted to a glimpse at what was going on each hour, as well as those who couldn’t make it in person nor stay tuned to the live stream.

This is not Google’s first year opening up the source code to its official Google I/O event app, which means that users can compare the code between this app and last year’s to see not only how new features were implemented, but also how the core code differs from last year’s. There isn’t likely to be too much difference in that area since Google used the ContentProvider in the same way as in previous years, but being able to view and compare individual commits would provide those interested with some insight into how Google handles flagship projects and changes in the coding styles of those handling them