My IO 24 Highlights

A couple of weeks ago, more precisely May 14th and 15th, Google hosted it’s annually event, Google IO at Mountain View, California, US. And I had the opportunity to attend it in person for the first time!

In this blog post I hope to share a little bit about the event and the content presented in the keynotes and sessions. It was a big event, so I will try to highlight things that stood up more for me, and again, there were so much content, so different people had different experiences, and keep in mind that much that you will read here has my personal opinion printed in them!

The event

Google IO is a large event. Held at the Google Campus in Mountain View California, US, is where the company annually announces their new releases in end user products, like the Pixel phones/tablets/watches/etc and also their development platforms like Android, Flutter, Firebase, etc.

All keynotes and sessions are live streamed and made available afterwards in the event’s website which I really suggest checking out, most sessions are around 40 mins and they have cool content.

One thing that really caught my attention was the event organization. It was a two day event, and both days would follow a similar schedule: Breakfast, Keynote and a full day of sessions and workshops, with breaks at noon for a lunch and then again later in the day for snacks and dinner.

The main key note happened in the first day, where it was shared about Google’s releases focusing more in the product side, announcing many of the companies endeavors in the ML/AI area, while the developer key note went more in depth in the technical bits.

The event had different tracks: mobile, web, ML/IA and cloud. Each had its own area were demos were exposed and a stage where sessions would be held.

The staff would also organize different activities alongside the day, like giant jenga games in the middle of the grassfields and other cool games for people to have fun!

Overall I really enjoyed this experience, is an interesting event to be part of, you learn new things, have fun and meet new folks, which in my opinion were the highlight of the event for me, I finally got the chance to meet in person many of the community folks that I only knew online, as well as new people that I have encountered before. It is really a great place for networking!

Event focus

This is clearly the year of AI products, and for Google it is not different. Most of the releases announced in the event were ML/AI related, with heavy focus on Google’s main AI product, Gemini.

They announced new products in the generative area, like music, images and of course, text. Big improvements on Gemini, greatly boosting how much tokens it can process, and many integrations of Gemini with other products and tools.

Those who know me, know that I am not really an AI guy, so I will not go much in depth on it since it is not an area that have much expertise, but if you have interest and have not yet, be sure to check the main key note and developer key note available in the event website.

Flutter & Flame

Flutter didn’t got that many announcements. But the ones that were made, are amazing!

Kevin Moore and John Ryan made a session about the news on Flutter and although the whole content announced in the talk is awesome, two standed out for me:

Macros is actually not really a Flutter feature, but rather a Dart one. It is a highly anticipated feature by the community, so much that when Kevin just said the word Macros on stage, the whole audience went on fire!

This new feature allow developers to “generate code” more efficiently and it will eventually replace build_runner in almost all the cases where it is used now a days, a bring a more robust option for meta programming on Dart!

Being a Language feature makes it blazing fast, and it make for a better developer experience. The feature is still in its experimental phase, so to use it today, you need to enable it by using a flag.

Many developers are already making experiments with it, a good example is data_class_macro by Felix Angelov, which makes use of Macro to add data class methods to classes, like copyWith, equals/hashCode, etc.

I can’t wait to see all the cool stuff that developers will make as Macros evolve in the language.

WASM support to web is also a big deal. Flutter when built for web, is compiled to JavaScript, now developers will also be able to be compile to Web Assembly, which means that Flutter web will run faster and better on the web platform!

This by itself is already exciting to a Flutter Developer, but being a game developer myself, this is specially exciting, Flutter and Flame games will gain a great performance boost without changing any line of code, just upgrading to compile to WASM will allow even more complex games to be written in the Platform!

On top of all that, Brett Morgan, Developer Relations Engineer for the Flutter team gave a great workshop about building a Flame games with the physics engine Forge2D. It was a great workshop, in which in just one hour, Brett showed how to build a small physics game from start to finish. I really suggest checking it out!

Firebase news

Firebase also got its fair share of exciting updates! They announced a new visual identity for their brand and a couple of new products for their ecosystem.

And one of those products really got me excited: Firebase Data Connect!

This is something that I have longing for for a long time! I love Firestore, but sometimes a Non SQL Database is not the best fit for certain data structure and you get yourself in need of a SQL database, and now you can use Data Connect for that!

What is even cooler is that Data Connect allows you to create your schema in a graphql like syntax, which a super friendly syntax. This is how a simple table would look like for example:

But what really made me go “Wow”, was that Data Connect has built in schema migration tools. Which is something that I have always missed in other SQL Database services, you had to come up with your migration process, tools, etc. But Data Connect already solves that for you, that is simply amazing!

I didn’t got time to play with it yet, so I can’t share much more other than these first impressions that I got from the session, but I am really excited to make some POCs with it and hopefully I will come up with additional blog posts about it!

Wrapping up

That is about it! Of course the event had way more content than I was able to capture in this article, like I said, it is a big event, we can experience just some part of it, so I really recommend checking out the recordings of the sessions and workshops in their site, and I hope that you enjoyed reading my opinions and impressions about this incredible event!

See you next time!

Leave a comment