Thursday 30 June 2016

RC4 Now Available

Today we’re happy to announce that we are shipping Angular 2.0.0-rc.4. This release includes many bugfixes and improvements, and makes testing easier and more flexible.

What's new?

  • We've cleaned up our exported APIs so that they are simpler and more streamlined, and removed things that were never intended to be public. We have also added stability tag filtering so that you can easily tell whether something is part of the stable released API or experimental.
  • Consolidation and improvements to testing. For example, we no longer do special wrapping around Jasmine's it, describe, or other functions. This means we are no longer coupled to Jasmine, you can use another testing framework such as Mocha.
  • We've added more Resources to help you learn and use Angular.
Read the full release notes
Share:

Wednesday 29 June 2016

Introducing Firebase Test Lab for Android

Doug Stevenson
Doug Stevenson
Developer Advocate

At Google, we understand how important the quality of your application is in order to grow your user base, increase customer satisfaction and boost your revenues. When we took a closer look at data from 1-star reviews on Google Play, we observed that more than 50% of these reviews are related to bugs and crashes in the app.

Sampling of reviews in the Google Play Store, May 2016


Classification of 1-star reviews on Google Play Store
.

For many developers, finding and resolving these problems prior to release can be very challenging. As the Android ecosystem continues to grow rapidly, it can be a daunting task to maintain a high quality, performant app that scales well for your users. As your user base grows, you may only have access to a handful of devices to use for testing. Accessing devices that are unavailable in your country is also difficult. Moreover, setting up a proper testing infrastructure that facilitates pre-release testing is a very expensive and time-consuming process that requires continual maintenance.


Setting up an infrastructure with a diverse set of devices for testing

To help streamline the testing of mobile applications, we’re introducing Firebase Test Lab for Android, a platform where you can automate testing with the same tools that Google uses to test its own products. With a few easy steps, you can launch your tests on our physical devices to help ensure the best possible quality for your applications.

Your tests, our devices

Testing Android applications normally involves writing instrumentation tests to script the interactions with the app. If you’ve already written tests using Espresso, UI Automator 2.0, or Robotium, you can begin running those tests today on devices hosted by Firebase Test Lab.

Don’t write tests - record them

Authoring instrumentation tests is easier now with Android Studio 2.2 (or newer) using the new Espresso Test Recorder tool. All you have to do is launch your app in recording mode, and the test recorder will observe and remember all your interactions with the app, then generate test code in Espresso that duplicates those interactions. You can then turn around and run these tests in Firebase Test Lab.

No written tests? Use ours

Even if you’re not writing your own tests, you can still use Firebase Test Lab. We have a fully automated, intelligent test called a Robo test that will crawl your app by performing interactions with your app’s user interface. You don’t have to write a single line of code to gain the benefits of this automated coverage.

Run tests at scale - you choose the devices

With each test you run, you will select from a variety of device manufacturers and models, Android versions, and configurations (Virtual devices are also now available as a beta offering). Firebase Test Lab will then run your tests on multiple devices simultaneously to satisfy your selections as quickly as possible. When the tests are complete, the results from the test will be stored in your Firebase project.

Test early and often

Testing works best when it happens throughout the development process, not just before you publish your app on Google Play. To simplify this process, Firebase Test Lab gives you the ability to invoke tests directly from within the tools you’re already using, such as Android Studio and the Firebase Console. Our command-line interface allows you to run your tests through your continuous integration setup. Additionally, after you opt-in to receive the pre-launch report in the Google Play Developer Console, every new version of an app you publish to an Alpha or Beta channel will receive a free, five minute Robo test. These test results will become visible in the Play Store Developer Console.


Test results displayed in the Firebase console

Pricing

The Play pre-launch report generated from running the Robo tests is currently available at no cost! For more customized testing using Firebase Test Lab, customers on the Blaze Billing Plan will be charged $5 per physical device hour, and after October 1st, 2016, $1 per virtual device hour. Prior to that, virtual devices are available at no charge. See our pricing page for details.

Start improving your app quality today!

Running your first test on Firebase Test Lab is easy. You can follow our step-by-step codelab which walks you through various scenarios for running your first test. You can refer to our full documentation here. If you have questions or encounter any issues, please ask in the Firebase Google group.

Happy testing!

Share:

