What is Firebase and why our engineers (and clients) are fired up about it

When speed and quality are critical to app development, leverage existing technologies.

Published by Colton Buchanan on 07.21.2020

In a digital economy, it comes as no surprise that there is an app for (almost) everything. Society is constantly plugged in, and advancements in software development have made it easy to spin up a mobile or web application in 48 hours or less. But building something of value is hard work.

Thanks to tech giants like Amazon and Facebook, users have high expectations of what an application should feel like in 2020. So, when companies lack the internal resources or expertise, they hire us to build a quality product and get it to market quickly. Shipping clunky experiences to meet deadlines is no longer acceptable—quality is critical for success. But with the rapid digitization of products and services, companies don’t have time to waste either.

We often hear from clients that we work at a breakneck pace. While much of this is a credit to our process, design philosophy, and team chemistry, we save a lot of time by leveraging existing technologies. Having used Firebase for a recent project with Delta Controls, we’re going to introduce you to the platform and show how we used it to develop an application that made setup and on-site sensor hub installation three times faster.

What is Firebase, Exactly?

Firebase is an integrated suite of developer tools that enable users to build powerful web and mobile applications. Maintained by Google and run on Google’s cloud infrastructure, Firebase interacts with backend services directly, circumventing the need for middleware between the application and the service. Firebase Diagram: Traditional vs. Firebase As a curated subset of the Google Cloud Platform (GCP), Firebase makes several Google services more accessible for app developers. The Firebase console is much more focused and intuitive than that of GCP. And the well-documented Software Development Kit (SDK)—a set of tools, libraries, documentation, code samples, and guides that developers download directly and follow—connects your app to these services with minimal development effort.

Additionally, the toolset integrates a large portion of the services that developers normally have to manually set up—such as authentication, configuration, file storage, and analytics. Leaning on Google infrastructure instills confidence for users (and our clients) that apps built using Firebase are well-engineered, reliable, and scalable.

What Firebase is Not

There are a lot of layers involved when building an application. Because Firebase doesn’t assist with everything, it’s worth noting what the platform excludes. Firebase does not concern itself with anything on the front-end. Developers are entirely on their own for managing content and creating the user interface. Instead, think of Firebase as a backend-as-a-service, or an invisible assistant that handles tasks and informs your application code of events, such as when a profile has been updated in the database, or a user has been logged out.

Taking IoT Sensor Configuration and Monitoring into the Cloud with Firebase

Delta Controls is a leading control manufacturer that helps multiple industries manage their operations, including surveillance, lighting, cameras, and occupancy sensing. Ahead of launching their innovative O3 Sensor Hub 2.0, Delta Controls asked POWERSHiFTER to create an easy-to-use planning and configuration experience to reduce time spent on-site by installers. With a tight deadline, our technology team decided to use Firebase to speed up the delivery process while maintaining the quality of the app.

The two Firebase features that saved the most time and were critical to the success of the project were the simplified user authentication and the realtime, offline database.

1. Simplified User Authentication

Standard user authentication flows, such as “login,” “sign up,” “reset password,” and “forgot password” are common for most applications. Yet development teams with the best intentions can spend a disproportionate amount of time trying to make authentication feel customary.

To give Delta Control’s engineers the ability to configure sensor hubs online, we built two different applications for web and mobile. Designing the backend would normally take upwards of two months, but leveraging Firebase allowed us to complete the setup in two weeks.

The expediency is attributed mainly to Firebase having its own Software Development Kit (SDK). Using Firebase’s clearly laid out integration flow removed the burden of manual configuration. The complexity of signing up, logging in, or resetting passwords didn’t disappear—Firebase handled the intricacies in the background, giving our developers more time to focus on the user experience. User authentication without Firebase User Authentication with Firebase

2. Realtime, Offline Database

Managing data is core to most business applications. They need a fast and reliable database to work with, which is where Firestore, Firebase’s document data store, is hugely beneficial. Firestore lets users easily store, sync, and query data at any scale—in realtime. These features were essential for Delta Controls because, in most cases, sensor hub installers are on remote construction sites with no network connections.

Additionally, if there is more than one installer on-site, they need instantaneous communication to avoid duplicating work. Firestore enables seamless synchronization by making changes visible without mandating installers reload or refresh the app. It does this by working off a local representation of the database that syncs in both directions with the Cloud. As soon as a connection is re-established, any modifications made while offline are immediately written to the Cloud database.

Much like user authentication, implementing this system from scratch would have been resource and time-intensive. Leveraging Firestore to do the heavy lifting cut costs and freed up developers to concentrate on building an IoT Platform that was efficient, flexible, and scalable.

Realtime, Offline Database

Designing for speed and quality

In a society dominated by apps and a need for speed, Firebase is an engineer’s best friend. The platform enables developers to move quickly by making the complex simple (no wonder we’re big fans), all at scale, and with the robustness, one would expect from a Google tool. Because of this, clients are pretty keen on it too.

While we have found a lot of success using Firebase for this project and many others, it isn’t appropriate in every circumstance. Nonetheless, if you can leverage the tool, developers and clients will be happy knowing that efforts are being spent on differentiating the product or service from competitors and releasing it into the wild sooner. Not to mention, users will be delighted that the app meets their exceedingly high expectations.

Find out how we helped Delta Controls’ engineers manage sensor hubs from the web, making setup and on-site install three times faster.