So if you haven’t heard, Facebook is shutting down Parse, the backend as a service (BaaS) that was acquired by Facebook a little while ago. Lots of developers are feeling a little lost, and even betrayed by Facebook. I tweeted this screen cap someone made from the Parse homepage before the shutdown, and it pretty much says it all:
:/ pic.twitter.com/ctoxrvTLYx
— Jameson Quave (@jquave) January 29, 2016
I didn’t need to add the emphasis there, they already did that. Thousands of developers TRUST US. You can see from this type of presentation of their image why developers are feeling so betrayed. Why would anyone continue using React Native, React JS, HHVM, Relay, or any other Facebook technology knowing that they may just randomly decide to pull the plug on it? Dedicated web hosting can alleviate the need to share hardware or software with any other sites or web pages. Webmasters are given the autonomy to decide on applications that are installed on the server to create specific configurations for their web needs, and have the ability to provide a secure environment for their site. As compared to a shared-server environment, dedicated web hosting offers a peace of mind that a site will be delivered in a reliable and secure manner. There are major benefits of dedicated web hosting, as discussed below. However, the major disadvantage, cost, is quickly being overcome. Because of continual growth in the dedicated web hosting industry, the rates for dedicated server plans are rapidly declining. A competitive environment drives up the level of service and decreases cost. This reduction is powered by an increase in small and medium-sized businesses gaining an online presence and the rapid proliferation of web hosting providers. Advantages of Dedicated Web Hosting Dedicated server hosting is favorable because of 2 major assets: control and reliability. Since a dedicated web administrator has more control over a Streaming Media Dedicated Server Hosting | ServerMania, it tends to be more secure, compared to a shared web server. By knowing what exactly is installed on a dedicated server through full root access, a system administrator is able to confidently make decisions on the software and application updates necessary to maintain the dedicated web server and keep it running in its most optimal configuration. Increased reliability is another major asset of dedicated server web hosting, as a server administrator has the self-sufficiency to optimize page loads by tweaking variables such as page load speed and general server resource allocation. This server reliability translates to customer satisfaction and an increase in the bottom line goals of a web site’s presence. You can also visit here for more information.
Sure, these are open source and the community can take over, but open source projects need maintainers and corporate backers are a huge boon. Facebook has proven that we can’t trust them, but this shouldn’t be that surprising to anyone who has worked with Facebook APIs in the past, or any third party social media API for that matter. I’m going to get in to that later, but let’s completely change the subject for a second to talk about the other elephant in the room, Twitter… and more importantly Twitter Fabric, which now owns Crashlytics and has integrated a bunch of the amazing work done by Felix Krause.
But to understand how Twitter has treated it’s development community in the past, I think we should talk about a little app called Meerkat. I promise we’ll get back to talking about Parse and Facebook, but this story falls under the same umbrella, so bear with me.
Meerkat
So a little backstory: I live in Austin, TX which means every year at SXSW I get a front-row seat to the startups that are going to be big over the next year. Twitter, Foursquare, GameSalad, and even the Four-Hour Work Week were all launched at SXSW. These are some of the bigger successes, but every year tons of wide-eyed founders show up to Austin to present their work, and hope it takes off with people at the festival. In 2015 there was an extremely clear SXSW winner called Meerkat.
Meerkat is basically a live streaming P2P platform for people to stream directly from their iPhones to other users, and it took SXSW by storm. Just walking around Austin last year at SXSW you would see Meerkat shirts everywhere. Everyone who was anyone was streaming live music, SXSW sessions, their lunch, or just about anything they were doing. Then, suddenly… it all stopped, for a very specific reason:
At the height of Meerkat’s launch, Twitter yanked API access right out from under their feet with only 2 hours notice.
If you’re familiar with the iOS App Store process you might understand how this is sort of an issue, considering even if the Meerkat folks could somehow rewrite their entire app to not rely on the Twitter APIs they could not get an app approved and on the app store with an update within 2 hours… Actually it’d probably take more like 3 weeks or so.
At the height of Meerkat’s launch, Twitter yanked API access right out from under their feet with only 2 hours notice.
Personally I was not that surprised, but many people were wondering why Twitter pull such a move… Did they violate the terms of the API agreement? Where they doing something illegal?
Well, no…
Actually it turns out the whole reason Twitter decided to handicap the most successful Twitter-based app in years is because they had their own competitor in the pipeline, called Periscope, which I refuse to link to.
So here we are, having Twitter once again asking for the trust of the development community. Sigh…
Parse
See, I told you we would get back to Parse!
Seeing as how Twitter and Facebook are basically just two sides of the same social media coin, It seems to me that trusting either of them has similar implications. When I wonder about how a tech company will proceed in to the future I always repeat the mantra, “Follow The Money”. This generally tells you how large companies will behave well in to the future, especially publicly traded ones (both TWTR and FB are public). American public companies answer to their shareholders regarding quarterly earnings reports, sometimes to the detriment of their customers and/or partners. When I saw Parse had such a huge threshold for their “Free Tier”, it really worried me. It seems to me 99% of apps (or more) would never cross that threshold, and if they did they would only do so by a few cents. What exactly are Facebook’s motivations when it comes to their developer tools, and in particular the backend as a service? I think the answer is pretty simply that they wanted your data, but it turned out to be worthless. So they decided Parse wasn’t worth their time any more. They can’t turn a profit by providing a free backend to hundreds of thousands of developers; so they shut it down. In Facebook’s own words:
We’re proud that we’ve been able to help so many of you build great mobile apps, but we need to focus our resources elsewhere.
Translation: “You aren’t making us enough money”
Facebook generates all of it’s bottom line from advertising, just like Twitter, just like Google who is now the most valuable company in the world, surpassing Apple. In fact there is only one major platform vendor who doesn’t make the majority of their profit from advertising, and it’s Apple.
Following The Money
I tweeted this earlier today:
People asking me how to replace Parse in their code: If you don’t build & host your own server code, your backend is always in danger. — Jameson Quave (@jquave) February 2, 2016
It’s true, you really can’t trust these social media companies with your backend so blindly. You have to Follow The Money to find the motivations of the parties involved. If their motivations are not to provide you with a great service that benefits their bottom-line, it’s unlikely it’ll stick around for very long. This is also a great way to analyze your own business if you are a startup founder or CEO. When you work with anyone, you must be certain their financial motivations align with yours, otherwise there will always be a disconnect. This applies to employees, co-founders, partners, and vendors alike.
The Facebook API
Back in the early days of the Facebook API, you could easily retrieve a list of a user’s contacts. This is what led to the mass-spamming from Facebook games, and the rise of Farmville. But Facebook decided they didn’t like that, so they yanked that privilege to the detriment of many apps, and Zynga’s stock. Seriously, check out what that did to Zynga’s stock:
If your business depends on an app, then your backend is an extremely important business asset that you absolutely must control. I’d recommend starting ira investing to avoid spending way too much money of your business and save up money instead. It took almost a decade for the likes of Salesforce and other cloud-based enterprise companies to make their way in to large corporations, and even today most of them are using on-site hosted versions of the software. The reason is that in a well run business you will own anything that is mission-critical. This increases the maintenance cost as well as the cost to initially deploy, but without this control your business is dependent on the whims of some shady figures who are mining your data to serve ads. Is that who you want in control of your server? How much do you trust Facebook, Twitter, and Google?
Build Your Own Damn Backend
The only real answer to providing your mobile app with a stable backend that you control is to build it yourself. I know this sounds hard, but it really isn’t that difficult to use Ruby on Rails or NodeJS to produce a simple API to power your mobile apps. Frankly, the Parse backend with it’s javascript-based events is not all that different from writing a NodeJS app in express, grabbing some node modules for easy API delivery, and backing the whole thing with a MongoDB database. If this sounds really hard, just take a few hours reading some tutorials online, and you will realize how easy this all is to do yourself. Alternatively, you can just hire my company who does this routinely *end shameless plug*.
If you do hire a vendor to build your backend, make sure you are getting the source code, and the tools necessary to load it up on whatever server you need. Docker is a nice way to contain all the environmental requirements for an app, and services like Heroku make deploying Rails apps easy.
Fun Fact: About 95% the way through writing this post, my ironic Twitter embeds trashed all the formatting and I had to reformat the entire thing. ^_^
Yo dawg, can you please not delete my comment. I’m asking you if building backend is so easy. Why don’t you provide a link to a tutorial? Parse has provided that, and plenty of time to transfer.
I deleted your comment because you are using an anonymous name and email, which means you wont get notifications for follow-up discussion. I didn’t think you’d just keep coming back refreshing. You could easily find a tutorial by looking online. rails-api is a useful gem to look in to, maybe look for a tutorial using that. Poking around online, this seems pretty good: http://www.yoniweisbrod.com/rails-api-mini-guide/
For Node maybe look at this one: http://cwbuecheler.com/web/tutorials/2014/restful-web-app-node-express-mongodb/
Thanks.
I read these guides, honestly a bit confused. How do I hook up the front end to the back end?
To connect the backend to the front-end you need to understand how to work with an API. ObjectMapper is a great tool for handling this with minimal coding: https://github.com/Hearst-DD/ObjectMapper
I also have tutorials for this type of thing: http://jamesonquave.com/blog/developing-ios-apps-using-swift-tutorial-part-2/
You should never ever ever delete a comment that isn’t spam. Maybe another website visitor will benefit from it.
Generally I agree, but in this case the original comment had very little substance and was mostly just a personal attack. The follow-up version *was* useful so I will keep it here.
As for me BaaS is good start for startups that need proof-of-concept of their idea.
Sure, that “real” business pretty sure needs big infrastructure, but personally I know few iOS dev that used to use Parse, just because they really don’t want to write their BE.