Mobile Apps In Realtime: Why Google Acquired Cloud Computing Tool Firebase


Illustration: Ross Patton/WIRED

Illustration: Ross Patton/WIRED



Instacart offers a mobile app that lets people shop for groceries over the internet. And yet, it still manages to duplicate the family trip to the local supermarket.


Different people using different devices, you see, can share the same “virtual shopping cart.” From her Apple iPad, Mom can slip milk and butter into the cart, even as Dad is adding coffee and doughnuts from his Android phone.


In the grand scheme of things, this isn’t a huge deal. But it’s a useful app—Instacart delivers all those groceries to your door—and it’s indicative of where the internet is headed: toward a world where we can easily share information among multiple devices in real-time. The trouble is that building apps like this is rather difficult. But Instacart has taken a short cut to this new breed of mobile computing. The San Francisco startup built its app using a rather unusual cloud computing service called Firebase. “We use it pretty much anywhere we need real-time information,” says Instacart co-founder Brandon Leonardo.


In a reflection of the larger move toward apps that trade data in real-time, a wide range of businesses now run software atop the Firebase service—including everything from Nest, the internet of things startup now owned by Google, to Jawbone, the wearable computing startup. According to the company, over 100,000 developers actively use the service, and it’s likely that many more will soon join them.


Last month, Google acquired Firebase, and on Tuesday, at an event in San Francisco, the tech giant will formally announce the service as part of its larger portfolio of tools for software developers, showing off a few ways Firebase can integrate with its own cloud services. According to Google product manager Ophir Kra-Oz, Google and Firebase share the same “vision” for the future of the net. Real-time mobile apps, he says, will “become the new standard.”


Competing with Amazon and Microsoft, Google already offers two major cloud computing services where developers and businesses can build and host their mobile apps and other online software: Google Compute Engine and Google App Engine. But Firebase is different. It provides a relatively easy way of speeding communication between two or more computing devices.


Instead of sending data back and forth between multiple devices, it creates a central data repository that all devices share. If several people are using the same Instacart shopping cart, for instance, they don’t trade data directly. Firebase sends all their shopping cart updates to that central repository hosted on its cloud service. When one device updates this repository, the changes are then automatically shared with all other devices.


What this means is that multiple devices can update each other while sending a minimal amount of data over the wire. This also means that apps can continue to operate reasonably well when they don’t have an internet connection. What’s more, because that central data repository is hosted on Firebase’s computer servers, companies don’t need to set up data servers of their own. “As an engineering team,” says Instacart’s Leonardo, “we can focus on other things—the stuff we’re good at.”


Firebase can help power all sorts of apps, from chat clients to services that let multiple people edit documents at the same time. Google plans to dovetail the service with other Google cloud services that help developers expand the scope of their applications, according to Kra-Oz and Firebase founders Andrew Lee and James Tamplin, who will continue to oversee the service from inside Google.


“Joining Google means that we can now take a developer from the very outset—the very concept—of their app, right the way through to a very complex application,” says Tamplin. “We can have this platform under one roof that can take you from start to finish.”


On Tuesday, Lee will demonstrate a new Firebase tool called “Triggers,” which lets developers automatically send an API (application programming interface) call to other cloud services anytime something happens in one of those central data repositories on Firebase. This is a first step toward integration with Google’s larger universe of cloud computing services, including a new service called Google Container Engine. Announced on Tuesday, Container Engine help run apps using Linux containers, a means of making online software more efficient.


In acquiring Firebase, Google also hopes to raise the profile of its cloud computing services—at least in a small way. As Leonardo says, Firebase is well known among the Silicon Valley developer community, and it can help bring some added cache to Google Compute Engine and Google App Engine, which are much younger than the cloud services offered by rival Amazon and not nearly as widely used. “An acquisition is about technology, customers, and talent,” says Google’s Kra-Oz. “In this case, we managed to get all three.”


With Amazon, Google, and Microsoft all going after this massive market in a big way, cloud services have become something of a commodity. But Firebase gives Google a service that’s unique—at least for the time being. As Leonardo puts it: “There’s nothing else that is what Firebase is.”



No comments:

Post a Comment