Facebook is heavily focused on developing mobile apps using native languages after it found HTML5 wasn’t up to the job.
The social network’s VP of engineering Mike Schroepfer said that the company has trained hundreds of web developers in writing Android and Apple iPhone apps in native code over the past year.
“We’ve been running really aggressive training programmes for engineers who maybe were experienced on the web and hadn’t had Android and iOS development. We’ve now trained hundreds of them within Facebook to learn these new technologies and be able to develop on them,” he said.
The social network replaced its HTML5 iPhone app with an app coded in Objective C in August this and is also getting ready to release an Android app written in its native language of Java.
The company’s original decision to build a HTML5 mobile app was born out of the need to find a cost-effective way to rapidly deploy a fully-featured mobile Facebook app to the more than 7,000 types of mobile device that existed at the time, Schroepfer said.
But as user feedback came in, Schroepfer said the company realised that the app “didn’t have the level of performance and polish that people have come to expect from Facebook”.
“We did a lot of technical investigation and determined that the only way to get the 60 frames per second scroll and immediate response was to go native on iOS and Android. That’s what we’ve been doing,” he said.
Facebook has decided to maintain and develop separate applications for four platforms – Android, iOS, Facebook for Every Phone and the web, a decision he said had been costly.
“When you make this decision you effectively rebuild the same features multiple times on different platforms,” he said.
“You can imagine it’s quite a bit of overhead. We decided it’s worth the investment for us to do that in order to get that top tier experience that everyone would expect. It’s been pretty big engineering transformation in our overall development over the last year.”
Schroepfer said that Facebook is fortunate in having the resources to support multiple platforms and “that many smaller companies are struggling with…how to develop great products for multiple platforms”.
Supporting web development will remain a priority for Facebook alongside native mobile app development, Schroepfer said.
“We’re huge believers in HTML and HTML5, the web is still the predominant way in which we deliver out products to people,” he said – saying the company will continue to invest in supporting the mobile version of the website.
Parts of the Facebook’s native mobile apps that are expected to change frequently will also be written using HTML5, allowing Facebook to push updates server side without requiring a new version of the app to be downloaded.
The London engineering office currently employs just under 20 engineers, 12 of whom were bought over from Facebook’s operations in the US.
It is one of four major engineering offices for Facebook worldwide, and Schroepfer said that each centre plays a major role in development for Facebook products. Facebook’s engineering centre in Seattle grew from a similar size to 130 people within two years.
The London office will be focused on developing mobile, the Facebook platform and machine learning. Software engineer Phillip Su, who is heading the London centre, said that Facebook had sited the centre in London because of it had the second highest concentration of third-party Facebook developers of any city in the world and large numbers of graduates with skills in machine learning.
Since the London office opened three months ago the team has delivered a number of products, including cutting the size of the binary of the Android Facebook app by five per cent.