Google I/O 2023

Google I/O 2023
Photo by Greg Bulla / Unsplash

This post will be a summary of all the talks I thought were the most interesting from this year's Google I/O event. Since I work as an android dev professionally you'll probably notice a theme in the talks I decided to write about here :)


I'll include a link to each talk that I cover along with a summary and thoughts on the content of the talk. If any of them sound interesting based on my summary I'd encourage you to go check out the full video via the link.

I'm a big fan of this event along with the Android Dev Summit in October. Between these two conferences I feel like I get enough information to stay up to date on all the important changes coming to the android OS and SDK that I'll need to be aware of in my career.

What's new in Health on Android

Video Link: https://youtu.be/hlyC0I6v9ic

Highlights

  • Health Connect Updates
  • Core part of the platform in android 14
  • Health Connect settings within android settings in android 14
  • Exercise Routes
  • Reproductive and Menstrual health tracking
  • Health Connect API updates
  • Health Services API updates
  • Health Services gives access to real time sensor data
  • Faster batching rates
  • Golf shot detection
  • Improved permissions for wearOS background sensors

I started a job at a healthcare start up back in October so I was really interested in what changes were coming to health connect this year since it could be relevant to my day job.


The APIs are getting some updates to include some cool new features, especially around route tracking for bikes or jogs a user may want to track, along with having the whole health connect system become a core part of the android OS starting in android 14.
I'm a big fitbit user too so I'm excited for this new stuff from a user perspective as well.

What's new in Web on Android - updates to WebView, Custom Tabs, and more

Video Link: https://youtu.be/sLn3wszcnGU

Highlights

  • X-Requested-With header is deprecated
  • Origin trials
  • Drag N Drop Support on large screen devices
  • Jetpack javascript engine
  • Custom Tabs Updates
  • PWA Updates
  • WebShare APIs and Share API integration with the OS
  • Trusted Web Activity

Most apps have some use case that requires interaction with webviews or custom tabs. This is a good video to check out if you are in that boat and wanna see what changes and updates have been made.
The biggest piece of news for me is the jetpack javascript library which will allow you to evaluate javascript without spinning up a webview. There are also a lot of updates for PWAs if you're into that kind of thing.

What's new in Firebase's Android SDK

Video Link: https://youtu.be/nYGg_8Ro5VE

Highlights

  • App distribution general availability
  • App Check generally available
  • Performance improvements coming to the various firebase SDK initialziations
  • The firebase SDKs are being rewritten to be kotlin first moving forward
  • Currently lots of the SDKs use the Task class
  • Future versions will embrace suspend functions and kotlin coroutines
  • Embracing kotlin Flow APIs

The biggest news here imo is the work being done to go from SDKs written mostly in Java which include some kotlin extension functions, to SDKs that will be kotlin first and therefore embrace more kotlin idiomatic code.
I look forward to never having to use Task or callbacks in firebase SDKs.

What's new in Android

Video Link: https://youtu.be/qXhjN66O7Bk

Highlights

  • Android 14 brings new privacy and security changes
  • Partial Media Access
  • New information for location permission dialogs
  • Need permission for Full Screen Intent Notifications
  • Explicit intents needed for delivering to un exported components
  • Apps must target at least api 23
  • Partial Screenshare coming to Android
  • Health Connect built into the platform
  • Passkey support!
  • Privacy Sandbox
  • Form Factor Updates
  • All in on foldables with the Pixel Fold
  • Fixed orientation apps will be letter boxed
  • Camera ratio and orientations may no longer match what your app expects
  • Activity Embedding
  • WearOS Updates
  • Android Auto updates
  • Jetpack Glance
  • Compose UI For TV
  • Modifier and Text improvements
  • Pager layout
  • Flowlayout
  • Glide Compose library
  • Google Maps compose update
  • Foreground Services Changes
  • Targetting 14 require declared types for their foreground services
  • User initiated data transfer API as an alternative to a foreground service
  • Updates to ML Kit
  • Face Mesh
  • Document Scanner
  • ART updates
  • Java 17 Language features back ported to Android 12
  • Updated garbage collector
  • Kotlin updates
  • Predictive back
  • Media3 is 1.0
  • System Share Updates
  • Android Studio Updates
  • Kotlin Multi Platform Updates

