firebase-main

Backed up by Google, Firebase boasts robust functionality, has a long list of APIs and provides in-depth analytics of your application’s performance. As Pieoneers’ team can attest, it is exactly the kind of platform you expect to get when you hear Backend As A Service and Google in one sentence.

What is Firebase?

When a new application is planned, the development team has to think about a client side and a backend. Both are equally important: where the data goes, what servers are used, how the maintenance is organized - all these questions need to be answered. This is why proper infrastructure set up can take a lot of time.

Firebase is a ready-to-use backend solution. It is cloud-based and comes with databases, user authentication, and hosting. This lets the developers streamline routine setup tasks and focus on the business logic behind the application. As a result, the development process is much quicker and the overall cost is lower.

Although Firebase's main focus is on mobile applications for iOS and Android at the moment, there is some support for web applications development, and the platform keeps on growing and evolving.

What are the key benefits?

  1. Firebase is a full-package solution. It is an all-in-one package of scalable databases, a cloud storage, and APIs coming along with a user authentication module, a test lab, and thorough documentation.

  2. Firebase has built-In analytics. Google Ads and Google Marketing platform integration is a given. On top of that, there are a lot of other options, such as App indexing, dynamic links, invites and notifications management. Firebase is very serious about helping its customers grow user engagement levels as much as possible.

To get a better feeling of the approach behind this platform, have a look at how Google introduces Firebase:

Who uses Firebase?

Firebase, started as an independent startup in 2011 and acquired by Google in 2014, has been used by many market leaders.

firebase-logos

Trusted by the largest apps and games

However, you do not have to be a big company to use Firebase. In fact, Firebase is a great match for startups working toward launching their first product or smaller teams working on a tight budget. Let’s talk about Pieoneers’ experience working with Firebase and what we learned from it.

Challenge of the real time synchronization

GameSheet is an application for keeping track of game scores and events (for more details read the GameSheet case-study). It was not enough to just show the results after the game was over, it was necessary to share them across multiple devices as soon as the round was up.

In other words, GameSheet needed seamless real time data synchronization. The trick was to implement real time updates streaming to the unlimited number of multiple devices simultaneously, while still staying within the certain limited development budget and meeting the deadline.

On top of that, it was important to allow for scalability. Growth of the number of users of the application can be a very unpredictable and uneven process. There might be periods when the user base grows slowly or even stagnates. These periods can be followed by a sudden growth sprout, when the number of users changes from 10 to 1000 per second.

Setting up the required infrastructure would take a lot of time and money, not leaving much for the actual development of the functionality. Firebase became the answer to all these issues and then some.

Pieoneers has been a trusted technology partner for many years, and when we informed them we wanted to try using Firebase they didn't hesitate to jump in. Knowing that we are working with only senior developers gives us the confidence to explore new technologies and this helps us to maintain our technological edge.

Shane McCallum, Director of Product at GameSheet

Making the decision to go with Firebase

When the idea to use the Firebase as a backend solution came up, the team spent a few days going through the documentation, setting up mini projects to test the platform’s capabilities and modelling required functionality. When it became apparent that the Firebase is up to the challenge, the development process started almost immediately.

The Pieoneers were able to focus on the functionality and the business logic right away. It is worth noting that there were no Firebase-related issues or glitches, the whole journey was smooth sailing. No integration issues with Pieoneers’ backend services, that lay at the heart of the GameSheet. No front-end backend integration issues.

No problem to overcome makes for a less interesting story, true, but it sure saves up everyone’s energy to focus on the development of the core features.

You need some time to get used to this tool, and then you get a boost. You can configure the humdrum staff quickly, and hit the ground running with the actual development.

Vasily Reys, Development Team Lead

Why Firebase worked for us

Firebase matched the list of requirements for the project perfectly.

First of all, data synchronization is a task Firebase handles quickly and efficiently. With the Firebase’s Firestore database it was easy to set up real-time synchronization which was one of the core features.

Cloud Functions were used to implement custom server-side features. Any change in the database can be configured to trigger a designated function. Data manipulation, complex calculations, data format change - whatever you need, you can do it. The only restriction is that the programming language is JavaScript only, and Pieoneers have this covered.

When an application takes off and becomes popular, there naturally comes a time when it makes more sense to invest in developing a custom backend solution and setting up its own infrastructure. However, until the application matures, it can go through many platos and growth periods, and this is when using a BaaS (backend as a service) platform makes a lot of sense. Firebase is scalable and it adapts accordingly, keeping the application accessible and in a good working order.

Because of the Firebase capabilities, the whole project was completed in the time that otherwise might have been spent setting up the infrastructure.

If we are asked to make a working prototype for the app in a week, Firebase is definitely the solution that would come to mind.

Vasily Reys, Development Team Lead

Firebase features we especially liked:

Firebase Authentication Icon

Authentication

Firebase Hosting Icon

Hosting linked to a specific domain

Firebase Machine Learning Icon

Machine learning libraries

Firebase Database Icon

Database services

Firebase Cloud Storage Icon

Cloud-based file storage

Firebase App Library Icon

Client-side app library

Firebase Testing Icon

Local development and testing with Firebase Emulator

Firebase Analytics Icon

User behaviour and app performance analytics

Firebase Free Plan Icon

Free start plan

From the beginning, live, real-time scoring of sporting events represented an aspirational goal of ours. Prior to Firebase, the engineering and infrastructure requirements of distributed real-time scoring kept us from pursuing it. Firebase changed the game. The Firebase Realtime Database allows us to seamlessly transition from live, online scoring to offline as network conditions fluctuate, and Cloud Functions allow us to compute live game statistics in real-time. It’s really something to see a Scorekeeper at ice level entering game events and know that a parent at home can see that same event appear instantly in their game feed. It’s an NHL calibre experience that we’re making available to anyone. That’s amazing.

Shane McCallum, Director of Product at GameSheet

What we learned working with Firebase

IT industry grows rapidly and learning new skills constantly is an important part of the Pieoneers’ identity.

To use the Firebase we had to change our vision of how some things should be approached. For example, the Firebase uses NoSQL databases as opposed to SQL databases we use more often. It was a great opportunity to work with a new tool and look at the development process from the new angle.

Firebase limitations:

  1. Only JavaScript programming language can be used for Cloud Functions.

  2. Not as many libraries are available for other platforms as for iOS, Android and web.

Firebase benefits:

  1. Routine tasks configuration is simple.

  2. It is a cloud solution with included hardware and maintenance.

  3. It is flexible and highly customizable despite being a package solution.

Once again we saw that venturing into the unfamiliar territory and taking time to learn something new is very much worth it at the end. Change your point of view often and find a new way of doing things!

Andrew Manshin, Chief Technical Officer