Bots, BaaS and the Death of AppsPosted by Itay Herskovits on Sep 14, 2016
The release of the first iPhone in 2008 gave developers an entirely new medium in which to provide content – the mobile app. While mobile apps had existed prior to the launch of Apple’s AppStore, it was the iPhone that truly pushed smartphone apps into the public consciousness.
Apps have advantages over their mobile web app counterparts – they are fast, they can operate in an environment with minimal connectivity, they allow app developers to provide a cohesive mobile-first experience – but they are not without their drawbacks. Take music apps as an example. At the moment, your average Android phone will have, at a minimum, the built-in music player and the Google Play store. This allows you to access and purchase music from Google Play, but if you want to include any music from Amazon Prime, you need to install the Amazon Music app. These walled gardens are frustrating for users, and as a result many prognosticators are looking for what a post-app world might look like. In this post, we’ll take a look at what a post-app world is, and how a Backend-as-a-Service, such as Backand, can enable it.
Consolidating Content Streams
The primary issue posed by the app-enabled world is that of walled gardens. A walled garden is a content delivery mechanism owned, designed, and operated by the content provider. Amazon’s Music Store is one example of a walled garden, as is the Google Play store. To get full access to content that may be split across four or five different content providers, you need to install four or five different apps on your device. This is obviously problematic, as it presents a mismatch between what a user wants (Play Beethoven’s Fifth Symphony) and what they have to do to get it (Open music app, search for song, play song in app).
The goal of the post-app world is to merge all of these disparate streams into a single cohesive whole. Instead of four apps to access your music collection, you would only require one application that has access to your media library. The same could apply to movies, books, websites – any form of consumable content. By coding some intelligence into an automated agent, the complexity of dealing with each of the content providers would be completely replaced with intuitive commands issued from a common interface.
Enter the Bots
The Internet is making nascent moves towards this environment through the use of bots. Bots are programs that process text/audio input and take one of a set of automated actions as a result. The most common types of bots at the moment are chatbots – bots that watch text input into a messaging channel, and make certain changes based upon what occurs. The technology to implement a bot has been around for decades – chatbots were frequently found in IRC chat rooms, for example. However, the advancements in AI, particularly those relating to natural language processing, have made chatbots smarter. A Chabot can use internal AI, or outsource analysis to another program, and intelligently respond to a user’s request.
Powering Bots with BaaS
This outsourcing of AI, or more general calls to other third-party services, is where the application backend comes in. In a standard implementation, an intelligent bot program will need to communicate with a backend somewhere to perform the related processing. Take, for example, a bot that can automatically make purchases on Amazon on behalf of a user. The backend of this application needs to handle neurolinguistic processing, Amazon’s cart and ordering system, and billing functionality to ensure the user is charged correctly. Standing up a server running a basic application could serve those needs, but then you are faced with the traditional questions that every web developer has to deal with: How do we handle storage? What about security and scalability? What about hosting?
By leveraging a Backend-as-a-Service solution, your development team can vastly reduce the complexity of this step. You can encapsulate all of the necessary third-party calls into the backend functionality. Using BaaS to power your bot removes most of the complexity from a DevOps perspective – you no longer need to be concerned with scaling, security, or performance, and storage is more easily manageable without expensive physical server upgrades.
As the Internet continues to evolve, many prognosticators are heralding the end of the app era. Using tools like bots, you can write a plugin for a major platform (such as Facebook Messenger) that can serve as the primary interface between a user and their content, removing the complexity and confusion of walled gardens. Applications for this are already available in the wild – Amazon’s Alexa, for example, lets you design behaviors that integrate with the Amazon Echo device’s command system, while most social media providers give you APIs with which you can access chat contents and react accordingly. By building the back-end for these plugins using a Backend-as-a-Service provider, such as Backand, you can reduce the complexity of the development process. Powering your bot with a BaaS-driven backend gives you easy interoperability with other services, allowing for quick integrations and rapid expansion of functionality.
In a few days, we will publish another post more specific to the platform you can run bots on such as Facebook, Messenger, Slack and Telegram. We will also start diving deeper into the powerful functionality Backand provides to build bots. As a sneak preview, take a look at the documentation for creating a Facebook Messenger Bot.