WorryFree Computers   »   [go: up one dir, main page]



Laurence Moroney
Ali Abdelhadi
Product Manager
Monitoring performance from the end user's point of view - both app code performance and network responsiveness/reliability - is a challenge for building great mobile apps. You have to be able to understand conditions that need improvement, in order to avoid user churn and negative reviews. Conversely, we have seen that 60% of 5-star reviews on Google Play mention speed, design or usability.

The biggest challenge in monitoring performance in native apps is understanding context. It's not enough to know that users experience delays or that your animations are not running smoothly; you need to understand where in your app that happens. It's also important to understand how those experiences differ for various countries, devices, OS levels, etc.

This is why we built Firebase Performance Monitoring for iOS and Android. It provides an SDK to capture and instrument performance metrics in production, and a console to gain insights about the data captured by the SDK.



Firebase Performance Monitoring provides two main features: traces and network activity monitoring. Let's talk about traces first. Traces allow you to instrument parts of your app to know the duration of an action, as well as attach custom metrics to that action using the "counter" API. As an example, you might set up a trace for the time from starting an image load until the image is fully rendered on the screen, and track how many times you hit or miss the cache while loading images using counters.
Just by installing the SDK, you get an automated trace for your app start so you can monitor how long it takes users to go through a cold app start.


The other feature Firebase Performance offers is monitoring network activity. HTTP/S requests made by your app will be automatically monitored from the time they are sent until the response is received. For each URL pattern, you will see the response time, payload size and success rate.


When failures happen, you will also see a breakdown of 400 and 500 response codes that caused them.



All metrics collected for traces and network can be broken down by country, device, app version and OS version. This helps you narrow down the cause of an issue and fix it more easily.



Firebase Performance Monitoring is available now in beta. To learn more, check out the documentation right here, or watch our I/O session for a deep dive.



Laurence Moroney
Laurence Moroney
Developer Advocate

When Firebase was first released, it came with a number of authentication schemes:

You could build an app for email & password authentication (iOS, Android, Web), where the user provides you with basic details -- and Firebase would manage signing in using those as their identity. You could also build using federated identity where, instead of signing up for your app, users could simply sign in using credentials provided by third parties such as Google, Facebook, Twitter or GitHub, or anonymous authentication where you could apply security rules to people who haven't yet signed up.

One type of authentication that was requested by a number of developers was the ability to sign in using a phone number. With that in mind, we're delighted to announce that Firebase Auth now supports phone number authentication. If you're currently using the Digits SDK for phone number auth, check out the announcement here for details on the migration to Firebase Auth.

Here's how Firebase Phone Auth works.

The Sign In Screen

Here's an example of an app that supports phone auth as well as federated identity via Google and Facebook, and basic email/password authentication.

It has been built using FirebaseUI, so many of the flows that you see in this article are automatically implemented for you when you integrate it.

As you can see at the bottom of the screen, there's a 'Sign in with Phone' option.

Let's take a look at what happens when the user taps that.

Sign In Flow

When the user first taps the Sign In with Phone button, they’ll enter the phone number for the device. When they press ‘Verify’, the number will be sent to Firebase, which will generate a 6-digit code that is sent via SMS to their device.

If the user enters the correct code, Firebase will validate them and add them as a recognized user. They’ll then stay signed in for future sessions.

You’ll see them as a verified user in the Firebase Console:

You can learn more about Firebase Authentication on the Firebase Developers Site.

Firebase UI is an Open Source library that lets you quickly get up and running with best-practice sign in and sign up flows. Phone Auth with Firebase UI is presently available on iOS and the Web, and coming soon to Android.

We're continuing to grow and build Firebase and Firebase Authentication, and we'd love to hear your feedback, so please reach out to us at firebase.google.com/support.

Krista Seiden
Krista Seiden
Firebase Analytics

Here at Firebase, we know that the first step in making improvements in your app is knowing how your users are interacting with it: what parts they love, where they're having trouble, and what features are sadly underutilized. This is why we built Google Analytics for Firebase from the ground up to be a complete mobile analytics solution, with free and unlimited app analytics designed specifically for the way mobile apps are built.

Now, if you were paying close attention to the last paragraph, you may have noticed that the product formerly known as Firebase Analytics is now called "Google Analytics for Firebase." Don't worry; it's the same analytics product you know and love -- and we'll talk more about the name change in a bit.

