What I am working on
Firebase Data Connect for iOS SDK Early Access
At Google I/O 2024, the Firebase team announced Firebase Data Connect, Firebase's first relational database solution for developers who want to create secure and scalable apps with Cloud SQL for PostgreSQL and type-safe mobile and web SDKs.
In the past couple of weeks, we've been working on getting the iOS SDK ready for preview, and now the time has come to open up access to a group of people who are willing to give it a try and provide feedback.
As part of this, we will be running workshops for the iOS SDK at I/O Connect in Berlin this week and Bejing (in August).
So if you'd like to try out Firebase Data Connect and its iOS SDK in private preview, and provide feedback, please follow this link and fill out the application form for the Early Access Program.
SwiftUI Hero Animations with NavigationTransition
For the Firebase Data Connect workshop, we will show how to implement a movie tracker app. I spent some time on building a beautiful UI for the movie list and the details view, and as a side product wrote this blog post about implementing a hero animation with SwiftUI's new NavigationTransition
. It demonstrates how to replicate the hero animation that is used in the App Store's Today view.
Check out the blog post - it includes some beautiful recordings of the animation.
How stuff works
Inside the tiny chip that powers Montreal subway tickets
Fascinating deep dive into the disposable NFC tickets for the Montreal subway. To explain why the production cost for a single ticket is almost negligibly low, Ken Shirriff isolates the tiny (570 µm × 485 µm) chip, photographs it under a microscope, and explains the functions of the various areas on the chip. What I found most interesting is that the chip uses a technique called load modulation to communicate with the turnstile. Wild.
SwiftUI
"The best apps are built with native SDKs"
In the Platforms State of the Union, Apple made the bold claim that the best apps are built with native SDKs, which didn't make everyone happy.
Skip is an interesting approach that generates a native Android app written in Jetpack Compose from your SwiftUI code.
What’s new in SwiftUI for iOS 18
This is a fantastic overview of what's new in SwiftUI by Paul Hudson. It provides an overview of the most important updates, and links to a bunch of even more detailed articles Paul wrote about some of the new APIs.
Sometimes I wonder if Paul gets any sleep during WWDC week. Great job, and a good starting point for diving into the new APIs.
AI and ML
Introducing Apple’s On-Device and Server Foundation Models
In this article, published on Apple's Machine Learning Research blog, the authors talk about the architecture of Apple Intelligence, and how they combine on-device and on-server foundation models.
One of the key take-aways of this article is that Apple uses several foundational models that can be fine-tuned and specialized for specific tasks (e.g. summarising text) on-the-fly. There are adapters for summarisation, proofreading, mail replies, tone adjustment, (text) refinement, query handling, and more. Any AI workloads that cannot be handled on-device will be delegated to the server-side model. While the article mentions that the on-device model has ~3 billion parameters, it doesn't explicitly state how many parameters the server-side model has. It does, however, state that the client-side model has a smaller vocabulary than the server-side model, which might be one of the reasons that Apple Intelligence will first launch for US English language only.
This is a fascinating read that provides a lot of background material and fills in a lot of the gaps that were left open during the WWDC keynote and the Platforms State of the Union.
Apple Intelligence Features Not Coming to European Union at Launch Due to DMA
Now, before you get too excited about Apple Intelligence, it seems like a bunch of features (Apple Intelligence, iPhone Mirroring, and SharePlay Screen Sharing) might not be available in the EU this year.
There is a lot of speculation going on about why this might be the case. I find this tweet to be the most compelling explanation.
From Article 6, Obligations for gatekeepers of the DMA:
- The gatekeeper shall not restrict technically or otherwise the ability of end users to switch between, and subscribe to, different software applications and services that are accessed using the core platform services of the gatekeeper, including as regards the choice of Internet access services for end users.
- The gatekeeper shall allow providers of services and providers of hardware, free of charge, effective interoperability with, and access for the purposes of interoperability to, the same hardware and software features accessed or controlled via the operating system or virtual assistant listed in the designation decision pursuant to Article 3(9) as are available to services or hardware provided by the gatekeeper.
This would essentially require Apple to open up mirroring capabilities to third-party platforms and devices.
Run Gemini Nano locally in your browser
Morten Just (creator of Rotato) demonstrates local inference with Gemini Nano on Chrome Canary 128, for example to translate text from English to German. The latency is almost unnoticeable, and the translation shows up almost instantly. Even more impressive that the core of the demo is literally just two lines of code.
More details about using Gemini Nano locally can be found in the AI on Chrome section of the Chrome for Developers site.
Conferences
WWDC 2024 Viewing Guide
The amount of content Apple produces each year for WWDC is truly astounding: not only do they build and ship SDKs with a surprising low number of serious bugs, but also do they create hours upon hours of videos walking us through the new features. And let's not forget the documentation and sample code!
It might be a bit overwhelming to decide which videos to watch, and where to dig in first. Keith Harrison (@kharrison) / X has published his personal viewing guide for WWDC 24, and it provides a well-curated overview of all the relevant videos, including a short description of what to expect.
WWDC Notes
WWDC Notes is a fantastic resource to accompany watching the videos Apple releases for WWDC.
As in the past 15(!) years, the community steps in to summarise all videos Apple releases for WWDC. This year, the entire site is built using DocC, and it looks fantastic.
If you're watching a video that doesn't have a WWDC Notes summary yet, consider contributing! Everything is written in Markdown, and the contributing page provides a great overview for getting started.
Fun stuff
A DeLorean that doubles as a meeting room
I didn't know that we had a DeLorean in on of the Google offices in San Francisco! This one also doubles as a meeting room (I've been told the doors don't close, so you shouldn't use it to discuss any sensitive information, but on the plus side, it has a flux capacitor, so if your meetings runs badly, you can start over).
BTW, if you would like to have an electric DeLorean, take part in our Gemini API Developer Competition.
There even is a category for Best use of Firebase, so if you need an excuse to put the Vertex AI SDK for Firebase to use, look no further!
Comment
As expected, Apple unveiled their take on AI, calling it Apple Intelligence. It seemed like a bunch of people were disappointed with what Apple delivered, and while it's certainly a bit disappointing that the initial beta seeds doesn't include Apple Intelligence in Siri, I encourage you to read the blog post ("Introducing Apple’s On-Device and Server Foundation Models") they published on their Machine Learning Research blog - it provides a lot of background that wasn't part of the keynote, and it might change your mind.
I've included a bunch of other AI-related links in this issue, as well as a couple of helpful links to help you plan your post-WWDC viewing / reading schedule.
This week, I will be in Berlin for I/O Connect, and together with my colleagues Seba and Aashish, I will talk about Firebase Data Connect, how it allows you to use SQL in your Firebase apps, and how to use it to build AI-enabled apps. If you are at I/O Connect in Berlin, come and say hi - I'd love to meet some of my readers IRL.
Thanks for being a subscriber!
Peter