There is a lot to take in from this talk as an android developer, which is what you'd expect right? If you're an android dev and only have time to watch one Google I/O talk this is the one to go check out.
I'll keep my summary here brief because there's just so much to talk about.

The things I'm most excited about are their announcements around passkeys. They even have a full talk about pass keys in android that you can find here.

I wanna see how this works from both a developer perspective and a user perspective. I love the idea of slowly getting rid of all of my passwords and not needing to manage so much.

Another big announcement worth mentioning in this summary is that soon you will need to ensure your app is targeting at least API 23 or else you won't be able to install on the latest versions of android.

I was surprised to see this announcement because I'm kind of stunned that anyone has kept their target SDK that low for this long. If you're affected by this its way past time to get your shit together.

Finally I'm excited for their announcement about Jetpack glance and the ability to use jetpack for widgets instead of having to rely on the ancient remote views APIs. I'm hoping we will see some cool new widgets coming from lots of apps
because of this.

What's new in Google Play

Video Link: https://youtu.be/XP7saG2QqJA

Highlights

  • Custom store listings based on Google Ad Campaigns
  • Store Listing Groups
  • AI assistance with store listings
  • Additional SDK crash reporting and guidance

It's always good to pay attention to what the play store is doing since that's what most android developers will use to distribute their app to users.

This year they have continued to provide additional customization
for the store listing displayed to potential users of your app. The two big announcements in that arena are showing listings based on a google ad campaign you may have launched and a way to group listings to show custom listings to a group or multiple groups of users. Along with the store listing customizations they have also added some AI assistance to help you write your store listings or with translations.

They are also making it easier to communicate about issues within SDKs for SDK providers. This has been one of my favorite new features the play store has offered. I have worked with alot of shitty android SDKs in my time as an android developer
and I like the idea of Google stepping in to try and raise the bar on SDK expectations in the android world.

What's new in Android Development tools

Video Link: https://youtu.be/7lubRrkxagk

Highlights

  • Giraffe Beta and Hedgehog Canary
  • Target SDK Upgrade assistant
  • Studio Bot
  • Android Vitals Integration
  • Google Assistant Plugin
  • Power Profiler
  • Device Explorer Updates and Upgrades
  • Watch Face Studio
  • Gradle Managed Devices Integration with Firebase
  • Baseline Profile Gradle Plugin

I'm always excited to see what new features are coming to android studio that can make my life easier. Google has done a good job over the years creating a really powerful and helpful IDE. I feel we're light years ahead of other ecosystems in terms of IDE support.


The big announcement this year was the introduction of studio bot. Studio bot is the android studio's team foray into the AI assitant hype train we're all going through. I'm excited to see how studio bot works out, if they can make it smart enough to be useful it could be an excellent productivity enhancer.


I'm looking forward to getting to use the firebase test lab integration with their gradle managed devices. Firebase Test lab is an excellent way to run device tests on multiple different devices and form factors and the easier they make using it via gradle builds the better.
Finally they are making it even easier to create baseline profiles for your app which can help give your app some
serious performance gains on user devices.

What's new in Kotlin for Android

Video Link: https://youtu.be/QGtB--ABiNM

Highlights

  • Kotlin 2.0 Compiler
  • Kotlin DSL as default
  • kapt being replaced with ksp

The new Kotlin compiler promises to improve compile times while also being flexible enough to allow for rapid feature developement on the language, and it should be a drop in replacement for you as an app developer, but compiler plugins
will need to work on changes to enable support. You can try the new compiler now by setting the language version to 2.0 in your gradle settings.

kapt is being replaced with ksp which will be a kotlin first annotation processor that should allow for some huge performance improvements to your build times if you make use of any libraries that currently use kapt (and who doesnt).

The last thing to note from this talk is that the Google workspace teams at Google are experimenting with kotlin multiplatform internally on the software they build. I'm interested in seeing where this project goes and if it does become a viable option for building some code that you coudl share between android, web and iOS. I'll take almost anything that gets us away from javascript for that use case at this point. The annotations, collections, and datastore jetpack libraries have moved to alpha for multi platform.