It has been a while since I last decided on what mobile backend as a service (MBaaS) should I use for a new app/application. A lot of action has been going on in this domain - facebook's Parse, Google's Firebase, the recent new Fabric avatar of Twitter's Crashlytics and the very recent launch of AWS Mobile Hub by Amazon are some of the heavyweight players in the domain. While parse was the first entrant into this space, and has been around for sometime, Google's firebase isn't really a full fledged mobile backend system, but a platform to sync real time data between different clients. Therefore I will keep Parse and Firebase out of the discussion and will try to highlight some of the most interesting backend service tools from Fabric and Mobile Hub -
Twitter Fabric is an extension of the popular crash analytics product Crashlytics. It has now been extended into a set of modular kits or SDKs for performing different tasks - mobile analytics, crash reporting, unified mobile based login infrastructure, representing Twitter conversations and a mobile ad server for monitisation. Let's check some of the interesting ones individually -
Digits enables users to sign up or sign into an app with their phone numbers - removing the pain of asking users to fill forms and remember their passwords. Seriously, why do you need to remember your password when your mobile number/phone has become your best digital identity. What chat/messenger apps started some time back is quickly becoming the norm of the app identification system. Digits handle all the back end leg work for you from sending the SMS to matching the code. The good part is you can very easily customise the look and feel of your signup/in process. Also, with mobile numbers come great opportunity - to offer your users to invite/add/find friends from their contact list. I see Digits evolving into a complete first time user on-boarding out-of-the-box service where you can show onboarding/help/tour templates and customise it by different users.
Twitter Answers is the Twitter's reply to Flurry and Mixpanel - standard toolkit to track app analytics. The advantage Twitter has over its competitors is its flagship crash analytics tool, which is well integrated with Twitter Answers. Because of this very advantage and the presence of default custom events Answers allows you to see the most important stuff on the face. Events such as Percent Crash Free Users, Crash Free Session and Sessions per Active User take the time and energy to self analyse the numbers from different data sets - as is the case with Google Analytics. No surprise that with in an year of its launch Twitter Answers grew from nowhere to 30% of the iOS analytics market and 20% of the Google Play market.
Twitter's Optimizely, a complete visual editors enabled A/B testing platform, is the latest entrant in the Twitter Fabric suite. Though it has yet to evolve into a widespread tool, if you are looking for A/B tool for the app then Optimizely would be a great option given the promise it holds especially after the entry into the Fabric ecosystem.
Twitter Maps aka Mapbox is not out yet, but this certainly is one of the most exciting offering in the bag. Until now most developers's only choice for using an out of the box MAP has been Google Maps. Mapbox is on a mission to change how we use maps in applications - it allows developers to customise the map experience according to the context of the usage. I believe hyperlocal startups have a lot to leverage from Twitter Maps, and who knows this might just open up some interesting use cases for services.
Amazon Mobile Hub
Amazon has offered developer all sort of backend services through its popular AWS platform for long time now. Though these services did make up the backbone of many applications, but Amazon was feeling left out of the services needed to effectively manage the app - the whole analytics, identification, testing and data synchronisation suite. The new Mobile Hub will allow Android and iOS developers to pick and configure the services they need for their apps and Amazon will then run those features on Lambda. Options here include the ability to set up user logins, user data storage, app analytics and other features.
The most noble and interesting offerings under the Mobile Hub are -
"I wish I had a service like this back in 2012" - this is what I though after checking out Cognito. It is an end to end service that allows you to save your data, such as app preferences or game states across applications. For the organisations owning a eco system of mobile applications which use common user IDs, each application must be aware of the state of the user preferences in the other apps or in the different OS instances of the same application. Cognito makes this ridiculously cumbersome management easy by offering mobile identity management and data synchronization across devices. Fun fact - between the time I started writing this post and reached this point Twitter Fabric has partnered with Amazon to include Cognito into its suite!
AWS Device Farm
I remember a very able Software Test Engineer in my team once said "Even if we buy all mobile devices that our users use, we still may get stuck with crashes on one particular device". If you think the problem of testing web applications in different OS/Browsers/Version was quite a headache then the headache posed by the testing of mobile applications across all possible devices is a nightmare. AWS Device Farm is conjured to solve this issue - it is a cloud base system which allows you to test your app on variety of device abstracted behind Device Farm. Unlike emulators, physical devices provide a more accurate understanding of how users interact with the app, by taking into account factors such as memory, CPU usage, location, and modifications done by manufactures and carriers to the firmware and software. Yes, this is the real deal to run your test suite on majority of the available devices.
If you try any of these, please do share your experience with these services.