Last month I had the opportunity to attend Google I/O for the first time ever. For those of you unaware, Google I/O is an annual developer conference that Google hosts to reveal their latest and greatest tech. I've been trying to get into this conference since my 4th year of undergrad and failed every time.... until now!

After attending the event, listening in on their many speaker sessions, and reviewing the coding materials provided for their developers, I was able to learn and discover what truly makes Google a highly successful, engineering driven company. In this post I won't be going over the announcements or reiterate the material from the speaker sessions. You can already find plenty of those here, here, or here. Instead, I want to talk about my impressions and go over the key takeaways from the conference in order to discuss what Google is doing right. So what are these key takeaways?

I've learned how Google effectively and efficiently solves the issues of their primary stakeholders: developers and users.

A true developer ecosystem

I want to first talk about how Google has solved an issue that developers commonly face. When creating any new product, there are always the same set of things that every engineering team has to reimplement. These things include defining database schemas, standing up API's, setting up cloud infrastructure, authentication management, etc. Google has a solution for this, and it was introduced at Google I/O this year as the newly revamped Firebase.

Firebase

Firebase was a company acquired by Google in 2014 that provides BaaS (backend-as-a-service) for developers. In layman terms, Firebase provides web and mobile app developers an easy, user manageable way to create API's, cloud infrastructure, storage solutions, push notifications, and more! BaaS is a relatively newer concept with its first startups and products dating around 2011. There are many competing products in this space and there was one that was considered higher caliber than Firebase at the time (R.I.P Parse). So what exactly makes Google's Firebase particularly unique?

Firebase is the only active BaaS that has created a true developer ecosystem.

What do I mean by a developer ecosystem? Well, Firebase has created a suite of SDKs, frameworks, and libraries that engineers can easily integrate into their code. This will enable developers to smoothly integrate features of Firebase with little work and overhead. But let's be honest, the practice of creating these frameworks/libraries for other programming languages is not a new or novel concept. This is not what makes a true developer ecosystem. However, Firebase does create a true developer ecosystem by providing deep integration with the rest of Google's other products and initiatives. For example, Firebase didn't simply create a Javascript library, they created a library for every single one of their Javascript framework projects, i.e Angular and Polymer. It doesn't stop there, Firebase also seamlessly integrates with Google App Engine, which is their cloud platform and one of their core products. Through Firebase's integration tools, Google has provided a mechanism for developers to build products end-to-end whilst staying within the Google ecosystem.

Keeping the user engaged

Google, over the past several months, has implemented new features in attempts to address issues that may befall their users. I'm not talking about the superficial, obvious solutions like the Google Home device, which is a Amazon Echo-like clone that is supposed to solve IoT for your home. I'm talking about features that can be implemented by developers to solve user problems on their devices. At Google I/O, they emphasized or introduced Progressive Web Apps, AMP, and Android Instant Apps. So what do these solve?

These three features all serve one purpose, to create a delightful and fast user experience to maintain engagement.

At a high level, these three features are new ways for users to get the best experience out of their mobile devices. Progressive web apps eliminate the need for dedicated apps and can help provide users a way to access their favorite sites offline. AMP (Accelerated Mobile Pages) improves the speed in which published content gets rendered; so you can get your favorite news or other mobile content super fast. And Android Instant Apps allows folks to access native apps without ever having to download them!

As you can see, the beauty of these features is that a user doesn't have to do anything to get them! Any user with an Android device can instantly see improvements to their favorite sites or apps at any given time. Apple's mentality of "everything as an app", does not scale. There are just some things that are better left in a non-app form; Google inherently understands this. Because Google also understands the nuances and bottlenecks of the web, they have created new, innovative ways around these issues, all of which were emphasized and announced during Google I/O.

Closing Thoughts

The conference was not without its faults. It was unprepared for its change of venue from the Moscone Convention Center to the Shoreline Amphitheater, it was overcrowded, the heat was a huge issue, and its long lines prevented folks from attending their preferred sessions.

In my more naive, poor college years, I wouldn't have cared about these issues as much. I mostly wanted to get into Google I/O to get my hands on the latest tech goodie, whilst ~maybe~ learning a thing or two. (Let's be honest, most of you would probably only attend for the same reason). However, my intentions have shifted since then. This time around, I genuinely wanted to go to learn more about their developer ecosystem....

Okay fine, that's half true. I still wanted wanted to get my hands on some of the latest goodies, and I thought this would be my year! But, as luck would have it, this is their first year without any goodies.....

But after taking a step back, the lack of a freebie from the conference may have been Google's best decision for the conference. It now opens open Google I/O to those who will really appreciate it; those who will take it as an opportunity to learn, grow, and develop their skills. Sure, Google obviously has ulterior motives for most of their initiatives, e.g. the push for Google App Engine, more active users on Android, etc. But we can't deny that Google, at the end of day, is simply trying to create delightful experiences for their key stakeholders - developers and users.

Unlike other developer conferences out there, I have found that those that are run by a mature tech powerhouse, like Google, result in higher quality and more engaging sessions (e.g. Microsoft Build and WWDC). So despite all of Google I/O's issues, attending this conference has provided me the insight on how a tech powerhouse meaningfully solves problems end-to-end. That is something very rare to see in a company, and I would like to see more follow suit.