Over the last year, we've made a number of improvements to Google Analytics for Firebase, including adding StreamView, which gives you an impression of how users are interacting with your app at this very moment, and DebugView, which allows you to see in precise detail what analytics events (and errors!) might be happening on a test device.

This year at Google I/O, we were thrilled to announce a number of new improvements and enhancements that make using analytics even better. In case you missed those presentations (which you can also watch on YouTube), let's give you a quick summary of what's new with Google Analytics for Firebase.

Custom Parameter Reporting

With Google Analytics for Firebase, you're allowed to submit up to 25 custom parameters alongside any events that you record in your app. For instance, if you were submitting a end_of_round event in a game, you could submit a user_score or premium_coins_earned parameter along with that event. By analyzing these different parameter values, you could then ensure that your game had the high score distribution or general payout rate that you were expecting.

But up until now, it's been impossible to see the results of most of these custom event parameters without first exporting your data to BigQuery and doing the analysis there. Being able to view summaries of these event parameters directly in the Firebase console has been our most common feature request since analytics first launched last year. So we're very pleased to announce that we've taken our first big steps in making these reports available to you.

To get started with custom event parameters in Firebase, you'll need to let Google Analytics for Firebase know what parameters you're interested in. You can do this by going to the specific event in the Firebase console and clicking the "Add event parameters" button in the interface. From there, you can specify a parameter, note whether it's a number or a string, and add units of measurement, if applicable.

Once you've done that, you'll start seeing these parameter summaries directly in the console. We'll show you sums and averages for numeric values, and a list of your most popular values for strings.

Like other analytics reports available in Google Analytics for Firebase, you can filter these reports by user properties or audiences to get a better sense of how different users are interacting with your app in different ways.

Currently, you can specify up to 50 different event parameters for which you'd like to generate summary reports.

Free Storage Tier in BigQuery

Of course, if you want to analyze a greater number of custom event parameters, or want to do more sophisticated analysis than what's available from the Firebase console, you can export your Google Analytics data directly into BigQuery, Google's data warehouse in the cloud. Analyzing your data in BigQuery is a very powerful way of running all sorts of ad hoc queries or custom analysis on your data, and we want to encourage all our developers to try it out.

To assist you on your journey, we've now added a free tier of storage in BigQuery -- 10 GB of data to be exact -- for every project using Google Analytics for Firebase. Combine this free storage tier with the 1 TB of free monthly query usage that you get from BigQuery, and you can do an awful lot of BigQuery analysis for a relatively little amount of money. And with the new analytics report templates in Data Studio, making stylish reports on custom parameters (or anything else you can measure in BigQuery) is a cinch.

Firebase and AdMob

We've made some major enhancements in the way Firebase and AdMob communicate with each other. Much like milk and cookies1, mixing Firebase and AdMob together results in an exciting new flavor combination that complements the strengths of both products!

By linking your AdMob account to Firebase, your app will automatically record analytics events associated with AdMob (along with mediated ad units) just like any other analytics event. This gives Google Analytics for Firebase the ability to create reports on ad impressions, clicks, and exposure time, broken down by important characteristics such as screen, ad format or ad unit. This makes it easier than ever before to see which ads are most effective in your app, where you're earning the most ad dollars, or which ads your users spend the most time viewing.

Linking your AdMob and Firebase accounts together also gives you a more complete picture of where you're making money in your app. Both the APRU reports on the dashboard and the Lifetime Value metrics in the Attribution reports will now include revenue generated from AdMob advertising, as well as in-app purchases.

This can help you gain a much more complete understanding of how your app is doing from a revenue standpoint, and help you more accurately gauge which growth campaigns are bringing you users who are earning you the most revenue.

Automatic Screen Tracking

If, like me, you enjoy spending your free time reading the latest Firebase Release Notes, you might have noticed that a few months ago, Firebase started adding screen tracking support to the events that it was recording. This month, we're taking the first steps towards adding screen tracking reports in Google Analytics for Firebase, by showing you the top three screens your users are spending time on. You can find this information in the User Engagement section of the Firebase Dashboard.

Screen tracking reporting works behind the scenes by automatically logging a screen_view event whenever a screen transition occurs. These events are then combined on the server to paint a more complete picture of the user's journey throughout your app. And just like any other event, you can view them in StreamView or DebugView, or analyze them through BigQuery. If you would like to customize these events -- for instance, you're a game developer who has multiple "screens" all within the same ViewController -- you can do so with by setting these events manually on the client.