Wednesday 22 June 2016

Introducing Firebase Authentication

Laurence Moroney
Laurence Moroney
Developer Advocate

For most developers, building an authentication system for your app can feel a lot like paying taxes. They are both relatively hard to understand tasks that you have no choice but doing, and could have big consequences if you get them wrong. No one ever started a company to pay taxes and no one ever built an app just so they could create a great login system. They just seem to be inescapable costs.

But now, you can at least free yourself from the auth tax. With Firebase Authentication, you can outsource your entire authentication system to Firebase so that you can concentrate on building great features for your app. Firebase Authentication makes it easier to get your users signed-in without having to understand the complexities behind implementing your own authentication system. It offers a straightforward getting started experience, optional UX components designed to minimize user friction, and is built on open standards and backed by Google infrastructure.

Implementing Firebase Authentication is relatively fast and easy. From the Firebase console, just choose from the popular login methods that you want to offer (like Facebook, Google, Twitter and email/password) and then add the Firebase SDK to your app. Your app will then be able to connect securely with the real time database, Firebase storage or to your own custom back end. If you have an auth system already, you can use Firebase Authentication as a bridge to other Firebase features.

Firebase Authentication also includes an open source UI library that streamlines building the many auth flows required to give your users a good experience. Password resets, account linking, and login hints that reduce the cognitive load around multiple login choices - they are all pre-built with Firebase Authentication UI. These flows are based on years of UX research optimizing the sign-in and sign-up journeys on Google, Youtube and Android. It includes Smart Lock for Passwords on Android, which has led to significant improvements in sign-in conversion for many apps. And because Firebase UI is open source, the interface is fully customizable so it feels like a completely natural part of your app. If you prefer, you are also free to create your own UI from scratch using our client APIs.

And Firebase Authentication is built around openness and security. It leverages OAuth 2.0 and OpenID Connect, industry standards designed for security, interoperability, and portability. Members of the Firebase Authentication team helped design these protocols and used their expertise to weave in latest security practices like ID tokens, revocable sessions, and native app anti-spoofing measures to make your app easier to use and avoid many common security problems. And code is independently reviewed by the Google Security team and the service is protected in Google’s infrastructure.

Fabulous use Firebase Auth to quickly implement sign-in

Fabulous uses Firebase Authentication to power their login system. Fabulous is a research-based app incubated in Duke University’s Center for Advanced Hindsight. Its goal is to help users to embark on a journey to reset poor habits, replacing them with healthy rituals, with the ultimate goal of improving health and well-being.

The developers of Fabulous wanted to implement an onboarding flow that was easy to use, required minimal updates, and reduced friction with the end user. They wanted an anonymous option so that users could experiment with it before signing up. They also wanted to support multiple login types, and have an option where the user sign-in flow was consistent with the look and feel of the app.

“I was able to implement auth in a single afternoon. I remember that I spent weeks before creating my own solution that I had to update each time the providers changed their API”
- Amine Laadhari, Fabulous CTO.

Malang Studio cut time-to market by months using Firebase Auth

Chu-Day is an application (available on Android and iOS) that helps couples to never forget the dates that matter most to them. It was created by the Korean firm Malang Studio, that develops character-centric, gamified lifestyle applications.

Generally, countdown and anniversary apps do not require users to sign-in, but Malang Studio wanted to make Chu-day special, and differentiate it from others by offering the ability to connect couples so they could jointly countdown to a special anniversary date. This required a sign-in feature, and in order to prevent users from dropping out, Chu-day needed to make the sign-in process seamless.

Malang Studio was able to integrate an onboarding flow in for their apps, using Facebook and Google Sign-in, in one day, without having to worry about server deployment or databases. In addition, Malang Studio has also been taking advantage of the Firebase User Management Console, which helped them develop and test their sign-in implementation as well as manage their users:

“Firebase Authentication required minimum configuration so implementing social account signup was easy and fast. User management feature provided in the console was excellent and we could easily implement our user auth system.”
- Marc Yeongho Kim, CEO / Founder from Malang Studio

For more about Firebase Authentication, visit the developers site and watch our I/O 2016 session, “Best practices for a great sign-in experience.”

Share:

Tuesday 21 June 2016

RC3 Now Available

Today we’re happy to announce that we are shipping Angular 2.0.0-rc3.

