Mobile Backend-As-A-Service: The New Lightweight Middleware?

It’s no secret that demand for mobile applications is skyrocketing in both the consumer and enterprise space. To meet that demand, application development shops are continually looking for new ways to accelerate development of apps that meet their consumers’ needs. In response, many new ISVs are beginning to offer a set of cloud-based, server-side mobile services to make app development quicker and easier to deploy. ISVs are referring to those services as “mobile backend-as-a-service” (not a particularly good name, but we’ll use it for now). MBaaS offerings sit squarely between the existing platform-as-a-service vendors and the full end-to-end solution space occupied by mobile enterprise/consumer application platforms (see Figure). I’ll go into more detail on the other layers of this mobile service triangle in the future, but for now let’s take a look at the MBaaS space.

Why should I use an MBaaS solution?

You’ve been given the challenge of developing a mobile app for your enterprise, and the funding’s there just waiting to be spent. You’ve gone through the current research. You’ve defined your target audience, the set of necessary functionality, and the overall experience you wish to deliver to that audience. Now comes the exciting part - building the application. One of the key areas that you’ll need to address is data storage and retrieval. Does the data that your app will access currently reside in a place that will be network-accessible by the mobile devices that will use it? If so, is it accessible through a set of RESTful interfaces for all the CRUD operations that may be required by your app? Finally, will users who access this data from your mobile app be able to authenticate through existing security infrastructure? If the answer to any of these questions is no, you should take a look at the MBaaS services offered by ISVs. Typically, the services include the following:

  • A cloud-based storage facility for your data.
  • Automatic RESTful API generation providing read/write access to that data.
  • Over-the-wire-optimized ways to access this data (generally JSON today).
  • User management facilities for authenticating access to your data.
  • A set of analytics that allow you to determine how your users are using your mobile app.

Key features found in MBaaS solutions

In addition to the base set of services listed above, vendors differentiate themselves in the marketplace by providing additional functionality designed to appeal to advanced business needs. Let’s take a look at a few of these features:

  • OAuth integration into existing social services – If social collaboration is a key aspect of the app you are delivering or if the analytics behind social graph connections between your users that are valuable to you (or your sales/marketing teams), this additional set of functionality will provide an easy way to link users to their Facebook/Twitter/LinkedIn profiles, enabling all of the above. In addition, upon successful authentication against these services, additional native integration with the social platforms is possible as well (e.g., inclusion into the social activity list in the Android ICS Contact app).
  • Native notification – If your mobile app needs to interact with the user when it isn’t in the forefront, or if the ability to recapture the user’s attention through any of the native notification methods is useful to you, the addition of notification functionality is important. Notifications can be as simple as notifying the current user that information has changed in the back-end data store or as complex as providing contextually significant information about the current activity of the user, inviting him to use the advanced capabilities of your app.
  • Search functionality across stored data – While the browser-based desktop environment was highly search-driven, the mobile space tends toward a content-discovery design that, given the knowledge of user context, is able to guide users to contextually appropriate content. This is a change from the user’s perspective, but from a technology point of view, search is still necessary. MBaaS vendors that provide higher-order search functionality will enable this capability within your app.
  • Mobile application management – Most apps enable access to many data sets, not all of which should have full access by all users. Vendors that provide mobile application management functionality will allow you to disable individual areas of functionality based on user/device/profile/etc.
  • Visual development – While this capability is most commonly offered further up the mobile service triangle in the mobile middleware space, the line is beginning to blur between these two levels as commoditization of the app development market takes its course. We are starting to see MBaaS vendors offer command-line access to their back-end data/services and, more importantly, visual access to the same. This may be through a web-based application provided by the ISV or a plug-in to one of the popular desktop development environments. Visual access to the data and services enables development teams to quickly prototype their apps and accelerate delivery of early versions.

Active research in the MBaaS space

