So: feedback taken seriously - we're listening. Fire away.
In short, I don't want FB/Goog/Apple/etc. to keep buying up the independent operators that I know and love. In a similar way, I prefer to frequent my local coffee shack over a Starbucks. Nothing Starbucks could do would really change my mind.
There's not really anything facebook could do other than not being facebook. Sorry.
Facebook's definitely not going to stop changing and sit on its laurels; our Platform is going to evolve as well. I know this means work for developers but we'd like to do so hand-in-hand with our community, working together to build a better future. We're learning how to do that. We've made mistakes. But we're here for you and are trying every day to give you more.
Email me at dew@fb.com if you prefer to rant in a private forum, or here and I'll respond.
I have the same concerns (although I already have apps using Parse in the wild!): • Will FB kill off Parse? Seems quite unlikely in the short term, but in the long term? • Are they going to try and force any integrations with FB? • Will Parse continue to improve (they've done a lot of this recently!) or will it dwindle as others move faster? • Data / Privacy - what's going to happen with those going forward? These always are a concern in people's minds when FB comes up. • Facebook's APIs / Developer Support is SHIT... will this happen to Parse too?
As a brand new member of the team, I'm really keen to hear more about how we've failed at our APIs and developer support and what we could do to be way better.
One of the few things I needed was an app request dialog. It didn't seem possible from the SDK docs (at least not clearly so), the only way was to use the deprecated global Facebook object:
http://stackoverflow.com/questions/13351584/how-to-send-user...
There was no definitive list of possible values for the dialog name or parameters either. Apparently "message" was being ignored, but only for "feed" dialogs...? Apparently there is a replacement now, but it's still in beta. How am I supposed to tell my clients what is possible (and sustainable) and what isn't?
https://developers.facebook.com/docs/howtos/send-requests-us...
The definitive list of properties for the request dialog is documented here https://developers.facebook.com/docs/reference/dialogs/reque...
Two examples of inconsistent documentation that I've seen while looking this information up:
The documentation for common dialog parameters still links to the deprecated API even though there are web and native dialogs now: https://developers.facebook.com/docs/reference/dialogs/
The iOS Games SDK refers to SDK 3.1 in its introduction but uses FBWebDialogs, and my old copy of the SDK (3.1.1) does not have them yet.
However, the biggest reason is that FB is NOT a back end service provider. Facebook's customer is the advertisers. Before getting bought, Parse's customer were the companies that used their service. Now Parse is part of FB so future directions will all be in service of FB's main customer, the advertisers. I have no problem with this from a business standpoint, I am sure it is a good move for FB, but as a customer of back end cloud services I want to be purchasing that service from a company that puts me first. FB will not do that.
TL;DR: I was Parse's customer, I am not Facebook's customer.
- I don't trust Facebook to not convert the user system into a Facebook connect monster and force it on me - I don't trust Facebook to not data mine my data and violate me and my user's privacy - I don't trust Facebook to let me export my data once I want to move on - I don't trust Facebook to actually delete data once I tell them to do so - I don't trust Facebook to not to attempt to monetize my users beyond the account fee that I pay
Developer mindshare is a big deal for technology companies. It has been argued that Microsoft's dominance in the 90s was fueled by its ownership of the windows api. Because the windows api had the most users, Microsoft owned the main platform where software developers and consumers would meet. While there was often friction between MS and the rest of the software community, they had a beneficial relationship.
Microsoft got paid rent and could leverage other people's work in making their value proposition to customers (ie if you want to game seriously you'll need to run Windows). And all of those developers did not have to write their own operating system or deal with all of the different computer companies.
Because Facebook apps have turned out to be more attractive as a way to access their social media users (ie for dating services etc) than it is for general purpose software products, they need a new way to grab developer mindshare.
Amazon didn't care about making their own mobile operating system because they have AWS. That's why they just forked android. Facebook doesn't want to buy a whole new mobile operating system in 2013 because blackberry and windows phone have shown how expensive it is to try and convince customers that they are a viable competitor to android and iPhone.
Being a mobile backend as a service allows Facebook to take rents and work with developers and avoid that big marketing effort. On the other hand, they will take on similar risks to Netflix. They need to prove themselves to be as valuable to android and iPhone as Netflix is to Verizon and Comcast or they will get jerked around.
Before, the Parse team said they were thinking of implementing it, but now there's no contest. Either you guys allow me to take my user data, or we're done, and I'm completely separating from you guys, and wouldn't recommend anyone building on the platform.
So, let me have ALL access to my user's data, and we can keep hanging. Otherwise, we're done.
As it is, I'm making plans already to move, on the assumption you guys won't let me get my user's data.
{ "results": [{ "photoId": 0, "useLocation": true, "username": "Kdhddv", "createdAt": "2012-05-08T22:41:13.187Z", "updatedAt": "2012-05-08T22:41:36.454Z", "objectId": "zeAsRRxu61", "sessionToken": "y67zp3emfcpto44v4qp0mvqyf", "bcryptPassword": "$2a$10$6XZsksIvrUW5vW9j86pbK.spXCdJFDyhiQlqg/yFNhD8FkwEslwHu" } ] }
The best thing FB can do is to bind itself legally to continue to run Parse for the next x number of years.
If FB wants to dabble with PaaS, businesses are going to assess Parse on the basis that it is only an experiment. Tying oneself to a back end is like marriage. No one will invest in a relationship if the other side is only half serious.
The acquisition announcement [1] states that Pieceable is/was going to be killed 12/31/12, but prior to that date they'd open source it. And, as far as I can tell, that's the last time anything has been said about the product. I don't even know if you're still taking our money, but it's going to suck when you turn it off or it breaks due to obsolescence.
So, my answer is that your prior behavior does not instill confidence.
Also, complete lack of trust in Facebook due to their lack of understanding of the need for privacy as opposed to pseudo-social ... "stuff".
But still - genuine congratulations! You guys have definitely earned it, I'm sure this was the right step financially.
Phrasing like this concerns me. When making platform decisions, I would very much like greater assurance that there is an expectation of how a relationship matures than you would find in a "gifting" scenario. I feel like sometimes the attitude from Facebook has been "We're giving all of this stuff away for free! What is there to complain about?" Free means no expectation of warranty and zero assumed reliability.
I don't really even care about free. If you're running a real startup, you pay for things, and I would gladly pay for Facebook API usage if it meant that Facebook took their APIs a little more seriously (I could talk at great length about all the subtleties in Facebook's APIs that require us to duplicate insane amounts of work that Facebook could _easily_ take care of). Amazon is clearly the best at this with AWS (especially in preemptively coming up with new services it turns out everyone was building piecemeal anyway), I would look at Amazon's APIs and try to port the some good insights to the Graph API.
For what it's worth, I'd be very interested to hear your at-length talk about the things Facebook could easily take care of that would make your life easier. Fire away. :) dew@fb.com.
One thing that would personally reassure me would be for Facebook to add a "non-hosted" offering to Parse, which means the ability to download Parse's application and install it on my own server. If this was available I would keep using Parse as a hosted service knowing that in the event that Facebook decides to shut it down at some point, I can export all my data and have it running on my own infrastructure.
If I'm going to pay a firm to store data for me, I need to completely trust that that firm is going to treat said data with silk gloves. I choose what's done with it, not my backend storage partner.
I'm going to be very surprised if the Facebook make-a-detailed-profile-of-every-person-on-the-planet department is going to keep their hands off of Parse data for the next 3 years.
Azure Mobile Services - http://www.windowsazure.com/en-us/develop/mobile/
It is still in beta but just for a couple of weeks. In general it is similar to parse.com but it has also heavy support for developing web applications hosted on backbeam (optinally with custom domain). It also has a more powerful query language, a real-time API and great support to manipulate files (you can escale images in different ways just by changing parameters in a URL).
Each project has two environments and you can browse the databases visually taking special care of relationships between entities.
The website is being redesigned and the documentation is work in progress.
This is an example of a complex query to the database:
select('news').query('join author join last 5 comments having score > ? fetch author', min_score)
We are open to comments and suggestions :)
Open Source SDKs iOS SDK built with Core Data Great developer community and support
There's a bunch out there. Buddy has advanced analytics, Kinvey charges by the user (vs. by APIs), StackMob basically runs an affiliate model upselling companion services.
Options are truly abundant in this space.