More Attribution Partners!

You can already use Google Analytics for Firebase for attribution tracking, which helps you learn not just which ad networks are sending you users, but which ones are sending you valuable users that you care about the most. And we're pleased to announce a new integration with DoubleClick Digital Marketing that will include attribution tracking for DoubleClick Campaign Manager and Bid Manager. Add this to the 50+ third-party advertising networks (and growing!) that we've integrated into our system, and Firebase can help you make better decisions around where to spend your advertising dollars with true cross-network attribution data.

New Name, Same Great Product

We're rebranding Firebase Analytics as Google Analytics for Firebase to make it clear that this is our recommended apps analytics solution for all mobile apps moving forward. But under the hood, you'll still be using the Firebase Analytics SDK with its event-driven model to generate all of your analytics data.

If you're using the old Google Analytics Services SDK in your existing apps, don't worry; it's not going anywhere. But we encourage you to start adding the Firebase SDK in future releases. Using the Firebase SDK will give you access to the latest reports in Google Analytics for Firebase and to new functionality as it becomes available. If you're a long-time Google Analytics fan, you can use Google Tag Manager to automatically send your events data to those reports as well. If you need more help on this topic, we wrote a blog post a few months back that covers a few strategies on how to get both these analytics libraries working together in your app. Give it a read sometime!

Try it Today!

We're thrilled to be bringing you these improvements to Google Analytics for Firebase -- they should be already available in the Give it a read sometime today (check out the demo project for an example!). If you haven't yet added analytics to your product, you can find all the documentation you need here to get started. Give it a try, and let us know what you think!

1. Or chili and mango, which Steve Ganem assures me is delicious, but sounds weird to me.

Salman Qadri
Salman Qadri
Firebase Product Manager
Originally posted on the Google Open Source Blog.

We are pleased to announce that we are taking our first steps towards open sourcing our client libraries. By making our SDKs open, we're aiming to show our commitment to greater transparency and to building a stronger developer community. To help further that goal, we'll be using GitHub as a core part of our own toolchain to enable all of you to contribute as well. As you find issues in our code, from inconsistent style to bugs, you can file issues through the standard GitHub issue tracker. You can also find our project in the Google Open Source directory. We're really looking forward to your pull requests!

What's open?

We're starting by open sourcing several products in our iOS, JavaScript, Java, Node.js and Python SDKs. We'll be looking at open sourcing our Android SDK as well. The SDKs are being licensed under Apache 2.0, the same flexible license as existing Firebase open source projects like FirebaseUI.

Let's take a look at each repo:

Firebase iOS SDK 4.0

https://github.com/firebase/firebase-ios-sdk

With the launch of the Firebase iOS 4.0 SDKs we have made several improvements to the developer experience, such as more idiomatic API names for our Swift users. By open sourcing our iOS SDKs we hope to provide an additional avenue for you to give us feedback on such features. For this first release we are open sourcing our Realtime Database, Auth, Cloud Storage and Cloud Messaging (FCM) SDKs, but going forward we intend to release more.

Because we aren't yet able to open source some of the Firebase components, the full product build process isn't available. While you can use this repo to build a FirebaseDev pod, our libraries distributed through CocoaPods will continue to be static frameworks for the time being. We are continually looking for ways to improve the developer experience for developers, however you integrate.

Our GitHub README provides more details on how you build, test and contribute to our iOS SDKs.

Firebase JavaScript SDK 4.0

https://github.com/firebase/firebase-js-sdk

We are excited to announce that we are open sourcing our Realtime Database, Cloud Storage and Cloud Messaging (FCM) SDKs for JavaScript. We'll have a couple of improvements hot on the heels of this initial release, including open sourcing Firebase Authentication. We are also in the process of releasing the source maps for our components, which we expect would really improve the debuggability of your app.

Our GitHub repo includes instructions on how you can build, test and contribute.

Firebase Admin SDKs

Node.js: https://github.com/firebase/firebase-admin-node

Java: https://github.com/firebase/firebase-admin-java

Python: https://github.com/firebase/firebase-admin-python

