Google releases source code for I/O app 2018

July 11, 2025 Himangi Papneja

It has become a tradition for Google to release the source code of I/O event Android app after several weeks of the event.

This annual release is done to demonstrate best practices for app development. Developers can take a look at the code to get a better understanding of Google’s best practices for Android App Development.

App architecture

Google’s I/O 2018 app represents a complete rewrite of the application. The app has moved from ContentProvider+SyncAdapter architecture to Architecture Components.

It’s Google’s Android Team current recommendation for developing modern apps for Android. Google has used Kotlin for the rewrite of the application.

Here is the general overview of the app’s architecture –

google-io-18-Architecture.webp

Repository layer is used for handling data operations. Data comes from different data sources –

  • User Data is stored in Cloud Firestore (either remotely or in the local cache)
  • User settings and preferences are stored in SharedPreferences
  • Conference Data is stored remotely and is fetched and stored in the memory

Repository modules are responsible for handling all the data operations.

Dagger2 is used for dependency injection.

Espresso is used for basic instrumentation tests and JUnit and Mockito for unit testing.

Firebase

The Firebase platform has now matured and the use of Firebase technologies has now increased. Following are the Firebase components used in I/O 2018 –

Firebase Cloud Firestore

It is Google’s source for all user data

Firebase Cloud Functions

Firebase Cloud Functions are used to run the backend code. The reservation function, checking user’s status, checking space availability all depends upon on Cloud Functions.

Firebase Cloud Messaging

Cloud Messaging is used to inform the app about any sort of changes in conference data using a ping-and-fetch model.

Firebase Remote Config

Remote Config is used to inform users about WiFi information, conference schedule, etc in a lightweight manner.

Kotlin

Google made the choice of rewriting the app from scratch in Koltin to bring the modern Android architecture. Using Kotlin for the rewrite is an easy choice because –

  • Kotlin’s syntax is expressive, concise, and powerful
  • Support for safety features including nullability and immutability
  • Enhanced Functionality using Android Ktx extensions

Material theming

At I/O 2018, The Material Design team announced Material Theming which give apps the ability to customize Material Design to bring more personalization of their product’s brand.

As the app was released before Material Theming, so they could not use all of the new components but managed to sneak a few including a new Bottom App Bar with inset Floating Action Button.

schedule-169x300-1.webp

The app is available for developers on Github.

Himangi Papneja
Himangi is currently working as a Technical Lead at VT Netzwelt. She has nearly 10 years of software engineering experience. Since 2016, Himangi has built and architected applications across native Android (Kotlin) and Flutter (Mobile & Web). She specializes in building scalable cross-platform systems, optimizing engineering processes, and leveraging AI tools to push the boundaries of mobile development.

Related Posts

Mobile App Development

15 Innovative Ride Sharing App Ideas for Entrepreneurs

Discover 15 ride sharing business ideas for US startups, from medical rides to airport transfers. See niche demand, costs, regulations and launch tips.

October 12, 2026 Gurpreet Singh

Mobile App Development

AI vs Rule-Based Dispatch in Ride Hailing, What to Automate First

See where AI improves ride-hailing dispatch, pricing and forecasting, where deterministic rules belong, and how to add guardrails, audits and human override.

October 5, 2026 Gurpreet Singh

Mobile App Development

How Charging-Aware EV Ride Hailing Dispatch Software Works in 2026

Discover how EV ride hailing dispatch software uses battery data, live charger availability and trip-fit checks to reduce downtime and improve fleet utilization.

October 1, 2026 Gurpreet Singh