What's new?

Read the full release notes
Share:

Thursday 16 June 2016

Introducing Firebase App Indexing

Laurence Moroney
Laurence Moroney
Developer Advocate

Firebase App Indexing, formerly known as Google App Indexing, allows users to re-engage with their installed apps through a seamless integration with Google Search.

If your mobile app users search for related content on Google, they’ll be given the option to launch your app directly from the search results.

By using the Firebase App Indexing SDK to drive user engagement for your app, you can also help improve the ranking of your content in search and provide auto-completions based on your content to your users.

If users don’t have your app on their device, an installation card can show up in search results when they search for apps like yours.

Why use Firebase App Indexing?

Research has shown that the average U.S. mobile user has 36 apps, but doesn’t regularly use 75% of them. Firebase App Indexing is designed to help users rediscover their apps through surfacing important content within them. With more searches done on mobile devices than on desktops worldwide, and 40% of searches returning results for indexed apps, using Firebase App Indexing is a great opportunity for you to get your app in front of users that are interested in your content.

You can learn more about Firebase App Indexing, including how to get started on the Firebase Developers site.

Share:

Wednesday 15 June 2016

RC2 Now Available

Today we’re happy to announce that we are shipping Angular 2.0.0-rc2.
This release includes:
  1. Animation Framework
    Manage the animations in your application in a stateful manner. The underlying platform support, documentation, and code samples for Animations have landed.
  2. Improvements to Forms
    We’re shipping new techniques for building forms with clearer directive and object names, including ngModelGroup, FormGroup(), and more. The in-progress changes from our proposal are opt-in for RC2.
    Opt-in and check them out by making a small change to your bootstrapping. For more information, see this gist. The old names will be deprecated but usable in the next release, but will be removed in a future release.
  3. More than 100 community contributions
    A key focus over the last few weeks has been to take in more community contributions and shrink the PR queue. These updates consist primarily of bugfixes and improvements to things like ngUpgrade or core.
  4. Web Workers have been improved
    More documentation is coming in the next few weeks, but check out our web worker sample.
Read the full release notes

What’s next?

One of the questions we get every day is, “When will Angular be ready?”. Developers all over the world are building production Angular applications today with RC1.
Our plans include one or a few more RCs over the next month or so, followed by Angular 2.0.0 Final. You can expect to see updates and additional documentation on our other efforts over the next few months as well.
We look forward to seeing what you do with RC2!
Share:

Tuesday 14 June 2016

Google Two Factor Authentication Login with PHP

In our previous post, explains you the login system using PHP with PDO connection. Here is an extra feature that can be added to login system for an extra layer of security. It is 2 factor authentication using Google Authenticator App for Android/iPhone. Your account could be at risk of having your password stolen. 2 step verification can protect from misuse of your account if someone have your password, because logging into your account always require a security code(this verification code is uniquely designed for your account, if you opt for verification code, an unique code is sent to your mobile for every 30-60 seconds) in the second step after you enter your password.

Google Two Factor Authentication with PHP

Read more »
Share:

Introducing Firebase Notifications

Laurence Moroney
Laurence Moroney
Developer Advocate

Firebase Notifications is a free service that enables user notifications for Android and iOS devices. Through the Firebase console, you can send notifications quickly and easily across platforms with no server coding required. These notifications can be directed at your individual users; to topics that they subscribe to; or to segments defined by analytics audiences.

Notifications is built on Firebase Cloud Messaging, and provides an option that lets you create a notification platform with minimal coding effort. It supports a graphical console for sending messages, removing the need for you to create a server. With this console, you can re-engage and retain your user base, foster app growth, and support marketing campaigns. If you are currently using Google Cloud Messaging, we highly encourage you to migrate to Firebase Cloud Messaging to for your Android and iOS apps to take advantage of Firebase Notifications. Check out our migration guide here.

Firebase Notifications integrates closely with Firebase Analytics, allowing you to define custom audiences and direct notifications to them. So, for example, you can send notifications to user segments for a particular app, version of an app, or language.

Creating notifications is very straightforward -- you simply use the Firebase Notifications GUI in the console to compose and send notifications to apps that are linked to your project in the console. When your app is in the background on a user’s device, notifications are delivered to the system tray. Tapping the notification opens the app. With a little code, it’s easy to add handlers to receive the message when the app is in the foreground, and respond to it by, for example, launching a foreground activity.