We are happy to announce that all three of our Admin SDKs for accessing Firebase on privileged environments are now fully open source, including our recently-launched Python SDK. While we continue to explore supporting more languages, we encourage you to use our source as inspiration to enable Firebase for your environment. (And if you do, we'd love to hear about it!)

We're really excited to see what you do with the updated SDKs - as always reach out to us with feedback or questions in the Firebase-Talk Google Group, on Stack Overflow, via the Firebase Support team, or now on GitHub for SDK issues and pull requests! And to read about the other improvements to Firebase that launched at Google I/O, head over to the Firebase blog.

Francis Ma
Francis Ma
Group Product Manager

It's been an exciting year! Last May, we expanded Firebase into our unified app platform, building on the original backend-as-a-service and adding products to help developers grow their user base, as well as test and monetize their apps. Hearing from developers like Wattpad, who built an app using Firebase in only 3 weeks, makes all the hard work worthwhile.

We're thrilled by the initial response from the community, but we believe our journey is just getting started. Let's talk about some of the enhancements coming to Firebase today.

Integrating with Fabric

In January, we announced that we were welcoming the Fabric team to Firebase. Fabric initially grabbed our attention with their array of products, including the industry-leading crash reporting tool, Crashlytics. As we got to know the team better, we were even more impressed by how closely aligned our missions are: to help developers build better apps and grow successful businesses. Over the last several months, we've been working closely with the Fabric team to bring the best of our platforms together.
We plan to make Crashlytics the primary crash reporting product in Firebase. If you don't already use a crash reporting tool, we recommend you take a look at Crashlytics and see what it can do for you. You can get started by following the Fabric documentation.

Phone authentication comes to Firebase

Phone number authentication has been the biggest request for Firebase Authentication, so we're excited to announce that we've worked with the Fabric Digits team to bring phone auth to our platform. You can now let your users sign in with their phone numbers, in addition to traditional email/password or identity providers like Google or Facebook. This gives you a comprehensive authentication solution no matter who your users are or how they like to log in.
At the same time, the Fabric team will be retiring the Digits name and SDK. If you currently use Digits, over the next couple weeks we'll be rolling out the ability to link your existing Digits account with Firebase and swap in the Firebase SDK for the Digits SDK. Go to the Digits blog to learn more.

Introducing Firebase Performance Monitoring

We recognize that poor app performance and stability are the top reasons for users to leave bad ratings on your app and possibly churn altogether. As part of our effort to help you build better apps, we're pleased to announce the beta launch of Performance Monitoring.
Firebase Performance Monitoring is a new free tool that helps you understand when your user experience is being impacted by poorly performing code or challenging network conditions. You can learn more and get started with Performance Monitoring in the Firebase documentation.

More robust analytics

Analytics has been core to the Firebase platform since we launched last I/O. We know that understanding your users is the number one way to make your app successful, so we're continuing to invest in improving our analytics product.
First off, you may notice that you're starting to see the name "Google Analytics for Firebase" around our documentation. Our analytics solution was built in conjunction with the Google Analytics team, and the reports are available both in the Firebase console and the Google Analytics interface. So, we're renaming Firebase Analytics to Google Analytics for Firebase, to reflect that your app analytics data are shared across both.
For those of you who monetize your app with AdMob, we've started sharing data between the two platforms, helping you understand the true lifetime value (LTV) of your users, from both purchases and AdMob revenue. You'll see these new insights surfaced in the updated Analytics dashboard.
Many of you have also asked for analytics insights into custom events and parameters. Starting today, you can register up to 50 custom event parameters and see their details in your Analytics reports. Learn more about custom parameter reporting.

Firebase for all - iOS, games, and open source

Firebase's mission is to help all developers build better apps. In that spirit, today we're announcing expanded platform and vertical support for Firebase.
First of all, as Swift has become the preferred language for many iOS developers, we've updated our SDK to handle Swift language nuances, making Swift development a native experience on Firebase.
We've also improved Firebase Cloud Messaging by adding support for token-based authentication for APNs, and greatly simplifying the connection and registration logic in the client SDK.
Second, we've heard from our game developer community that one of the most important stats you monitor is frames per second (FPS). So, we've built Game Loop support & FPS monitoring into Test Lab for Android, allowing you to evaluate your game's frame rate before you deploy. Coupled with the addition of Unity plugins and a C++ SDK, which we announced at GDC this year, we think that Firebase is a great option for game developers. To see an example of a game built on top of Firebase, check out our Mecha Hamster app on Github.
Finally, we've taken a big first step towards open sourcing our SDKs. We believe in open source software, not only because transparency is an important goal, but also because we know that the greatest innovation happens when we all collaborate. You can view our new repos on our open sourceproject page and learn more about our decision in this blog post.

Dynamic Hosting with Cloud Functions for Firebase

In March, we launched Cloud Functions for Firebase, which lets you run custom backend code in response to events triggered by Firebase features and HTTP requests. This lets you do things like send a notification when a user signs up or automatically create thumbnails when an image is uploaded to Cloud Storage.
Today, in an effort to better serve our web developer community, we're expanding Firebase Hosting to integrate with Cloud Functions. This means that, in addition to serving static assets for your web app, you can now serve dynamic content, generated by Cloud Functions, through Firebase Hosting. For those of you building progressive web apps, Firebase Hosting + Cloud Functions allows you to go completely server-less. You can learn more by visiting our documentation.

Firebase Alpha program and what's next

Our goal is to build the best developer experience: easy-to-use products, great documentation, and intuitive APIs. And the best resource that we have for improving Firebase is you! Your questions and feedback continuously push us to make Firebase better.
In light of that, we're excited to announce a Firebase Alpha program, where you will have the opportunity to test the cutting edge of our products. Things might not be perfect (in fact, we can almost guarantee they won't be), but by participating in the alpha community, you'll help define the future of Firebase. If you want to get involved, please register your interest in the Firebase Alpha form.
Thank you for your support, enthusiasm, and, most importantly, feedback. The Firebase community is the reason that we've been able to grow and improve our platform at such an incredible pace over the last year. We're excited to continue working with you to build simple, intuitive products for developing apps and growing mobile businesses. To get started with Firebase today, visit our newly redesigned website. We're excited to see what you build!

