Yesterday, I had the pleasure of attending the Facebook Mobile DevCon in New York City. This event promoted Facebook’s recent Native App SDK releases for native devices. The overall themes were to promote discovery and increase user engagement of your app.
Here are some takeaways:
Facebook wants to be the one and only social platform
There are over one billion Facebook users and Facebook’s goal is to help you reach all of them. Facebook launched 3 new tools to support this, currently inside the new iOS SDK (v3.5):
Open Graph Mobile API
Facebook is allowing developers to leverage their cloud to create and host Open Graph Objects. Previously this required web servers to host the tags. This allows for richer and structured content in the news feed.
Native Login Dialog
This serves to be a replacement for the Native iOS Login dialog by leveraging the installed Facebook App. This allows for developers to display a customized and more performant Facebook login screen. The developer can now customize the text displayed on the login, as well as have more control over permission and privacy requests.
Native Share Dialog
Facebook is getting users to move away from the simple text-based sharing to rich context aware meaningful news feed items.
The ultimate goal with these new features is to promote app discovery and increase user engagement with the given app. Often during the talks the use case of a cross platform game (Candy Crush) was used. In this scenario, an iPhone user can acquire some achievement, share it on his news feed. Then his Facebook friend, on an Android will tap the news feed item and it will open the game (or the Google Play store if the app is not installed).
Facebook iOS SDK
This talk covered the new SDK release that includes the Native Login, Share Dialog (iOS only for now), Friend and Places Tagging, App Graph. The result is to create more engaging stories with much less effort (read: less code).
Beautiful Stories > Better Engagement > Discovery
Integrating Games with Facebook
This talk discussed how to leverage all the things you can do with the new SDK to promote your game. Some interesting facts from the talk:
- 32% of time spent on Mobile Devices is playing Games
- 18% of time is spent on Facebook
- 72% of the Top 400 Grossing iOS Apps are Games
- 78% of the Top 400 Grossing Android Apps are Games
- ~150 New Games are released on the App Store Monthly
Facebook is looking to solve the issue of promoting the game with things like Game Requests, Sharing, Scores & Achievements (Scores API) and Custom Open Graph Actions. In my opinion, Facebook wants to be the Mobile Xbox Live.
Building Facebook for iOS
This talk focused on Facebook’s development processes in their Native iOS app. It opened with the reasons for moving to native from HTML5 including: performance problems, lack of multithreading, memory management issues, lack of debugging tools. A large part of the reason for this, admittedly, was that they began the app early; before better practices were defined and frameworks like Sencha Touch existed.
For the Native App Facebook adopted Mozilla’s release model for Firefox with their own twist. They try to ship an update every X weeks and include a stabilization period as well as a “soak” period. Furthermore, all features are built with the ability to be disabled (either compile-time or runtime). They use a continuous delivery process with code reviews, automated unit tests, code validation, and various other tools to assure a high level code quality.