This talk about Firebase Notifications from Google I/O 2016, goes over Firebase Notifications, showing how the console works, as well as how easy it is to write code to implement notifications into your app or site.

Busbud uses Firebase Notifications to easily engage with customers traveling around the world

Busbud is the bus travel booking website, serving over ten million departures to travelers around the world every week. It lets the user search, compare and buy tickets from hundreds of bus companies in thousands of cities and bus routes. It uses notifications to communicate with users about changes that are relevant to them, and to re-engage with them with discount codes and promotions.

Using Firebase Notifications, they were able to send, receive and see push notifications in 3 minutes. They only needed to re-compile their app using the Firebase libraries. Once done, they were able to send messages to users in a specific language, audience or topic using a single line of code.

“Firebase [Notifications] let Busbud jettison code we didn't want to maintain, made it trivial to send new targeted notifications via the console while tracking engagement and is a powerful tool that makes the Busbud app a great companion for bus travellers.” Jean Baptiste Morin, Lead Mobile Developer, Busbud

You can learn more about Firebase Notifications at the Google Developers site, where you can see documentation and examples for Firebase Notifications on Android and iOS.

Share:

Friday 10 June 2016

Introducing Firebase Dynamic Links

Frank van Puffelen
Todd Kerpelman
Firebase Developer Advocate

We're all familiar with the idea of URLs that take you to a specific place on a website. And with the push towards mobile computing, it's becoming a lot more common to see URLs that can take you to a specific place within a specific mobile app. A concept most of us know as deep linking.

The idea of deep linking into your app is compelling, and it's easy to understand why. With just one URL, you can not only send users right into your app, but also to a precise location inside your app. Imagine if your email campaign promoting the hot new feature of your app could take users directly to that new feature with a single click. Or if the "Try our app" button on your website could not only take users to your app, but bring them directly to whatever content on your site inspired them to install your app in the first place.

Unfortunately, deep linking into an app isn't perfect. It's difficult to get the same link to point to both your iOS and Android app. And they might behave differently -- or simply break -- if your user doesn't have your app installed. Most importantly, if your target user has to install your app from the app store first, the context of that original link is often lost, and your users are left with your generic home screen rather than a customized warm welcome.

That's why we've created Firebase Dynamic Links: they're deep links that work the way you want them to. With one single link, you can send users either to your iOS or Android app, if they have it installed. And if they don't, you can send then to the appropriate listing in the App Store or on Google Play. Most importantly, these links survive the installation process, so when a user starts up their app for the first time, you can still retrieve the deep link URL that brought them to your app in the first place.

Share a Coke. And a Song. With Dynamic Links

As a fun summer promotion, Shazam recently partnered with Coca Cola to allow users to share some of their favorite tunes with their friends through the fine art of lip-sync videos.

Friends who received these videos got to view them inside a web page. Before implementing Firebase Dynamic Links, these web pages contained two separate links: "Install the app" and "Make your own video", and it was up to the user to know which link to click on. But after implementing Firebase Dynamic Links, Shazam was able to replace these two links with a single "Make your own video with Shazam" link that either took future lip-sync stars directly into the app, or the appropriate app store for their platform.

Thanks to their use of Dynamic Links, users who installed the app got to directly jump to the part of the app they cared about, and Shazam discovered that users who installed their app through this kind of onboarding flow had a 15% higher retention after 2 weeks than users who started up their app normally.

Creating Dynamic Links

Firebase Dynamic Links can be created on the fly, so your app or website can generate a new link whenever you'd like. You can also use the Firebase console to create Dynamic Links with our online form, in case you have non-technical members of your team who want to create their own links and don't feel like spending their time hand-escaping URLs.

Because Firebase Dynamic Links are part of the Firebase platform, they work alongside other features like Firebase Analytics. Not only can we give you basic information like the number of people who clicked on a link, but the Firebase platform will automatically track utm_ parameters (these are parameters your marketing team typically adds to any external campaign) so that you can analyze any of your important in-app events by the campaign or medium that brought them there in the first place.

Get Started Today!