Megan Krilanovich
Megan Krilanovich
Program Manager

Heading to WWDC this year? Join us at the Firebase + Fabric party on June 5th as we celebrate with the top iOS developers from around the world.

We’re excited to throw our very first iOS developers party at this year’s conference - co-hosting with our teammates at Fabric who’re also deeply passionate about mobile development. If you’re going to be in town, join us for a night to mingle with other developers, meet engineers and PMs from the Firebase and Fabric team, showcase your latest app, or whatever strikes your mood.

We look forward to hearing about all the cool stuff you’ve been working on.

  • When: June 5th, 2017
  • Time: 8:00-11:00 p.m.
  • Where: Forager Tasting Room & Eatery
  • Price: Free (!)

Tickets are limited so request your invite today!

Frank van Puffelen
Frank van Puffelen
Engineer

Google I/O is rapidly sneaking up on us. I hope those of you attending have your bags packed by now, and those joining on the live stream have started marking the sessions you want to see. It's quite a lineup.

Personally, I'm looking forward to all the new great Firebase content that we're going to be sharing. I know Todd shared the five I/O sessions he was most looking forward to, but here's a list of some of the sessions that you'll find me at:


What's new in Firebase
I have been calling this our "Firebase keynote" internally. I've been following the rehearsals closely and it's shaping up to be a great overview of everything new that we're announcing for Firebase. It'll also be your essential starting point for all things Firebase at I/O; go to this talk and you'll have a good idea of what other sessions you might want to attend.

The future of Fabric: gaining momentum at Google
What is is like for a startup that joins Google? How do you maintain what made your startup unique, but also make optimal use of the resources available at Google? Will Google keep investing in Fabric and Firebase? And what on earth is Bring Your Pineapple To Work Day? Come to this talk and find out from the folks that started Fabric and Firebase, and the Googler who convinced them to join.

Rewarding for engagement
Building a great app is one thing. But convincing your users to keep using your app is another. Gus and Damien have great experience in this area, and together with some developers using Firebase in their app, they'll show you one approach that was very successful. Then they'll show you how to implement that very same approach yourself using Firebase.

Using Firebase to accelerate app growth
There are many ways to use Firebase to get more users on your app. Firebase's product managers Jumana and Jon are the perfect teachers for this topic. I'll be going to their great session to get a fresh overview of the Firebase features that help with growing your app's user base.

Using Pirate Metrics to grow your user base
Ahoy matey! Who can resist a session about Firebase that's centered around Pirates? I certainly can't. I expect buccaneers, swashbucklers and pirate ships! Or, at the very least, an analytics-focused discussion on how to best acquire and retain users through best practices. It might be less pirate-y, but it's easier to put into a business plan. AARRR….!

