There has been a lot of talk about Facebook and its monetization of mobile, but before the company can monetize its rapidly-growing mobile audience, it needs to make sure it's providing a quality mobile experience.
Unfortunately for the world's largest social network, the Facebook iOS app, which was built using HTML5 to more easily support development across multiple mobile platforms, has historically been considered a poor effort. A frequent complaint: it's too slow.
So Facebook set out to change that, and last week released a new version of its iOS app -- the first to use native code instead of HTML5. While there may still be plenty of room for improvement, initial reports are praising the new app, with some reviewers claiming performance has doubled.
For other companies looking to create great mobile apps, here are five things companies can learn from Facebook's mobile experiences.
1. The need for speed is real
Given the high level of expectations mobile users have around speed, it's not surprising that so many complaints about previous versions of Facebook's iOS app were focused on its performance, or, more appropriately, lack thereof. Facebook quite clearly underestimated this.
2. Second chances can take time
Facebook has more than 130m iOS users, and for obvious reasons, the world's largest social network, which is ramping up efforts to monetize its mobile users, will want as many of them as possible to take advantage of the improved experience it has built. But as Facebook can't simply push its updated app to them, it will need to wait for users of previous versions of its app to upgrade. That will naturally take time given the large number of users.
3. User experience > developer convenience
Having a single HTML5 codebase may have been convenient for Facebook developers, but absent the ability to use a single codebase to deliver a satisfactory user experience, Facebook learned the hard way that, at the end of the day, users are more important than developers.
4. You don't necessarily need to go native
It's easy to look at Facebook's experience and conclude that native is a necessity. That's not necessarily true, however. LinkedIn, for instance, built its iPad app using HTML5 and it has generally been well received by users. So while it may arguably be easier to build a speedy iOS mobile app using Objective-C, it is possible to take another path with success.
5. Performance takes effort
On the web, companies can often ignore many website performance optimization best practices thanks in large part to the prevalence of speedy connections. But in mobile environments, where connectivity can be far more limited and devices often have far less horsepower, being lazy vis-à-vis performance is a no-no. In reading Facebook's post about the development of its new mobile app, one thing stands out: the effort the company made to improve performance. From caching to thread management, creating a better experience took a greater level of thoughtfulness and resourcefulness than had clearly been employed in building previous versions of the Facebook iOS app.