Firebase Dynamic Links are free to use, and you can get started today -- no matter how much or how little of the Firebase platform you end up using. Need some ideas to get you started? Here's a few suggestions:

  • If you've got a mobile game, generate dynamic links to share specific levels or replays within your game. Have your users challenge their friends to beat their score on the exact same level, or link to their character's profile. Firebase Dynamic Links are perfect for user-to-user sharing within an app.
  • Convert your desktop users to mobile ones! If you have a website and want to encourage your users to follow you along in a mobile app, you can use Dynamic Links to drive a "View this page on your phone" feature. In fact, Google Maps does exactly this with their "Send to your phone" feature for sharing locations over SMS or email.
  • Similarly, if your users are viewing your website on their mobile device and you want to encourage them to view that content in your app, a Dynamic Link can make sure they get into your app and get directly to the content they need.

And of course, Dynamic Links are a great fit with your latest Email, SMS, or social media campaigns.

To find out more about Firebase Dynamic Links, you can check out our documentation here, and hop on into the Firebase console to get started.

Share:

Thursday 9 June 2016

Improvements Coming for Routing in Angular

A little more than a month ago, we introduced a new router at ng-conf. We hoped this would finally resolve the outstanding routing issues in our first design.

It turns out, routing is hard.

We’re grateful to have heard from many folks at ng-conf about flaws in this new design, so we are announcing version 3.0.0-alpha.3 of @angular/router and are deprecating version 2. You should begin using this router right away.

This router was built together with the @ngrx team. This router breaks compatibility with version 2 of @angular/router, but we believe it is a worthwhile successor to version 2 as well as to ngrx’s router.

Version 3.0

While the new version 3.0 of the router needs community validation and field-testing, we intend for this to become the primary router used by Angular applications. This router takes cues from both @ngrx/router router and UI-Router (a huge thank you to Chris for his work, he’s been working to make his ready for Angular 2).

What do I need to know?

  1. Route configuration is now specified independently of components
  2. Most [RouterLink] directives you have today will keep working
  3. The version 3 router is ready to use, and more capabilities are coming
  4. Read about the new router today in Victor Savkin’s Full Writeup on Routing
  5. Official Documentation will be launched in the next two weeks

Get started by checking out this plunker, stay tuned for more about this Router, and the upcoming Angular 2 RC2.


Some backstory for the curious

During the alpha and beta periods of Angular 2, we developed a router (@angular/router-deprecated) that worked fine for many use cases, but had some fundamental problems. Deep linking into lazy loaded sections couldn’t work, our lifecycle hooks used for things like authentication were not compatible with DI, and it was impossible to inspect the whole router tree from a particular routable component.

To resolve these fundamental incompatibilities, in April we began work on a second version of the router (@angular/router 2.0) and rapidly released it as an incremental improvement at the ng-conf conference. Thanks to your input, we know that this new approach did not completely resolve the issues that set us down this path, so we went back to the drawing board and brought in more external collaborators. This path lead us to the latest version of the router we are announcing today.

Share:

Wednesday 8 June 2016

Create an Error Free Application and Build an Amazing Customer Experience with Raygun

Are you building new web or mobile software? What are your goals while implementing your application? There could be many answers, like efficiency, more effective user experience, proper security and authentication, good marketing features and so on. In simple terms, the work we do should ultimately satisfy the end user. So, for any successful application, an end user’s happiness should be the first goal. A customer should never get frustrated with your application, it only costs you time, money and a whole bunch of lost customers.

Create an Error Free Application and Build an Amazing Customer Experience with Raygun

Read more »
Share:

Monday 6 June 2016

Behind the scenes: Firebass ARG Challenge

Karin Levi
Karin Levi
Firebase Marketing Manager

This year's Google I/O was an exciting time for Firebase. In addition to sharing the many innovations in our platform, we also hatched a time-traveling digital fish named Firebass.

Firebass is an Alternate Reality Game (ARG) that lives across a variety of static web pages. If you haven’t played it yet, you might want to stop reading now and go fishing. After you’ve caught the Firebass and passed the challenge, come back -- we’re going to talk about how we built Firebass.

How we began

We partnered with Instrument, a Portland-based digital creative agency, to help us to create an ARG. We chose ARG because this allowed us to utilize developers’ own software tools and ingenuity for game functionality.

