January 28th hundreds of thousands app developers, including me, received this email from Parse.
It has caused a shockwave in the app developer community. It is unbelievable that Facebook, who bought Parse in 2013 for $85 million simply terminates a service that is so widely used (600.000 apps) and appreciated in the developer community.
Initially I was, like many others, devastated. I am working on an app of my own. I intended to launch within the next few months. I was really looking forward to that. Launch time, finally! And now the backend is blown away!
It took a year to build this app, and roughly 30% of this time I spent on learning and developing for the Parse platform. My app uses many of the Parse features. I will have to find a replacement.
I do have some advantages compared to other apps:
- I haven’t launched yet. This means there is no migration of live data. Hurray! I am grateful that I received this news just before my launch instead of just after.
- In my code I have “abstracted-out” the Parse logic. All client code relies on Swift protocols. I access Parse via a service layer protocol. The data objects in this protocol are specified in terms of a protocol as well. So there are no Parse dependencies in my app view controllers at all. I can replace the Parse implementation of the protocols by a new implementation.
Despite these advantages I have many other dependencies with Parse: cloud code and cloud jobs, webhooks, anonymous users, image hosting, push notifications, location queries, just to name a few. And it will still be a lot of work to get everything going again.
What to do next?
We gotta move on with a smile! Parse has open sourced their code, That might be helpful, but it does by no means cover everything. The developer community is very active, lots of BaaS providers are competing for new customers, tailoring their services, and offering migration help. That is great. And I hope something beautiful will emerge from this. There’s an interesting and fast growing list with alternatives on GitHub .
How to trust a BaaS provider?
Whatever the best choice might be in terms of features and pricing, the major issue at stake is trust. I thought Parse.com (Facebook) was a reliable provider. Wrong. In 2013 StackMob was bought by PayPal and shut down a few months later. What guarantee of continuation of service do we have with any BaaS provider we select? None. Many of the currently active service providers do realise that the level of trust is lower than ever, and they do present themselves as a trustworthy party. I do believe that most of them are sincere and serious about this. Definitely. But what would happen if they are being offered millions by a tech giant company, to shut them down some time afterwards? Unfortunately we now (again) realise that this is not an unusual scenario in the BaaS business. There are simply no guarantees for continuation.
Starting today I will try to find a good solution for my app. I will first take a look at Amazon Mobile Hub. Why? Trust. I simply can’t imagine Amazon AWS shutting down. Did you know that Parse was built on top of Amazon? I’m going to “do the Hello world” and see where it takes me. Read more about it in my next blog post Exploring AWS as a backend for a Swift app.