Firebase Dev Summit 2017
The Firebase Dev Summit 2017 was held in Amsterdam this year and they had some great announcements. The event was very well organized with breakfast, lunch, snacks, drinks and they even had a game build on Firebase that you could play. Ofcourse it was also possible to ask the Googlers some questions.
Cloud Firestore
The original Firebase Realtime Database is a NoSQL database with a JSON structure. It’s possible to do some queries on the data, but it can only be done on a single property. Secondly the Firebase Realtime Database is also limited in the number of user it can handle, so bigger apps would need to use sharding in order to handle all users (maximum of 100.000 users per shard).
Cloud Firestore is also a NoSQL database, but it’s structured in collections. These collections contain documents, which can contain collections, and so on. This structure allows you to query the data over multiple properties. Secondly it’s also no longer necessary to use sharding when you have a large userbase. The Cloud Firestore database works offline and will resync the state when the connection returns on both mobile and web. As a developer this will save you a lot of work if you want your app to work offline as well or even when syncing data over multiple platforms.
Predictions
Predictions can help you improve your app by predicting the actions of your user. By default Google has added 4 predictions about your users for the next 7 days: churn, not churn, spend and not spending.
For example this tells you the chance users will churn in the next 7 days. With Firebase Predictions you can target these users by giving them an in-game item in order to keep the users from removing your app.
Besides these 4 predictions it’s also possible to create your custom predictions.
To use Predictions you need to have implemented Firebase Analytics and enable Firebase Predictions in the Firebase console.
A/B testing
Previously you could use Remote Config do to simple A/B tests. Firebase has now added the option to do more extensive A/B tests. It allows you to run the tests with 2 or more configurations. It’s also possible to set a goal, for example which configuration has most people finish an onboarding flow. Besides changing configurations, it’s now possible to do A/B tests on notifications.
Firebase Crashlytics
At the start of 2017 Google bought Fabric, but it also had its own tool to log app crashes. During the Firebase Dev Summit 2017 Google announced that Fabric will be integrated into Firebase. It will still log all crashes as it used to, but as a developer you will have some extra tools if you use Firebase Analytics and Cloud Functions.
If you use Firebase Analytics the events will be added to crashes which will allow you as a developer to have a better chance to trace the steps of the user to find the issue.
Using Cloud Functions you could push a message to Slack, HipChat or other services using Cloud Functions to make sure everyone is up-to-date about the issues in your app.
Firebase Performance
This tool allows you to measure the performance of the app on several levels. The first is that it will show the performance of the network traffic you app generates. Secondly as a developer you can add custom traces in your code to measure certain processes you find important.
The Firebase team has done a lot of work for us developers to help us create better apps.
In short
- Cloud Firestore adds more/better functionality for apps
- Predictions and A/B testing lets us understand how to improve the app for users
- Firebase Crashlytics and Performance shows us where the issues are
Currently at Sanoma we’re already using the Firebase Realtime Database and Crashlytics, but I’m really looking forward to try some of the newly announced features and see how we can use them to improve our apps. Firebase Predictions seems very interesting to be able to see what kind of behaviours we can find out about our users.
Because Crashlytics is one of our most important tools to monitor our apps I’m very curious if Firebase Crashlytics will be as good and I believe that Firebase Performance will give us more insight in how our app performs.