Our primary objective behind Firebass was to make you laugh, while teaching you a little bit about the new version of Firebase. The payoff for us? We had a blast building it. The payoff for you? A chance to win a free ticket to I/O 2017.

To begin, we needed to establish a central character and theme. Through brainstorming and a bit of serendipity, Firebass was born. Firebass is the main character who has an instinctive desire to time-travel back through prior eras of the web. Through developing the story, we had the chance to revisit the old designs and technologies from the past that we all find memorable -- as you can imagine, this was really fun.

Getting started

We put together a functional prototype of the first puzzle to test with our own developers here at Google. This helped us gauge both the enjoyment level of the puzzle and their difficulty. Puzzle clues were created by thinking of various ways to obfuscate information that developers would be able to recognize and manipulate. Ideas included encoding information in binary, base64, hex, inside images, and other assets such as audio files.

The core goal with each of the puzzles was to make them both logical but not too difficult -- we wanted to make sure players stayed engaged. A bulk of the game’s content was stored in Firebase, which allowed us to prevent players from accessing certain game details too early via inspecting the source code. As an added bonus, this also allowed us to demonstrate a use-case for Firebase remote data storage.

Driving the game forward

One of our first challenges was to find a way to communicate a story through static web pages. Our solution was to create a fake command line interface that acted as an outlet for Firebass to interact with players.

In order to ground our time travel story further, we kept the location of Firebass consistent at https://probassfinders.foo/ but changed the design with each puzzle era.

Continuing the journey

After establishing the Pro Bass Finders site and fake terminal as the centerpieces of the game, we focused on flushing out the rest of the puzzle mechanics. Each puzzle began with the era-specific design of the Pro Bass Finders home page. We then concepted new puzzle pieces and designed additional pages to support them. An example of this was creating a fake email archive to hide additional clues.

Another clue was the QR code pieces in puzzle 2.

The QR codes demonstrate Firebase time-based read permissions and provide a way to keep players revisiting the site prior to reaching the end of puzzle 2. There were a total of three pieces of a QR code that each displayed at different times during the day. It was really fun and impressive to see all of the different ways players were able to come up with the correct answer. The full image translates to ‘Locating’, making the answer the letter ‘L’, but many players managed to solve this without needing to read the QR code. You're all smart cookies.

Final part of the Puzzle

Puzzle 3 encompassed our deep nostalgia for the early web, and we did our best to authentically represent the anti-design look and feel of the 90s.

In one of the clues, we demonstrated Firebase Storage by storing an audio file remotely. Solving this required players to reference Firebase documentation to finish writing the code to retrieve the file.


<!-- connect to Firebase Storage below -->
<script>
console.log('TODO: Complete connection to Firebase Storage');
var storageRef = firebase.app().storage().ref();
var file = storageRef.child('spectrogram.wav');

// TODO: Get download URL for file (https://developers.google.com/firebase/docs/storage/web/download-files)
</script>

The finale

While the contest was still active, players who completed the game were given a URL to submit their information for a chance to win a ticket to Google I/O 2017. After the contest was closed, we simply changed the final success message to provide a URL directly to the Firebass Gift Shop, a treasure in and of itself. :)

Until next time

This was an unforgettable experience with a fervently positive reaction. When puzzle 3 unlocked, server traffic increased 30x! The community response in sharing photos, Slack channels, music, jokes, posts, etc. was incredible. And all because of one fish. We can’t wait to see all the swimmer winners next year at I/O 2017. Until then, try playing the game yourself at firebase.foo. Thank you, Firebass. Long may you swim.

