This guest post comes from Miko Matsumura, Senior Vice President of Platform Marketing and Developer Relations for Kii Corporation. Miko main role at Kii is evangelizing the Kii Cloud Mobile Backend-as-a-Service (MBaaS).
What’s good about MBaaS?
MBaaS provides mobile developers with LIBERTY and CONVENIENCE. LIBERTY in the sense of self-determination, control and an independent destiny--they can communicate with, manage, understand and serve their users without being beholden to external influences. An app developer who doesn’t control their users has no independent future. CONVENIENCE is a simple matter of reducing time-to-market, risk and cost of development.
MBaaS is only one of several options for cloud backend:
Why not just roll-your-own backend?
Now I’m sure the web-programming gurus here at ProgrammableWeb are all wondering why its not more convenient for mobile developers to write their own backends?
Reasons vary, but in our experience, these factors are pretty common among mobile app developers, particularly independent app store developers who are often just one person (and in some cases someone who has a full time job doing something else).
- Pace: especially when competing in major app stores, the pace of mobile app development demands at least bi-weekly updates, patches and bug fixes. There’s no time to architect scalable back-end services.
- Learning Curve: some mobile developers can double as server programmers, some can’t--but more importantly, the pace is fast enough on the client that they can’t afford to context switch.
- Stack Risk: stacks can be confusing? MongoDB? Couch? Cassandra? MySQL? Postgres? Ruby? Python? PHP? Node? For some this is simple, but not for all. The consequences of picking the wrong combinations can be severe.
Turns out it’s a full time job to keep users happy and release new versions of apps in the ragingly competitive app stores.
So MBaaS fills in the sweet spot in this chart by giving mobile app developers liberty over their own users, their own data and other such benefits, but with relative convenience--not requiring them to invest large amounts of time and effort in building and scaling back-end services.
Liberty is more important than convenience
To paraphrase Ben Franklin, those who would give up liberty for the sake of a little convenience deserve neither liberty nor convenience.
This is the biggest mistake of mobile developers when selecting a mobile backend strategy. Now another way of looking at it is that many developers marry their MBaaS for “love” (features) rather than “money” (business reasons). Many developers are in such a hurry to ship the next feature or version of their product that they just fall in love with whichever tool comes in handy. Or even more commonly they fall in love with the tools that are the most elegantly designed or have the coolest feature set. One issue can be that once you select, it can be hard to switch.
A longer term and more business-oriented view of this decision may save a lot of trouble down the road. When selecting an MBaaS partner (and there are many) it’s probably worthwhile to consider whether the provider is going to be in business a year from now or even 6 months from now. Startups get acquired (or worse, acqui-hired) or even run out of business. Be sure to understand whether your supplier has sufficient history of operation and a stable financial base.
Backend case study: NTT DoCoMo i-Concier
To understand what it takes to provide reliable service, we can take a look at the Kii Cloud MBaaS currently deployed by the largest carrier in Japan to millions of paying subscribers of the i-Concier™ mobile sync service. Historically, this kind of reliability, elasticity and scalability was only available to the largest carriers in the world, however, Kii has opened this service up to the developers of the world.
Isn’t MBaaS part of the weird closed mobile bubble-world?
One of the greatest things about the Programmable Web is the glorious freedom of connecting services from anywhere to anything--and the ethos is supported by web standards like REST. It’s all so open and free (as in free beer).
This makes mobile development paradigms like HTML5 seem most attractive as these solutions are not fenced behind app stores and paywalls. I think theres plenty of room for this and environments like Node.js provide common language across client and server. Commenting on this is outside the scope of this post, but the short perspective on this is that there should be room for everyone in mobile.
For those who do choose native mobile client programming, they do have to put up with ugly app store approval processes, app store “taxes” and a much more “closed” mindset around their technology stacks. But in exchange for being part of this world, developers gain access to monetization and professionalization and can build sustainable businesses with exponential growth properties. There’s room for everyone.