Single Codebase, Two Apps with Flutter and Firebase
Sure, maybe you've seen live-coding demos where we've built Android and iOS apps on top of Firebase before. But have you ever seen us do it with one codebase? Using Flutter makes it easy -- and maybe even fun -- to build cross-platform apps, and Emily and Emily will show you how in this session. I'm a sucker for live-coding talks and this is one that won't disappoint.

Great app performance with Firebase
Having a smoothly running, well performing app is critical to ensuring your app's success. With Firebase, this is easy to do, not only during development, but also in production. I've seen Nalin and Ali running around the hallways of the Googleplex all excited about the great things that they'll be sharing in this session. So not only will it be an exciting session, but it's done wonders for their metabolism!

And of course there's one more talk that I won't want to miss: Zero to App. Because missing your own I/O talk would be un-Googley. :-)

These are seven (well, okay, eight) Firebase sessions that I will definitely be attending. If you're not at I/O or just missed them, you can find them on the Firebase YouTube channel at the end of each day!

See you at I/O!

Todd Kerpleman
Todd Kerpelman
Developer Advocate

Over the last few weeks, I've had many of you approach me with questions like, "Hey Todd! I'm super excited to be going to I/O this year! What sessions should I go to?" And my answer has always been the same: "Who are you, and how did you get into my apartment?"

But yeah, I can understand that picking sessions at I/O can feel overwhelming. Between the VR awesomeness and the new Android O stuff, Google I/O has a lot to offer. And while the Firebase VR Data Viewer is still a work-in-progress, there's still plenty of great Firebase content for you to check out this year.

Of course, asking me to pick my favorites among all the sessions is like asking me to pick my favorite child -- I love all of them equally1. But with that said, here's a few Firebase sessions that I'm certainly looking forward to next month:

Supercharging Firebase Apps with Machine Learning and Cloud Functions -- This combines two of the most intriguing (for me, anyway) technologies happening in cloud-land. First, you've got Cloud Functions for Firebase, which essentially allows you to run server-side code based on events happening within your app, and then there's Machine Learning, which is still basically, "We're living in the future" kind of wizardry as far as I'm concerned. Combine them together, and you can pull off some really cool features to enhance your mobile app. Or, in this case, a giant crowdsourced game.

Firebase Analytics: Overview and Updates -- Apparently, launching StreamView wasn't enough for the Analytics team. They've got a whole bunch of other new features popping up, including what might be the most commonly-requested feature since they launched last year. (No, it's not changing all the fonts to Papyrus. That's just my most-requested feature.) What is it? You'll just have to swing by the session to find out.

Zero to App: Develop with Firebase -- This is one of our most popular sessions from last year, and it's been brought back for 2017! We're gonna bring up four Firebase engineers for a realtime cross-platform app development deathmatch! But… uhhh... without the "death" part. HR wouldn't allow it. I've been told this year, there will be some Cloud Functions involved and possibly some other new twists and turns to keep things interesting. Will they end up with a real app by the end of the session? Or will Mike be unable to compile his code because he forgot a semicolon? Only time will tell!

AdMob and Firebase Analytics: Better Together -- Remember those Reese's commercials from the 80's, when people apparently walked around with open jars of peanut butter all the time? Well, this talk is a little like that, but instead of resulting in a delicious candy, you end up with some solid ad-driven analytics-backed monetization strategies for your app. Which you can then use to go and buy your own peanut-butter cups.

Shipping Santa Tracker: Carefully Rolling Out a Feature to a Million Users -- What happens when you've essentially got one day to launch an app to millions of people around the world with a whole slew of features that you've never really tested before in front of a large audience? You would think "mass chaos and hysteria", but in Santa Tracker land, things were as smooth a baby elf's bottom. Come by and listen to Sam and Dan tell you how they were able to pull it off. I know it's an early session, but they promised me there'd be costumes. So that might be worth rolling out of bed for.

So there ya go! Five Firebase sessions you should definitely keep an eye on. Not able to make it to I/O in person? Don't worry! All of our presentations will be available either in the livestream that day, or in the Firebase YouTube channel a few days later.


  1. Well, except you, Janice. Are you really going to use emacs over vim? You're breaking your mother's heart.