><(((°<
Share:

Rethink Database for Creating a Realtime Web Application with Node JS

Earlier in realtime, any request for data from the server makes the app slow, unscalable and cumbersome to maintain. RethinkDB mainly focus on this drawback and makes building realtime apps easier. RethinkDB is the first open-source, scalable JSON database built for realtime web. The developer can tell RethinkDB to continuously push updated query results to application in realtime; this reduces the server load and also the time and effort necessary to build scalable realtime apps. Here there is complete steps for installing RethinkDB. This post also explains you to create a reat-time web application using RethinkDB and Node.js

RethinkDB Nodejs tutorial

Read more »
Share:

Friday 3 June 2016

Introducing Firebase Remote Config

Frank van Puffelen
Todd Kerpelman
Firebase Developer Advocate

Turning a great app into a successful business requires more than simply releasing your app and calling it a day. You need to quickly adapt to your user’s feedback, test out new features and deliver content that your users care about most.

This is what Firebase Remote Config is made for. By allowing you to change the look and feel of your app from the cloud, Firebase Remote Config enables you to stay responsive to your user’s needs. Firebase Remote Config also enables you to deliver different content to different users, so you can run experiments, gradually roll out features, and even deliver customized content based on how your users interact within your app.

Let's look at what you can accomplish when your wire up your app to work with Remote Config.

Update your app without updating your app

We've all had the experience of shipping an app and discovering soon afterwards that it was less than perfect. Maybe you had incorrect or confusing text that your users don't like. Maybe you made a level in your game too difficult, and players aren't able to progress past it. Or maybe it was something as simple as adding an animation that takes too long to complete.

Traditionally, you'd need to fix these kinds of mistakes by updating those values in your app's code, building and publishing a new version of your app, and then waiting for all your users to download the new version.

But if you've wired up your app for Remote Config in the Firebase platform, you can quickly and easily change those values directly in the cloud. Remote Config can download those new values the next time your user starts your app and address your users' needs, all without having to publish a new version of your app.

Deliver the Right Content to the Right People

Firebase Remote Config allows you to deliver different configurations to targeted groups of users by making use of conditions, which use targeting rules to deliver specific values for different users. For example, you can send down custom Remote Config data to your users in different countries. Or, you can send down different data sets separately to iOS and Android devices.

You can can also deliver different values based on audiences you've defined in Firebase Analytics for some more sophisticated targeting. So if you want to change the look of your in-app store just for players who have visited your store in the past, but haven't purchased anything yet, that's something you can do by creating Remote Config values just for that audience.

Run A/B Tests and Gradual Rollouts

Remote Config conditions also allow you to deliver different values to random sets of users. You can take advantage of this feature to run A/B tests or to gradually rollout new features.

If you are launching a new feature in your app but aren't sure if your audience is going to love it, you can hide it behind a flag in your code. Then, you can change the value of that flag using Remote Config to turn the feature on or off. By defining a "My New Feature Experiment" condition that is active for, say, 10% of the population, you can turn on this new feature for a small subset of your users, and make sure it's a great experience before you turn it on for the rest of your population.

Similarly, you can run A/B tests by supplying different values to different population groups. Want to see if people are more likely to complete a purchase if your in-app purchase button says, "Buy now" or "Checkout"? That's the kind of experiment you can easily run using A/B tests.

If you want to track the results of these A/B tests, you can do that today by setting a user property in Firebase Analytics based on your experiment. Then, you can filter any of your Firebase Analytics reports (like whether or not the user started the purchase process) by this property. Watch this space for news on upcoming improvements to A/B testing.

A Fabulous Improvement in Retention

Many of our early partners have already been using Firebase Remote config to test out changes within their app.

Fabulous, an app from Duke University's designed to help people adopt better lifestyle habits, wanted to experiment with their getting started flow to see which methods were most effective for getting their users up and running in their app. They not only A/B tested changes like images, text, and button labels, but they also A/B tested the entire onboarding process by using Remote Config to determine what dialogs people saw and in what order.

Thanks to their experiments with Remote Config, Fabulous was able to increase the number of people who completed their onboarding flow from 42% to 64%, and their one-day retention rate by 27%.

Research has shown that an average app loses the majority of their users in the first 3 days, so making these kinds of improvements to your app's onboarding process -- and confirming their effectiveness by conducting A/B tests -- can be crucial to ensuring the long-term success of your app.

Is Your App Wired Up?

When you use remote config Remote Config, you can supply all of your default values locally on the device, then only send down new values from the cloud where they differ from your defaults. This gives you the flexibility to wire up every value in your app to be potentially configurable through Remote Config, while keeping your network calls lightweight because you're only sending down changes. So feel free to take all your hard-coded strings, constants, and that AppConstants file you've got sitting around (it's okay, we all have one), and wire 'em up for Remote Config!

Firebase Remote Config is part of the Firebase platform and is available for free on both iOS and Android. If you want to find out more, please see our documentation and be sure to explore all the features of the Firebase SDK.

Share: