Opening Keynote (Firebase Summit 2019)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[MUSIC PLAYING] PAUL MANWELL: [SPEAKING SPANISH] [APPLAUSE] So as you can see, I'm very happy to be in Madrid, and so glad that all of you could come and join us in person. I gotta say, I've really been enjoying the tapas and the churros con chocolate. I hope you get to enjoy the food while you're here, too. I also wanted to say hello to our livestream viewers. Thank you all for tuning in from all over the world. I'm Paul Manwell. In addition to being a churro aficionado and a madrileƱo at heart, I'm also the Director of Product and Engineering at Google. And I'm so excited to welcome all of you to our fourth annual Firebase Summit. In 2016, we held the event in Berlin. And we were joined by hundreds of developers. Right now, we have more than 1,000 developers in this room from over 70 countries. It's amazing to see our community grow stronger each year, always ready to learn from each other and share to make Firebase better. To date, the Firebase community has contributed over 1.4 million lines of code to Firebase. Give yourselves a round of applause for that. Thank you, everybody. [APPLAUSE] So this compares pretty favorably to the 900,000 lines of code you also deleted. [LAUGHTER] So thank you for making Firebase a really healthy code base and incredibly healthy community. We couldn't do it without you. So we love collaborating with developers like you, because you are the architects of the future. You dare to solve impossible problems, then, with gusto, write the code that brings your vision to life. Together, we can move technology forward by leaps and bounds. So before we jump into all the exciting news from Firebase, I wanted to quickly step back and talk about why Google invests in developers. Google is like you all. We're founded by developers who wanted to organize the world's information, make it universally accessible and useful so that anyone anywhere with a dream could gain the knowledge to put it to life. But the world is changing, and so we're evolving the way we approach our mission. We're moving from a company that helps you find answers to a company that helps you get things done. We want our products to work harder for you in the context of your home, your job, and your life. So when you need to find the fastest route to a restaurant for dinner, Google Maps is there to help you. When you need to buy flowers to celebrate your anniversary because you might have forgotten-- I've never done that-- the Google Assistant is there with a friendly reminder. And when you need to take a break after a long day, YouTube has hours and hours of content. And you all play a critical role in creating these magical experiences. It's your products that really help people in moments big and small. And we believe that a vibrant developer ecosystem that's open, with innovation coming from all quarters, benefits all of us. And that's why we invest in the tools and resources to make development easier and faster all the way across the spectrum, from mobile, where just a few weeks ago, we launched Android 10, adding support for 5G, and many privacy and security features. Also in the cloud, where we introduced Anthos, our new hybrid cloud platform that helps you run an app anywhere simply, flexibly, and securely. And for machine learning, we're committed to expanding TensorFlow, our open source platform that democratizes ML and makes it available to everyone. And of course, there's Firebase, the app development platform that brought you all here today. So we know that navigating this landscape can be tough. So we're bringing the things together on google.dev. Google.dev is a new home where you can get up to speed on all of the tools and resources that Google offers. Those of you who are here today in the audience and those watching on livestream can get early access by going to the link on the screen. It's google.dev/topics/firebase. But today, today is all about Firebase. Through Firebase, we're pushing to make app development seamless so that mobile and web developers can succeed, which is why the team has been hard at work expanding and enhancing its capabilities. And for me, it's really exciting to see that now over two million apps actively use Firebase every month. I know I speak for the rest of the team when I say it's an honor to be trusted by so many of you and to see the work that you're doing. Just to give a few examples, right here in Spain, cabify is using Firebase to help people informed of their cab's arrival time. In France, Le Figaro is using Firebase to grow their subscription base by personalizing content for their users. And in the United States, a startup named Mighty Immersion is using Firebase to transform care for cancer patients. And it really is incredible to see what you all do. And at Firebase and across all of Google's developer products, the best part of our platform is you all, our developer community. We believe that developers are critical to our success, which is why we want to have a vibrant and open developer ecosystem, an ecosystem that we all benefit from and an ecosystem that helps you bring your ideas to life. We're here to help you on that journey. So now I'd like to share a story about Mighty Immersion, a mighty three-person team that, with a little help from technology, is changing lives. Roll the video. [VIDEO PLAYBACK] [MUSIC PLAYING] - The first time I came to get my first round of chemo, I was so nervous. - The whole experience of accepting that your child has cancer and being able to not take it away was probably the hardest thing as a parent. - Health has always been our greatest wealth, but often health care visits are surrounded by pain and fear, especially when children are involved. My mom founded a health care tech company. So from an early age, I started thinking about how technology could be used to help people heal faster. My name's Luke Wilson. I'm the founder and CEO of Mighty Immersion, and I work in developing virtual reality tools to reduce pain, anxiety in pediatric patients. - I've always been interested in making games and the power of games to do something more than just entertainment. - The way VR works is it keeps the child engaged. They are focused on what's going on in the virtual world, and that allows them to really be removed from what's going on, in some cases, around them which can be stressful or painful. - VR has become an awesome tool that we like to use at Connecticut Children's, and it's something that we use both in a procedure standpoint and then also in a meditation or relaxation standpoint when kids have high anxiety or panic attacks. We've used that to help calm them down and to help refocus. - Really, I think it really helps all around, because when you're watching yourself get, like, a needle put in your port, it can be hard to watch, especially if you're already not a big needle person. - So Pebbles the Penguin was built as a fun experience and a game that never ends, and it kind of keeps going. And you are controlling this penguin that's luging down this mountain. - The second we started seeing success in the experiences that we were developing, we realized that we needed to distribute this at a larger scale. Even within the hospitals that we are working within, we had to grow the headset base from a couple of headsets to 10, 20, even 50 headsets in certain hospitals. That's when we needed Firebase in order to manage all of these devices through a simple web portal online. Using Firebase made developing the management system extremely fast. We were able to have this idea and put it into practice immediately. We didn't have to focus on any of the back-end development. We didn't have to hire an additional person to manage the APIs and that whole technical stack. We could rely on Firebase and really focus on the core of what we were building. So much is taken away from you when you're a patient in a hospital. And to be able to smile and enjoy your life a little bit is actually extremely powerful and brings us a lot of joy as well. [MUSIC PLAYING] [END PLAYBACK] [APPLAUSE] FRANCIS MA: Hi, everyone. I'm Francis, head of product for Firebase. What a touching video, right? The first time I watched it, I got a little teary-eyed, because I know what it's like to have close family members battle with cancer. But this is exactly why we do what we do, to enable companies like Mighty Immersion make the world a better place. And it's stories like this and many others are what inspire our team to work hard every day to help developers like you succeed. Now, together, we've come a long way, yet the best is yet to come. Now, as we look forward to the future of Firebase, we're invested in three key areas. First, helping you accelerate your app development by giving you the building blocks to solve many of the common and core problems in app development. Second, helping you run your app more efficiently by simplifying your workflows and servicing insights when you need it so it helps you improve your app quality and increase user engagement. And third, making Firebase more extensible so that you can tailor it to your needs as you scale, by giving you the control, flexibility, and transparency. Now, we've got exciting announcements across all three of these areas today. So let's get started. We'll dive right in to how Firebase helps you accelerate your app development. Now, as developers, we often spend a lot of time setting up infrastructure or writing code that doesn't differentiate our app, things like having to store our data, manage databases, authentication, or scaling our servers. And to help you focus more on building amazing user experiences and running your business, Firebase provides fully managed back-end services to help you solve many of these common and core problems, from databases to help you store and sync data, to Cloud Functions that helps you run your code in the cloud, to ML Kit that helps you apply machine learning and bring it into your app. Now, if you've used these services, you know they take the hard parts of building an app and make them easy. But we've also heard from you that there is an area where we can do more, is helping you with your development workflow. Now, today, as you develop and build an app, this is how it goes-- you make some code changes, and you push it to the cloud, switch over to your mobile device, and see if it works. And if you need to make a small change, you've got to start the cycle all over again. So we hear your feedback that you want a faster and better way to do this. And that's why we built the Firebase Emulator Suite. Now, the Emulator Suite is a set of tools that lets you run emulated versions of Firestore, functions, real-time database, and hosting locally on your computer for a faster and safer development experience. And since the suite runs locally on your machine, it enables rapid iteration without touching production data. And furthermore, it supports hot reloading when you're changing functions or security rules. Another great aspect is that it enables you to scale your development across larger teams. So for example, let's say that you have each developer having a local instance of Emulator running on their machine, you can develop them in parallel, say, if you have a team of five writing five different features, without creating conflicts. So over the past few months, we've expanded the functionality of the emulators. In addition to supporting Firestore in functions, we've also added support for the real-time database. We've also expanded the SDK from Android to iOS, and web, and many of the server-side admin SDKs as well, like Java, Node, and Python. Now, to show you some of these new updates, I want to pass it to my teammate, Julio, to show us a demo. [APPLAUSE] JULIO PEREZ-OSUNA MORALES: Hi, everyone. I was born and raised here in Madrid. So it's very exciting for me to be back home as a software engineer at Google, talking to you about some of the cool stuff Firebase has to offer. One of my favorite things about Firebase is how easy it makes our lives as developers. And to show you just how easy it is to develop using the Emulator Suite, let me introduce you to our friendly Eats demo app. Friendly Eats allows us to search for restaurants, write reviews, and see the reviews others have left. Currently, it can save reviews, but it doesn't update the restaurant's rating when a new review is added. So we're going to be adding that functionality here. Usually, Friendly Eats connects to Firestone and functions in the cloud, but we're going to be using the Emulator Suite to develop locally. So we'll connect to our local emulated instances of Firestore and functions running directly on my machine. Now, let's walk through how the app will work with local emulators. When someone leaves a review, we write it to Firestore, which will trigger the Update Ratings Function on my machine. This function will calculate the average rating and then write the results back to Firestore, which we'll see immediately, since we're using Firestore's real-time syncing. And all this is going to happen locally on my machine. OK. Let's see this workflow in action. First, we'll start the emulators. Once we have the Firebase CLI installed, we'll go to internal and run the command Firebase Emulator Start, which will start the emulators we selected for our project. Here, you can see the Firestore and Functions Emulator starting. They're all done. So let's switch over to ID and connect to them. We're going to need to connect to both the functions and Firestore Emulators. The nice thing is we only need one statement from each to connect. So I'm going to do what all good developers do and copy and paste this from the docs. So we already have our instance of Firestore. So we will need the settings. So let me copy that and apply them. OK. That's Firestore done. Let's do the same for Functions now. And that's Functions. So what this does is tell the SDK to connect to our local emulators instead of going to the cloud. Now, to make sure this is working as intended, let's run our app. We should see an empty list of restaurants for now since our local Firestore instance has no data yet. Let's give this a second to start. It's building. It's starting. There we go. OK. There we go. So let's start by adding some fake restaurants. And there we have it. Let's see what happens when we leave a review. So as you can see, the review was added, but we haven't updated the rating or the number of reviews for the restaurant. To do this, we're going to need to add our function to update this information. So let's go to the Functions file. Here, we need this function to run whenever a new review is written. And the first three lines of code will do exactly that. Then this function will calculate the updated restaurant information and store it into our Firestore. All that's left is to export this function so it can be executed. So let's do that. Great. So this should do the trick. And since local emulators have hot loading, I will need to save the changes, and they're ready immediately. So let's try to leave another review and see if it works this time. And there we have it. You see that now we calculate the updated information and see it immediately. [APPLAUSE] Hot reloading really is a game-changer when it comes to development velocity. Instead of waiting for a code to deploy, we make a change and see the results instantly. Now, as well as allowing rapid local development, the Emulator Suite also enables testing automation. For example, we can set up the emulator to run programmatically with our continuous integration system, like Travis for Jenkins, to automatically run regression tests before deploying to prod for a faster and safer development experience. Thank you, Francis. FRANCIS MA: Thanks, Julio. [APPLAUSE] So as you can see, our Emulator Suite gives you a local playground where you can safely build and test new features before rolling them out to production. But the most striking advantage of using the Emulator is that you can develop your code so much faster. Now I want to highlight another building block that you can use to accelerate your efforts to bring machine learning into your app, ML Kit. Last year, we launched ML Kit, bringing together machine learning technologies from across Google and making them available to every mobile developer in one easy-to-use package. Through ML Kit, we give you access to on-device and cloud-based APIs that you can use out of the box, even if you have no previous experience with machine learning. Now, these APIs provide functionality such as face detection, image labeling, text recognition. And we keep adding more. Now, while the base APIs are extremely easy to get started, we also recognize that many of you require solutions that are more customized for your app. And that's why ML Kit also supports for custom TensorFlow Lite models. And with Firebase, you can host your models while on a global infrastructure and then deploy them dynamically to your app, directly to your end-users' devices. Now, in this year, we've taken support for custom models even further. Previously, to integrate your own custom model, you still had to create, train, optimize the model all on your own. Recognizing this process requires some ML expertise that may not be widely available. We've made this much easier with the launch of AutoML Vision Edge. Now, to create custom models for image labeling, all you have to do is gather your training images for the classes of items you want identify and then upload them to Firebase. From there, you want to take care of the training and optimization process and automatically generate an on-device TensorFlow Lite model that's ready for you to implement into your app. No ML expertise is required. To show this to you in action, I'm going to pass it back to Julio. JULIO PEREZ-OSUNA MORALES: Thanks, Francis. So let's continue with our Friendly Eats example. To make it easier for our users to identify what dishes the reviews were for, we want to automatically tag the pictures uploaded using ML. To do this, I'm going to use AutoML Vision Edge to create a custom model that identifies different types of food. Let's go through how to do this. We'll start in the Firebase Console in the ML Kit section, where we'll create a new data set called Food and upload the images. So let's do that. Here, we'll upload those images. And because uploading can take a little while, let's jump over to the data set I created earlier, where the images are already uploaded. Here, you can see that you have the images with the labels. And you can add or remove images as well as update their labels. Once we're happy here, we'll move onto the next step, which is training the model. Here, you can pick between optimizing for higher accuracy or latency and size. We'll then have to choose how long to train the model for. Usually, larger data sets require longer training times. In this case, I'm going to go with a default. And to continue with the demo, I'll jump over to a model that is already trained. Here, you can see the results after the model is done training. We can see the precision and recall. And underneath, we can see a breakdown by label of how often the model was correct. This information allows us to decide whether we're ready to use this model or whether we need to continue iterating. Once we're happy, the last step is to integrate the model into Friendly Eats. We can either bundle it with the app or publish it to Firebase so the app can download it as needed for on-device inferencing. Note that we've created this model with just a few clicks and no machine learning experience. So let's see if it works. So here's the dish. And here's the model identifying it correctly as churros. Oh, there we go. See that? [APPLAUSE] So we just walked through how you can use Firebase to train and deploy an ML model for your mobile app without needing any ML experience. Back to you, Francis. FRANCIS MA: Thanks, Julio. [APPLAUSE] So since launching Firebase, we've strived to offer fully managed back-end services and infrastructure that speed up your time to market. Now our goal is to help you get to the fun part of app development as fast as possible without the fuss of managing servers. Nobody's got time for that, right? Now, we've set up development even more. The Emulator Suite lets you try your code out instantly on your local machine without deploying it. And AutoML Vision Edge makes it even easier and faster to build and deploy ML into your app. Now, in the coming months, we're going to continue to further integrate these products with Google Cloud Platform so you have access to more cloud services at your fingertips. Now, I'm going to pass it over to Derek, our Head of Engineering, to talk more about how Firebase can help you run your app more effectively. [APPLAUSE] [MUSIC PLAYING] DEREK PHILLIPS: Thanks, Francis. Firebase is your partner through every stage of the app lifecycle, from building an app to running it and turning it into a successful business. As your technology partner, we want our products to fit with the way you work and help you be more efficient. With products like Crashlytics and Test Lab and Performance Monitoring, it's easy to improve your app's quality and deliver a great experience. When you really want to understand your users, Google Analytics and Predictions can shed some light. And we also offer products like Remote Config, Cloud Messaging, and In-App Messaging to keep people engaged. Our primary goals are to simplify the complex tasks that you face every day and to serve as insights when you need to make decisions. This enables you to focus on doing what you love. And one of the things developers love to do is build features. We can spend endless hours sitting at our computers coding up happy features that all of our users will enjoy. But where there's code, there are bugs. We all know that the best time to identify and fix bugs is before your app is in the hands of users. Nobody wants to learn about problems in their app from app reviews, because bad reviews and bad ratings can have a lasting negative impact on your business. That's why it's so important to get real user feedback and test your app for stability and usability issues before releasing it broadly. But user testing can be a clunky process. You have to recruit testers, give them access to your app, find a way to distribute pre-release builds to them, collect their feedback, and then do it all over again when you have something new to test. So we asked ourselves, is this really how we want to spend our time? No, it's not. And now we don't have to. Say hello to Firebase App Distribution. [APPLAUSE] Firebase App Distribution makes it really easy to distribute pre-release versions of your apps to a group of testers. It provides a central hub where you can manage all of your pre-release builds for both iOS and Android. You can send distributions from the Console or you can use the Command Line tools that are already part of your workflow. We're launching App Distribution with CLI support for Gradle, the Firebase CLI, and Fastlane. To walk you through this, I'd like to welcome Alex. [APPLAUSE] ALEX SINGER: Thank you, Derek. We built App Distribution to give you a fast, flexible way to get your pre-release apps onto your testers' devices. There's no SDK to install, forms to fill out, or review process to go through. So I've been working on a highly requested new restaurant filter feature for the Friendly Eats iOS app. To get early feedback, I'll use App Distribution to send out a build to my feature branch to testers at the company. This is the Distributions page, where I can see any previous distributions and upload new IPAs and APKs. To get started, I'll quickly upload an IPA of Friendly Eats. Once uploaded, there are two steps we need to do to configure a distribution. The first step is adding testers. We'll give this a second to upload, and then we'll start adding testers. Awesome. Now, I can add individual testers or groups of testers that I've previously defined. Our iOS QA team will definitely want access. So I'll make sure that they're included. I'll also add an internal test group, and there's one particular developer who's been asking for early access. So I'll make sure they're in there as well. To give me confidence in knowing who will actually be invited, I can expand a group to see all of the individual testers. The second step is to add Release Notes. Release Notes ensure that my testers know exactly which new features are in this build and what I'm looking to get input on. So I'll let them know, new restaurant filter. Check it out. And now we're ready to send out this build. After I press Distribute, it will automatically be sent to these five testers. They'll receive an email with instructions on how to get started with testing on their device. The Distribution Card gives me the status of each tester so I can tell who exactly is trying out the app. This gives me the confidence to know if a feature is ready to promote to a production release or maybe to a larger beta pool of testers. I've also had a few other people at Friendly Eats who have been interested in getting access. I could manually add their email addresses. But what would be awesome is if they could add themselves to get access to the test app on their own. With this, we have Firebase App Distribution Invite Links. I'll create a new invite link, which will allow me to generate a unique URL where testers can go and sign up for access. So let's make a new invite link for Friendly Eats. I'll configure it so that anyone who signs up will automatically be added to that internal test group. And optionally, I can add a domain restriction if I want to make sure that people outside of the company won't be able to sign up for access. And it's created. So now the link is ready to copy and share with folks at Friendly Eats, including Derek, who I know has been interested in testing out an early version. DEREK PHILLIPS: Excellent. Looks like Alex has a new version of the app for me to test out. I've been wanting to check out the new filter feature he's building. So I can click on the Invite link, and it'll take me to a Sign Up page, where I can submit my email address to become a tester. In my Inbox, I get an email showing me how to get started. I'll go ahead and sign and accept the invitation. Oh, it looks like this is the version that has the new Restaurant Filter feature, which is just the one I've been wanting to test. I'll download it and open it up. We'll give it a second here to download. There it goes. Finally, I can use that Filter feature. So I'll go pick it here, and then-- oh, it crashed. Alex, the filter just crashed on me. What's going on? ALEX SINGER: Seriously? Oh, I thought I fixed that before the Summit. All right. Let's hop back over into Firebase, and we'll go into Crashlytics to see that crash appear on our Dashboard. So I'm going to load this back up. Oh, yeah. There it is. Let's see what's going on here. Yeah. So digging into this crash, it looks like you're running iOS 13. I've actually been doing most of my development on an older device that's still on iOS 12. So I think I have a fix, and I've got a new build that's ready to send out. I want to make sure that I can get it out to my testers and Derek as quickly as possible. I could use the Firebase Console again. But I really want to work on automating our distribution process. Our team already uses Fastlane to sign and build our app, and I want to expand our Fastlane configuration to include app distribution. In my Fast File, I've added a new block for Firebase App Distribution, where I can define the Firebase app ID and groups and release notes. So I want to make sure that this goes out to that internal test group, and I'll let our testers know that this is the fix for iOS 13 crash. Now, to send this out, it's as easy as executing that lane. My testers will automatically get another email letting them know that there's a new distribution to try out, and they can install it right away on their device. Hey, Derek. There should be a crash-free version coming your way now. DEREK PHILLIPS: I can't wait. All I need to do now is download the latest build, and I'm sure this one will finally fix that filter crash. ALEX SINGER: As you can see, App Distribution gives me everything I need in one console to manage all of my iOS and Android pre-release testing. Back to you, Derek. [APPLAUSE] DEREK PHILLIPS: Thanks, Alex. As app developers ourselves, we know firsthand how crucial it is to get early feedback. We're confident that Firebase App Distribution will make this a breeze and take the pain out of distributing pre-release builds. If you're a Fabric developer, you may have noticed that App Distribution looks awfully familiar, and it is. It's the next evolution of Crashlytics beta. Now you have everything you need to move to Firebase. As a reminder, we'll be sunsetting Fabric on March 31, 2020. So if you're a Fabric developer, we encourage you to migrate. We've made the transition as smooth as possible. When you land in Firebase, you'll see a summary of the data that was migrated. And we give you a checklist of tasks that will help you get ramped up on Firebase. As part of the transition, one of the things we definitely recommend you do is to configure Analytics. From the very beginning, Firebase has offered a deep integration with Google Analytics that gives you free and unlimited app analytics. Whether you have 100 users or 100 million users, Google Analytics can show you who your users are, what they're doing inside your app, and even why they turn. Google Analytics transforms a mountain of data into insights. We've simplified the process of understanding your users so you can take actions to keep them happy. We're continuing to strengthen our integration with Google Analytics based on your feedback. Many of you have been asking to connect your app data across platforms, because your users often interact with your business through multiple touchpoints. And many, many, many of you have been asking to get the same rich data and insights Google Analytics provides for mobile apps for your web apps, too. And you know what? Now that I think about it, that's actually a pretty good idea. So let's do it then. Starting today, Google Analytics and Firebase supports web apps. [APPLAUSE] Now Google Analytics gives you the features you've loved for native apps, like the ability to segment your audiences, build reports to track retention, and understand what actions people are taking. All of these powerful tools are available for web apps, too. Oh, and while we were at it, we added cross-platform support as well so you can get a complete view of your users' journeys as they move between devices. And now with Google Analytics available with web apps, we just thought we might as well go ahead and add web support for Cloud Messaging and Remote Config, too, so you can take action to deliver relevant and engaging experiences. To show you what all this looks like, I'm going to hand it over to Mai. MAI LOWE: Hi, everybody. I'm Mai Lowe, and I'm a product manager in Firebase working for Firebase For Web. So here we are back in Friendly Eats in the Analytics section of the Console. And the entire Analytics product works seamlessly for web. But I'm going to focus on three features to highlight for you today. The first is cross-platform analytics, the second is event reporting, and the third is audiences. Here we are in the Dashboard. And by default, you will see your data across your entire business. And that means all of the platforms that you build on. By setting userid in the SDK, you will now have all of the reports de-duplicated across devices and platform. But you can always drill in deeper. Since Web is entirely new to the mix, let's select Web. I'm going to apply the filter. Now you see all the web data for Friendly Eats. [APPLAUSE] All right. Now I've covered Cross-platform Analytics. Let's talk about events. All right. So I'm going to first look at an event that I know is near and dear to any web developer, Page View. And this is one of our new automatically collected events specific to Web and Firebase. And while this is an awesome and super-important metric, I hope by the end of this demo you will see that Google Analytics takes Web Analytics way beyond this. So let's select an event that spans multiple platforms, say, Start Review. And here you see I have access to the same filters I applied earlier in the Dashboard. And that means, by default, you're going to see Event Count and the User Count who triggered that event across your native and web apps, and you can again look at just web if you apply the filter. All right. Cross-platform Analytics Event Reporting. Let's talk about audiences, which, in my opinion, is one of the most exciting features. So audiences can now evaluate users on web and can even evaluate users cross-platform. And if you need a refresher, audiences are a way for you to group your users along attributes that are meaningful for your business. So for example, users who made a purchase or users who pass a certain level on your game. And just like on Native, Audiences for Web go beyond insight and reports. Because they're at the heart of targeting in other Firebase products, like Cloud Messaging and Remote Config. And yes, both of those now also work for web. So let's set up a quick audience. And I'm going to use that audience to show you how Cloud Messaging and Remote Config work for my Friendly Eats web app. So in Friendly Eats, power users are considered users who've submitted more than five reviews in any given 30-day period. So I'm going to set up an audience that captures that particular group. We're going to create a new audience, and it's going to be a custom one. And I'm going to select the event to be Submit Review. I'm going to add a parameter, Event Count, and set that to greater than five. And I'm going to check the In Any Day Period box and set that number to 30. I'm going to add another condition and restrict my browser to Chrome, and you'll see why in just a moment. But I want to point out that this is a brand-new dimension available in the Audience Builder that's specific to web. All right. And that's pretty much it. This audience can now be applied as a filter across the entire Analytics Console, so you can drill deeper into this particular user segment. I actually created this audience earlier already, so I'm not going to save it. I'm going to click out of this window. And let's move on to targeting, because targeting is analytics in action, and, plus, I think you're going to love it. So I've been wanting to send my power users in Friendly Eats a little message thanking them for being so engaged. I'm hoping that'll make them feel good and write lots more reviews. I actually saw one earlier already, but then I found out my app was going through some issues in Chrome. So now I want to send another one, but just to the Chrome users since they missed the message the first time around. And now you know why I limited my audience earlier to just Chrome. So Cloud Messaging is how Firebase sends targeted notifications to users. I'm going to create a new notification, and I'm going to title it, You're a Friendly Eats Rockstar. And in the body of the text, I'm going to say, thank you for writing helpful reviews. Now we're going to get to targeting. And here you see I not only have access to my native apps, there are also web apps in there. So I'm going to choose my Friendly Eats web app and the user audience that I just created, Power Users in Chrome. And then, by default, this message is going to go live immediately. But I could also schedule it to go today, tomorrow, next week. And I could even do a recurring one. It's a pretty handy feature in Cloud Messaging. So I'm going to review, and before I publish, I'm going to switch to two screens where Firefox is on the left and Chrome is on the right. Ideally, the message should show up on the right, just for Chrome, because these are my power users in Chrome. So let's publish and go to my two windows. And there it is. Thank you for writing helpful reviews. [APPLAUSE] All right. Let's say that's not all I want to do for these awesome users in Friendly Eats. Let's say I want to give them a temporary dark mode in the UI, because everybody prefers dark mode, right? So for this, I'm going to use Remote Config, because Remote Config allows me to configure different kinds of experiences for different groups of users. So I've created a condition in advance that targets the audience that we created, Power users in Chrome. And I'm going to go to the Parameters, and I'm going to set my Dark Parameter value to True for this condition. I'm going to update, publish my changes. All right. So let's go back. I'm going to refresh Firefox first. And nothing should happen, and nothing did. Now let's refresh Chrome, and there you go. Gorgeous. There's that lovely Dark Mode that I know my power users are going to love. Back to you, Derek. DEREK PHILLIPS: Thanks, Mai. [APPLAUSE] Data is at the heart of every good business decision. Google Analytics turns data into insights so you can understand what actions your users have already taken inside your app and why. But did you know that Firebase can also show you what actions your users are going to take in the future? That's where Predictions can help. With Predictions, you can apply the power of machine learning to your app analytics to segment your users based on their predicted future behaviors. We've been working hard to make Predictions easier to use, and we've made some recent improvements to give you more information and more control. To show you how to harness the power of Predictions, I'm going to turn it back to Mai. MAI LOWE: Thanks, Derek. All right. So in Friendly Eats, I have two main revenue streams. I use AdMob to show ads inside my app. And I also partner with restaurants to sell discounted coupons to my users. These coupon purchases are really valuable to me. But I know that only a small fraction of my users are actually going to make that. If I only knew who those users were, I could optimize the app for them. I could say limit the number of ads that this group sees to keep them in the core flow of the app as much as possible and hopefully buy more coupons. Well, lucky for me, Firebase Predictions does exactly that. So here we are in the Predictions Console. And I'm going to click on the Predicted Spend audience. I'm going to expand my graph of active users. And you see they're sorted from left to right in how likely they are to make that purchase. The probability of them making the purchase is on my y-axis. I can use these blue sliders to select the segment. And as I'm moving the blue sliders, you see the bars and the data change on the right to give me more information about the users that I'm selecting. I'm ready to configure the in-app experience for this group of users. I'm going to choose Remote Config. And then I'm going to select a parameter called Limited Ads. And this is going to reduce the frequency of the ads that this group of users sees. To make it extra easy, all the targeting information is pre-filled. And here you see that I'm targeting the top 2% of my predicted spenders. Let's continue. And once I publish, I know that my highest-value users are getting the tailored experience they want. Back to you, Derek. DEREK PHILLIPS: Thank you. [APPLAUSE] So we just saw demos of our new improvements in App Distribution, Google Analytics, and Predictions. The underlying goal of all of these updates is to help you run your app more effectively with Analytics insights and workflows to improve app quality and increase user engagement. With Firebase, we want to free you from the tedious tasks of app development so you can focus on building amazing user experiences. Now, in addition to expanding our own built-in platform, we're working to make Firebase more extensible to support your sophisticated needs by giving you more control, flexibility, and transparency. To talk more about that, I'm going to turn it back to Francis. [APPLAUSE] [MUSIC PLAYING] FRANCIS MA: Thank you, Derek. So in addition to helping you build and run your app smoothly, we also recognize that you need to do this at scale. Now, as your development team and user base grow, so does the complexity of your challenges. And that's why we're making Firebase more extensible so that you can tailor our products to better meet your needs. Now, one of the ways we do this is by open sourcing our SDKs so you can peek under the hood, make sure that our SDKs meet your requirements, or even submit your own improvements if you want. Because we believe that in order to create remarkable software, we need to get a lot of great minds involved, and the power of open source is the power of our community. And thanks to you, we now have community supported MAC OS and tvOS support, and have expanded our admin SDKs across server environments, which are huge wins. And since our last update at Google I/O, we've open sourced four additional iOS libraries and four additional Android libraries, including AB testing and Remote Config. Oh, and remember the web SDK stats for Analytics and Remote Config that Mai just demoed, we've open sourced them already as well. Now, I want to take a moment to highlight the work of Invertase, a company that's created a comprehensive React Native Library for Firebase. They've recently released a new React Native for Firebase v6 SDKs with Quick Start Guides and support for every Firebase service. It's amazing to see this community library has more than 5,000 stars on GitHub. And we continue to invest time and energy into open source, because we want to earn your trust by working with you to build a transparent and flexible platform. So in addition to making our platform more open, we've also taken strides to meet your sophisticated needs to manage and control access to your Firebase projects. Last year, we brought GCP's Identity and Access Management systems to Firebase in beta. And this system lets you set granular, custom, and pre-defined roles to limit access to your project. And today, I'm proud to announce that we're graduating the system out of beta into general availability. And as a bonus, we've also added per-product roles to give you even finer-grain control for each Firebase product. So with this, you can configure who has access to what so you can prevent mistakes and protect your data. So for example, you can enable a team member to just view your analytics report but not mess with your back end. Or you can restrict to permissions to just what's needed so that nobody accidentally sends a notification to all your users. All right. So we've talked about open sourcing more SDKs and refined access controls to your project. All of these are parts of our efforts to make Firebase more extensible. But wait, there is more. We have one more big announcement, and not to be too dramatic, but it signals the beginning of a new extensibility frontier for Firebase. Wondering what it is? Well, have you ever found yourself doing repetitive app development tasks, like, say, resizing the image in cloud storage, wishing that you had a tool to make things go even faster? Or are you tired of being asked to do the same things over and over again, like manually add users to a Mailchimp email list? Now, a lot of Firebase developers run into roadblocks like these no matter where they are in their career, yet there are no good solutions to get around them. You yourself may have recently encountered a problem that seems common but lacks a quick solution and wonder, there's got to be a better way. Well, now there is. We want to give you a better way to tackle everyday problems and make it easy to add functionality to your app so you don't have to reinvent the wheel each time. Today, I'm thrilled to introduce Firebase Extensions. [APPLAUSE] Firebase Extensions are prepackaged bundles of code designed to save you time by automating common tasks in your project. They're configurable, open sourced, and work with Firebase and GCP products. So whether you want to resize an image, add people to an email list, or shorten URLs, we've built an array of solutions that you can plug into your project and get going. There's no need to research, write, or debug code. It's all done for you. But you still have the flexibility to configure and customize the extensions to your specific use cases. So to show you extensions and how you can start using them, I'd like to pass it over to Osa on my team to demo it to us. [APPLAUSE] OSA OMOKARO: Hi. I'm Osa Omokaro, the User Experience Researcher working on Firebase extensions. If Firebase were a restaurant, extensions would be tapas, quick and easy bundles of solutions for common use cases in app development. As an example, I want to expand my business globally. So I need to translate the descriptions of my app to multiple languages. I'm going to do this using a Firebase extension. So we'll start off here on the Extensions Discovery page. Here, we have a range of extensions for common use cases. But I'm going to select the Translate Text extension. This then brings me to the Extensions Install page. We'll start by reviewing the APIs. This extension uses the Cloud Translation API and invokes it using a Cloud Function. Now, normally, I would need to do this manually. I would need to write my own Cloud Functions, research Translation APIs, and put that all together myself. But now, Firebase Extensions takes all those separate pieces and ties them together for me in one simple step. I don't have to write a single line of code. Firebase extensions are free. I will only be charged for the underlying cloud services, like the Translation API we talked about earlier. I've already enabled billing for this project. Next, I'm going to review the access granted to this extension. I've taken a look at everything here, and it all looks good to me. So I'm going to click Next to get to the last step. Extensions are configurable. This is where I will set up this extension to fit my specific use case. So I'm going to set my deployment location. And then I'll review my target languages. By default, they are set to English, Spanish, German, and French. But I'm going to add Italian just because it's really easy to do that. Next, I'll give it the pat to my Firestore Collections where my strings are stored. And then I'll add the field that I want it to translate on. And that's really all there is to it. I'm ready to install this extension. Now, Firebase Extensions takes just a few minutes to install. But so that I don't over-extend your time, I'm going to show you one that I already installed previously. Here's what it looks like. But let's go straight to the database so that we can see this in action. So here's my database. My collection is Restaurants. I'm going to add a new document. I'll give it an auto ID. The field is Descriptions, and the value will be Great For Groups. Now, when I hit Save, this is going to translate based on the configurations that we entered in the Install flow. So are we ready? AUDIENCE: Yeah. OSA OMOKARO: Yay! [APPLAUSE] I've been waiting to show you that for a really, really long time. Extensions are really cool. And as a researcher, I've worked with a lot of developers just like you to make sure that Firebase got this right. Extensions are easy to install. They are configurable, and they enable you to accomplish a whole lot more for your app with just zero lines of code. Thank you. Back to you, Francis. [APPLAUSE] FRANCIS MA: Thank you, Osa. So Osa just showed you some extensions that were pretty cool, right? And today, we're launching with nine Firebase extensions into beta. To see the full list, just head over to our website. These ready-to-go mini solutions will help you add new functionalities to your app, automate repetitive tasks, and use Firebase product more efficiently. Extensions mark the beginning of an exciting new face for Firebase to help you accelerate your app development, run your app more effectively, and provide more flexibility to support your sophisticated needs. So we just spent the last hour talking a lot about the new work we've done to make Firebase better. As you just saw, we've been focused on three things. First, giving you the building blocks to help you accelerate your app development so you can solve many of the common and core problems in developing an app. Second, helping you run your app more effectively by simplifying your workflows and surfacing insights when you need it to help you increase your app quality and user engagement. And third, making Firebase more extensible to support your sophisticated needs by giving you more control, flexibility, and transparency. With every improvement to Firebase, we aim to make app development easier so that you can stay focused on building amazing user experiences. Our mission is to help developers like you succeed. Whether success to you is getting an app off the ground or scaling it into a global business, you can rely on Firebase. Now, as you go throughout the day, I hope you feel energized and empowered to bring your ideas and passion to life. After all, you are all the architects of the future. We've got lots of technical talks, cool demos, and delicious food ahead. And rumor has it there may even be chocolate and churros. All right, folks. Thank you so much for being here. Enjoy the rest of today. [APPLAUSE] [MUSIC PLAYING]
Info
Channel: Firebase
Views: 11,842
Rating: undefined out of 5
Keywords: Firebase Summit 2019, Firebase Summit '19, firebase keynote, firebase summit keynote, developer keynote, app developer keynote, firebase live demos, Firebase summit, firebase dev summit, firebase developers, app developers, mobile app developers, app developer conference, Google, firebase summit '19, firebase, web apps, build apps, grow apps, develop apps, ios apps, android apps, ios, android, flutter, type: Conference Talk (Full production);, pr_pr: Firebase, purpose: Educate
Id: wO70Pnv0yeo
Channel Id: undefined
Length: 61min 32sec (3692 seconds)
Published: Thu Sep 26 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.