I kind of got lucky dodging the Parse bullet -- it was only because I quickly saw in my Parse-based prototype I was going to go over the ~1M interactions per month allowed by the free tier. At the time, the tier I could tell I'd be headed for ratcheted up to something like $100/month. I decided I'd rather just build it myself. Obviously, I'm glad I did now. Mostly because I'm on to some other things now and would hate to have to be rebuilding at this point just to keep my humble (yet very much alive and being used) app running.
So the supermaket chain where you usually shop at closes its stores for whatever reason. Do you go back to farming your backyard or do you find a new store?
The BAAS industry is super young, only hipsters are into it. But it makes sense so it will eventually mature. Bugs will be fixed.
I strongly suspect there's something negative about the economics of BaaS services that's being implied by the fact that two of the most successful providers have shut down after acquisition.
Microsoft supported products: Azure - six years, .Net & Active Directory - thirteen years, SQL Server - seventeen years, Visual Studio - nineteen years, and Excel - twenty nine years.
What if everything was built around streams that multiple people could read and write to and each stream would have a server that would be the authority on which operation done in which order?
I think that's a more flexible system that can include sync, but also other things.
That's what I've spent years building, and I'm hoping to make it also a completely distributed solution that works across domains:
A primary benefit of sync is store-and-forward, i.e. I could be offline, change a customer record, and when I reconnect it syncs to those who need it via a server.
In the streams model, how does the server know which stream messages to send to a client that's been offline for a week, if not via sync?
Also, messages. Does a message equate to, say, a customer record? I read that a message is a record of an event that happened to something?
Especially given the fact that the very goal of most VC companies is acquisition.
1. This effectively poisons the well for any other BaaS providers out there. If two of the biggest companies in this space (StackMob and Parse) can get acquired and shut down in less than 5 years, what does that say about the future of the smaller companies in this space? As a developer how could you possibly trust any of these companies going forward, based on this track record?
2. Syncing is notoriously difficult to get right. Building a generalized syncing solution is even harder. Bugs in sync code tend to lead to data loss, which leads to angry customers. These types of bugs are hard enough to track down and fix in your own code. Trying to track down and fix bugs in complex third-party code can be damn near impossible.
If you decide to adopt a third party solution that purports to do your syncing for you, do your research carefully. Not just by looking at the toy samples which look easy to set up and work perfectly, but experiences and reports from actual developers who have tried such solutions. What kind of problems are they having? What are the limitations of the current implementation? How mature is the product? How responsive are they to bug reports? If something goes wrong and data is lost, how much insight do you have into the system to figure out why?