My Thoughts on F8 2014
May 23, 2014
Facebook recently held their developer conference, F8, in San Francisco. Their focus this year was making changes so that developers would further take advantage of their platform. They didn't launch some new consumer product like they've done other years. This year's focus was on developers.
I enjoyed seeing the conference from the comforts of my own home. (Thank you live streaming!) The product announcements solved many issues and irks in the development community. Here's what I got out of it.
New Facebook Login improvements
Last year, Facebook edited the login workflow for third-party apps to separate the read permissions from the write permissions. This was good to hear, but the implementation was a bit iffy. In some apps, when I did not want it to publish to my feed, it would result in a login failure. This is because the SDK did not emphasize that some initial permissions would not be granted, so some of the apps would not know to handle a declined publish permission.
Enter Facebook Login v2.0
The new login experience offers users choice. Real choice. Apps must be able to respond to users declining a permission (or many). Because, in case you don't remember, you can actually ask for permissions again later when you need them, even if the users at first decline the permission.
Would I use this?: Given the circumstances that would require a login, absolutely!
And if users do not trust your app yet, or maybe just want to try it out, Facebook has also introduced the perfect option:
Anonymous login gives users a chance to have a full logged-in app experience without the app actually knowing who they are. The way this works is that the app gets a unique identifier (most likely from the Facebook App on the device), that can be used by the app cross-platform, to identify that there's a single user without actually identifying the user itself; unless the user then decides to login with Facebook, which is easily implemented in lieu of this Anonymous login.
This specific functionality is available as beta, and not public beta; you have to sign up.
Would I use this?: Again, given the circumstances that would require a login, and when it comes out of semi-private beta, absolutely!
For more info on the new login(s) see the talk here.
The Like Button on iOS
Oh, the Like button. So familiar on the web, yet so estranged on mobile. Not anymore (sort of)!
So... this mobile like button is only available on iOS. And its a beta. So basically it doesn't exist for the general public as of yet. But... it does for developers! Here's what happens: when you click on that like button in the middle of the above screen, a fast app switch is made to the Facebook app.
And then when you click OK:
(image missing)
So yes, Facebook introduced a new control (FBLikeControl) in its iOS SDK to make this happen in your apps; at least, when it comes out.
Would I use this?: Why would I?, it's basically like sharing! I've already implemented sharing to Facebook in my Call2Disciple app, so why would I need another way to do the EXACT SAME THING?
For more information on this new mobile Like button, go here.
Share Via Messenger
Speaking of sharing: that's right, Messenger. Facebook's private messaging app. So now, if you have the app installed, you can privately share any link/open graph object to anyone you wish.
This is also extremely easy to implement. It is the same workflow as the share dialog. It even uses the same params object that it uses for the share dialog!
Would I use this?: I already do! As of version 1.2, Sharing via Messenger is officially supported by my Call2Disciple app.
Learn more about the Message Share Dialog, go here.
Parse Updates - Pricing and Local Datastore
Parse updated its pricing, which made it more versatile with broke independent developers (like me). Now more requests per second are supported; and Parse is now absolutely free until you go over the minimum.
Also, Parse introduced a new technology in the keynote: Local Datastore. How annoying it is when you have to turn off all internet for various reasons (e.g. airplane takeoff, low battery, etc.) and you lose all access to your data! No more, if the app is built with Parse. Now the SDK will save caches of data to the device.
Would I use this?: When it comes out on iOS, yes. (It is only available on Android at the moment) It would be very useful for caching online data to the device.
App Links
Mobile app linking is probably the most difficult and annoying thing to do as a developer. You need to register the URL (which is its own scheme, e.g. facebook://) and then document it and hope some developer finds this scheme and takes advantage of it. Being on the other side of the issue is difficult, too, as you would need to check to see if the system can even open the URL before you open the URL to open the app.
Facebook has tried to fix this with a new open-source protocol called App Links.
Now, websites just need to add a few meta tags describing their other links on mobile devices so programs can parse and then navigate to the URL. Bolts is ready and able to handle all of this.
Would I use this?: Yes, if I or a company I work for had its own website with HTML that I could directly edit. (Thanks, Wix...)
Conclusion
I enjoyed watching this conference and seeing the beginning of Dev Conference Season, with all the innovation that comes along with it. These new products and announcements are very helpful for the developer workflow, and I'm excited to see how I can take advantage of most, if not all, of these wonderful technologies.