While this is a quick overview of the current MBaaS space, my research is evolving. In the coming months we’ll be spending more time with MBaaS vendors such as StackMob (http://www.stackmob.com/), Usergrid (http://apigee.com/about/products/usergrid), Appcelerator (http://www.appcelerator.com/), FeedHenry (https://mobilecf.feedhenry.com/), Sencha.io (http://www.sencha.com/products/io/), Applicasa (http://www.applicasa.com/), Kinvey (http://www.kinvey.com/), Parse (https://parse.com/), CloudMine (https://cloudmine.me/), CloudyRec (http://cloudyrec.com/), iKnode (http://iknode.com/), yorAPI (http://www.yorapi.com/), Buddy (http://buddy.com/), and ScottyApp (http://scottyapp.com/). If you’re using MBaaS services today or are interested in what they can do, drop me a note and let me know you’re interested in the topic.

Comments

Papyrus Mobile for MBaaS

Michael, we at ISIS Papyrus provide the same kind of application creation for enterprise applications with the Papyrus EYE technology since 2010. While we are not focused on consumer applications we have them done as well.

http://www.youtube.com/watch?v=mFMt3vppcwg

All Papyrus application features can be accessed through the server side created UI widgets without any coding for the iPhone or Android device. The same APP is available on the PC desktop and in the browser. But all SOA or REST data sources can also be mapped through the server-side configuration, so for example access to DropBox or any CMIS standard archive is simple.

OAuth access to social networks is also supported.

The key point is that it is not just the backend data access but the configurable widgets allow the creation of a complete application on the server side without programming and the application is also maintained on the server side and does not require the download of a new app for updates. Different user roles can have quite different access capabilities and authorizations to use the corporate application. The other advantage is that corporate data are not stored in the mobile, which means that it is much more secure than your typical app.

Thanks for the mention!

We look forward to talking with you in the near future!

Comparative Analysis

Very insightful!

Have you done any comparative analysis on the different BaaS companies?

Hi, Kin Lane has done such a

Hi, Kin Lane has done such a round-up for MBaaS.
http://www.citygridmedia.com/developer/blog/mobile-backend-as-a-service-...

Kii Cloud = MBaaS

Hi Aung, just wanted to let you know about the free "Kii Cloud" MBaaS service...recently covered in TechCrunch... "A mobile back-end as a service (MBaaS) called Kii Cloud officially opened for developers recently, boasting 25 million end users and a group of distribution partners, including NTT docomo. Kii Cloud, in development for the past two years, marries APIs and SDKs with a proprietary back end that abstracts the complexity of building servers." Anyhow, this service is free during beta so check it out at: http://developer.kii.com

apiomat.com

We are currently working on such a service.
Data models are configured on the website and a specifik sdk for every app is generated.
Have a look here:

http://youtu.be/GIvI-IUw_V4

Lutz

Interested!

Hi Michael- Great blogpost. We are looking to leverage MBaaS for our project (www.dazzmobile.com) and would love to be included on your disto list.

Mike

Kii Cloud

Hi Mike, just wanted to let you know about the free "Kii Cloud" MBaaS service...recently covered in TechCrunch... "A mobile back-end as a service (MBaaS) called Kii Cloud officially opened for developers recently, boasting 25 million end users and a group of distribution partners, including NTT docomo. Kii Cloud, in development for the past two years, marries APIs and SDKs with a proprietary back end that abstracts the complexity of building servers." Anyhow, this service is free during beta so check it out at: http://developer.kii.com

BaaSBox

Hi!
Very interesting post.
I would point you out to a new initiative: BaaSBox.
What stopped us to use a baas provider for some projects of ours is the "vendor lock in" problem.
What if a baas provider will change its pricing plan, or run out of the business?
To change the Apps so they can use another backend could be very painful and probably expensive.
The project "BaaSBox" wants to bring in the baas ecosystem the open source paradigm. The idea is to offer the backend services (with HA, scalability and other non-functional features) and at the same time to let the developers to download the software and to run the backend software on their own platform if they want.
The project is very young and it is at the early stage of development process.
Some info could be found through the Facebook page www.facebook.com/baasbox or the twitter account @baasbox

Apstrata

Hi Michael,

Nice post. Thank you.
I also think you would be interested in adding Apstrata (http://www.apstrata.com) - a very interesting BaaS provider - to you research list !

Kii Cloud

Hi, just wanted to let you know about the free "Kii Cloud" MBaaS service...recently covered in TechCrunch... "A mobile back-end as a service (MBaaS) called Kii Cloud officially opened for developers recently, boasting 25 million end users and a group of distribution partners, including NTT docomo. Kii Cloud, in development for the past two years, marries APIs and SDKs with a proprietary back end that abstracts the complexity of building servers." Anyhow, this service is free during beta so check it out at: http://developer.kii.com

MBaaS vs. Mobile WCM

How do you distinguish between an MBaaS provider which can deploy behnd the firewall from a mobile WCM or CMS? Is it a distinction worth making? It seems like a MBaas provider is basically an uber-CMS that is focused on mobile.

Thoughts?

Hi Michael, as MBaaS is very

Hi Michael,

as MBaaS is very hot these days and more and more companies emerge with new offers, I'd like also to mention our solution - Mobeelizer (mobeelizer.com). We have slightly different approach - we offer an easy way for mobile developers to add bi-directional synchronization into mobile apps, so your mobile apps can work offline on many mobile platforms (currently iOS, Android, Windows Phone and Titanium).
We are targeting mainly enterprise mobile applications, where companies must mobilize their business processes or move their current mobile apps built i.e. on Windows Mobile 6.

Specialised MBaaS for Newspaper publishers - BaobabSuite.com

Thanks again Michael for kickstarting the required knowledge sharing around MBaaS.

It would be good to get your take on where you see MBaaS going with regards to tailored platforms for specific industries.

Our MBaaS platform is focusing on providing the newspaper industry with a tailored process driven solution that will aid in redistribution of their content across multiple web, social and mobile app platforms.

With MBaaS platforms the future of mobile can only get more cost effective, simpler and reliable.