If you're like most app developers, you know that small changes can often make a big difference in the long term success of your app. Whether it's the wording that goes into your "Purchase" button, the order in which dialogs appear in your sign-up flow, or how difficult you've made a particular level of a game, that attention to detail can often make the difference between an app that hits the top charts, or one that languishes.
But how do you know you've made the right changes? You can certainly make some educated guesses, ask friends, or run focus groups. But often, the best way to find out how your users will react to changes within your app is to simply try out those changes and see for yourself. And that's the idea behind A/B testing; it lets you release two (or more!) versions of your app simultaneously among randomly selected users to find out which version truly is more successful at getting the results you want.
And while Firebase Remote Config did allow you to perform some simple A/B testing through its "random percentile" condition, we've gone ahead and added an entirely new experiment layer in Firebase that works with Remote Config and notifications to make it quick and easy to set up and measure sophisticated A/B tests. Let's take a quick tour of how it works!
With the new A/B testing feature, you can create an A/B test that will allow you to play with any combination of values that you can control through Remote Config. Setting up an A/B test allows you to define how the experiment will behave in a number of different ways, including determining how many of your users are involved with the experiment at first…
…how many variants you want to run, and how your app might behave differently for each variant…
...and what the goal of the experiment is.
Different experiments might have different desired goals, and A/B testing supports a number of common outcomes, like increasing overall revenue or retention in your app, reducing the number of crashes, or increasing the occurrence of any event you're measuring in Google Analytics for Firebase, such as finishing your in-app tutorial.
Once you've defined your A/B test, Firebase takes over by delivering these different variations of your app to randomly-selected members of your audience. Firebase will then measure your users' behavior over time, and let you know when an experiment appears to be performing better, based on those goals you've defined earlier. Firebase A/B testing measures these results for you with the same Bayesian statistical models that power Google Optimize, Google's free testing and personalization product for websites.
Fabulous, a motivational app for building better habits, recently made improvements to their app's onboarding flow by using Firebase A/B testing. When the user first starts an app, Fabulous shows them how to complete a habit, presents them with a letter about forming better habits, and then asks them to commit to a simple routine. The team suspected that if they removed a few steps from this onboarding process, more people might complete it.
Some of the screens a typical user encounters when first using Fabulous
So they ran an A/B test where some users didn't see the letter, others didn't see the request to commit to a simple routine, and others skipped both of those steps. The Fabulous team found that by removing both of these steps from the onboarding process, there was a 7% improvement in the rate of users completing the onboarding flow. More importantly, they confirmed that this shorter onboarding experience didn't have any negative impact on their app's retention.
You also have the ability to A/B test your app notification messages through the Firebase Notifications console. You can try out different versions of your notification message and see which ones lead to more users opening up your app from that notification, or which messages lead to users performing some intended goal within your app, like making a purchase.
A/B testing is available in beta to all Firebase developers starting today. If you're excited to get started, you should make sure that your app is wired up to use Remote Config and/or Firebase Cloud Messaging, and that you've updated these libraries to the latest and greatest versions. You can always find out more about A/B testing in our documentation, or check out the A/B Test Like a Pro video series we've been building.
Then, head on over to the Firebase Console and start making your app better — one experiment at a time!
We're delighted to announce the beta launch of Firebase Predictions. With this we are bringing the power of Google's machine learning systems to every developer that uses Firebase. Predictions is a product that can build dynamic user groups based on predicted behavior, determined using a machine learned model, and these user groups can then be targeted using Firebase Cloud Messaging, Remote Config and other technologies. User groups are updated daily to keep your predictions fresh.
Out of the box, there are four predicted groups:
You'll see these three groups right away when you select Predictions in the left nav bar of Firebase Console.
You'll notice that each of these cards has actions that you can take upon them.
Tolerance: The tolerance slider gives you the ability to tolerate low, medium or high risk of false positives. So, with a low tolerance, your population of users will be smaller, but so also will your risk of false positives. Similarly, with a high tolerance, you'll have a larger population of users, but at a risk of some of them being false positives. In the case of 'churn', a false positive would be a user who is predicted to churn, but in fact continues to use your app.
Target Users: This gives you a drop-down on which you can select Remote Config or Notifications for that user group. It also links to some handy guidance for offering in-app incentives.
Selecting Remote Config will take you to a new screen where you can specify the remote config parameter that you want to set up, and then the value for it for that population. So, for example if you've been building a game, and a lot of people have churned and you see from feedback that it's too difficult to play, you could set a remote config variable for the difficulty, so that likely churners could get a lower default value set for them, and thus would have an easier experience playing the game.
Selecting Notifications will take you to the familiar composer for messages to be sent using Firebase Cloud Messaging, but in addition to the usual options for picking target audience, you'll also get the predicted user group pre-populated as a user segment.
This allows you to target notifications at that user group. So, for example, for users at a risk of churning, you could send a notification with an enticement to continue using the app.
Creating your own predictions. You aren't limited to the built-in predictions cards, of course, and can create your own based on custom events that you set up in your app. In this case, you'll see a card that allows you to create a prediction.
And when you select it, you can then create a prediction for when your event will, or will not happen. This helps you identify users who are likely to engage in that conversion event:
So, for example, in the above case, whenever a user levels up in the game, the level_up conversion event is logged. Thus, you could create a prediction for players who may level up, and incentivize them to continue playing.
Then, once you've saved your prediction, over time a card will populate on the Firebase Console in the same way as the built-in ones.
And this card can be used in the same way as the others -- including targeting users with notifications and Remote Config.
Firebase Predictions is a Beta product, and we're continuing to work on it and improve it. If you have any questions or feedback, please reach out -- and for bugs and product suggestions, you can reach us at firebase.google.com/support.
Learn more about Firebase Predictions at firebase.google.com/products/predictions/ or dive straight into our docs right here.
Our mission for Firebase is to help you build better apps and grow your business, by providing tools that solve common problems throughout your app development lifecycle. We manage your backend infrastructure, provide you with the tools to improve the quality and stability of your app, and help you acquire and engage users, so you can focus on building a fantastic user experience.
To date, over one million developers have used Firebase to build their apps across iOS, Android and the web. It's both inspiring and humbling to hear the many stories that all of you share with us. Take Doodle, for instance, a company that helps you find the best date and time to meet with people. Doodle recently used Firebase to redesign their app and increase retention and engagement.
We're excited to be hosting the second annual Firebase Dev Summit here in Amsterdam, where we get to meet many members of our developer community! We've been working hard to improve Firebase, so that our products work seamlessly together, and we have several exciting new updates to share today. We've integrated Crashlytics into Firebase, enabled first-class A/B support and taken our first step in bringing the power of Google's machine learning into Firebase with a new product called Predictions. We've also made a few other improvements, so let's dive in!
Since Fabric joined Google, we've been working to bring the best of our platforms together. Today we're announcing a big step in that journey: we're adding Crashlytics to the Firebase Console for new and existing Firebase users. Crashlytics is the best-in-class crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality, in realtime. We'll be rolling out this update over the next several weeks, but if you're eager to try it out sooner, you can visit g.co/firebase/opt-in and get access today.
We're also integrating Crashlytics with other parts of Firebase. You can now use Crashlytics events to trigger Cloud Functions and power custom workflow integrations. For example, you can automate a workflow to route issues in a critical app flow - like your purchase path - to a particular developer or Slack room, ensuring the proper escalations, reducing the time to resolution, and increasing stability.
In addition to bringing Crashlytics to Firebase, collaborating with the Fabric team has allowed us to make some exciting updates to the Firebase console that will help you find key information about your app more easily and efficiently.
First of all, you're going to notice a new structure in the left-hand navigation bar. We've clustered Firebase products into four main areas, based on the app development lifecycle: Develop, Stability, Analytics, and Grow. All of the products that you're used to seeing in the Firebase console are still there; we've simply reorganized things to more accurately reflect the way your team works.
We've also redesigned the first screen you see when you open a Firebase project — what we call your Project Overview screen. We've heard from you that the majority of the time, when you come to the console, you're looking for four main statistics: daily active users, monthly active users, crash-free user rate, and total crashes. We've taken those four key metrics and made them front-and-center for any apps in the project. We've also added sparklines, so you can understand how your app is trending over time.
Finally, we've overhauled the Analytics section of the console. You'll find a new dashboard that is organized around the questions and tasks that you tackle on a day-to-day basis. We've also added a Latest Release section that gives you all the information you need about the stability and adoption of your latest app release, so you can make quick decisions after a launch. Lastly, we've added realtime cards to both of these sections, so you can have up-to-the-second insight into your app data. Like Crashlytics, these changes are rolling out over the next few weeks, but you can get access today by visiting g.co/firebase/opt-in.
Firebase Cloud Messaging (FCM) gives you an easy way to send notifications to your users, either programmatically or through the Firebase Console. However, sending cross-platform notifications with more complex functionality has been difficult, sometimes requiring you to create multiple, separate messages.
Today, we're announcing a new RESTful, FCM HTTP v1 API that makes it safer and easier to send messages to your cross-platform applications. The new FCM API allows you to use platform-specific fields in a single notification. For example, you might send a simple text notification to iOS, but a request with a click_action to Android, all in one API call. To read more about the new FCM API, visit our documentation.
click_action
In addition to FCM, another powerful tool for driving user engagement and retention is Remote Config. Up until now, running variant tests with either Remote Config or FCM has been manual and quite some work. We've heard from many of you that you want an easier way to test how different app variants or push notification messages impact your key business metrics.
Today, we're launching the beta version of A/B testing, a new Firebase feature that's integrated with Analytics, FCM and Remote Config. It's built on the statistical engine and years of learning from Google Optimize, our free website testing and personalization product, and makes it easy to design experiments right from the Firebase console.
Setting up an A/B test is quick and simple. You can create an experiment with Remote Config or FCM, define different variant values and population sizes to test on, then set the experiment goal. From there, Firebase will take care of the rest, automatically running the experiment then letting you know when a winner towards your goal is determined with statistical significance. Learn more and get started with A/B testing here.
Whether you're driving engagement, revenue, or a different business metric, determining the right targeting can be difficult. Being proactive, instead of reactive, is always better, but up until now, there's been no easy way to anticipate what actions your users are likely to take. To help with this, we're taking our first step in bringing the power of Google's machine learning to Firebase with a new product called Firebase Predictions.
We've already started using machine learning in other parts of Google, to enhance consumer products like Photos, Inbox, or the Assistant. Now, you can harness Google's machine learning, using Firebase, to help you build great products. Predictions automatically creates dynamic user groups based on predicted behavior from your Analytics data and, out of the box, it will generate four user groups:
You can use these predictions for targeting with Remote Config and notifications composer, giving you the ability to only show ads to users who are predicted to not spend money in your app or send a notification to users who are predicted to churn in the next 7 days.
You can also create predictions for any Analytics conversion event in your app. For example, if completing level 3 is an important milestone in your app, you can create a prediction for users who are likely to not hit that milestone and then send them an in-app promotion using Remote Config.
We're already hearing from partners that Predictions helps them drive growth in their key business metrics. Halfbrick, a games developer known for popular titles such as Fruit Ninja and Dan the Man, used Predictions and Remote Config and boosted their 7-day retention rate by 20%! To learn more about Predictions, as well as read the full Halfbrick story, visit our product page here.
While we're excited about the updates to Firebase that we've announced today, we also know that there's a lot more work to be done. We are working hard to prepare for the General Data Protection Regulation (GDPR) across Firebase and we're committed to helping you succeed under it. Offering a data processing agreement where appropriate is one important step we're taking to make sure that Firebase works for you, no matter how large your business or where your users are. We'll also be publishing tools and documentation to help developers ensure they are compliant. You can check out our privacy FAQs at g.co/firebase/gdpr.
As we continue to grow and improve the platform, we'd love to have your input. Join our Alpha program to help shape the future of the platform and stay on the cutting edge of Firebase.
If you weren't able to join us in person in Amsterdam, all of our sessions are recorded and posted to our YouTube channel. Thanks for being a part of our community and happy building!
We're just days away from the Firebase Dev Summit in Amsterdam! This means that all across the company, dozens of engineers and product managers are hopping on planes and saying to themselves, "Oh, whoops. I guess I better start working on that presentation."
Just kidding! As your conference organizer, I've had a chance to see a sneak preview of what's in store for you at the Firebase Dev Summit. And I feel confident telling you that this year's Dev Summit will be full of exciting product announcements, instructor-led codelabs, and way too many jokes about wooden shoes.
Now if you can't attend the Firebase Conference in person, never fear! We'll be livestreaming all of the talks from the main track in our YouTube channel, starting at 10:00 AM (Amsterdam time). And if this ends up being inconvenient for your time zone, that's okay. All of those talks, along with the in-depth sessions from our secondary track, will be recorded and posted within hours. So you can stay informed of the latest Firebase news while also getting a good night's sleep.
So while it's always hard to pick my favorite talks out of all of the great ones we've got lined up, here are a few that I'm pretty excited about:
Firebase overview and announcements: If you just tune in to one presentation, make it this one. This is where we'll be covering all of the major announcements around what's new in Firebase. Thought we were done with the announcement of Cloud Firestore? Nope! We've got even more on the way and you can find out about it here!
Actionable insights with Firebase: Speaking of new and exciting announcements, this suspiciously-vaguely-worded presentation might contain a few details about some exciting new developments with Firebase. Or it might not. You'll just have to tune in to find out!
Automating your app's release process using fastlane: fastlane has been one of the most popular open-source tools among mobile developers, helping to automate many of the tedious parts of releasing an app, so you can focus on the fun bits. If you're not familiar yet with fastlane, this is a great way to find out everything that it can do for you.
BigQuery for Analytics: There's a lot of amazing stuff you can perform with BigQuery and Google Analytics for Firebase, but it can also be incredibly overwhelming for mobile developers whose SQL skills might be a little rusty. Todd will be showing you some really useful tricks that you can do with BigQuery to make tackling those SQL queries a little more useful.
Write production quality Cloud Functions code Cloud Functions for Firebase is a powerful tool that you can use to help realize your goal of creating a truly serverless app. But they can sometimes be tricky to get right. And while Jennifer's videos are a great way to get started with Cloud Functions, Thomas and Lauren's presentation can help you move your Cloud Functions from "neat little parlor trick" to "production-level toolkit".
Of course, these are just my thoughts; you're the ones who want to know more about Firebase, so feel free to check out the talk that's of most interest to you! My only strong opinion is about where you can get the best stroopwafels. (Honestly, you should just get the cheap packs at the supermarket, because the fancy ones just aren't worth it.)
It's October and Halloween is around the corner! I'm sure many of you have scary costumes to put together. When you're not spending time planning your costume masterpiece, check out some of the new features available in Firebase Test Lab for Android:
Test Lab's automated Robo test leveled up recently! Robo now crawls your app with about double the previous coverage. That means it will reach more screens and take more actions, which boosts its ability to find crashes throughout your app. In fact, the rate of finding crashes has gone up by about 62%. Robo is very motivated to find those scary bugs before they frighten your users away! If you haven't run a Robo test against your app, just upload your APK to Test Lab in the Firebase console at no cost. You also get a Robo test with your pre-launch report in the Play Console. For the crafty among you, you could possibly make your own Robo.
If you run a lot of tests with the gcloud command line, and primarily want to know if your tests simply pass or fail, you can speed up your tests by opting out of some of the extra information that Test Lab collects for you. Passing the --no-record-video flag will opt out of the collection of the video of your app, and --no-performance-metrics will opt out of performance data collected for game loop tests. So use these options to give your tests a good cardio workout for sustained high speed, which is imperative for escaping zombies.
--no-record-video
--no-performance-metrics
The Android Testing Support Library recently published some enhancements to the tooling used to test Android apps. With these updates, you can now make use of Android Test Orchestrator, which helps you isolate your Android test cases and therefore promote more consistent test results. Test Lab now supports this handy utility, so consider making use of it in your test suites today. Here's a gratuitous link to an orchestra in costume.
If you want to chat with the Test Lab team and others in the community who love testing their apps, why don't you join the Firebase Slack and find us in the #test-lab channel? There's no tricks there, only treats.