Facebook lost the ability to “move fast and break things” when it switched its applications from HTML5 to native technologies. But now I could get her back.
On September 18, he announced a large
redesign of the application for iOS 7 , one of the main advantages was the “tab bar” at the bottom of the screen, developed with the help of a modern native mobile testing framework (hereinafter, testing means A / B testing. - comment). Facebook realized that it was necessary to get rid of “sliding” navigation, testing various interface options on groups of 10 million users.
The new Facebook version of the iOS application was released not only for the 7th iOS version. It was also released for the 5th and 6th versions, but with a black navigation bar at the bottom of the screen, for compatibility with the old design. In the version for the 7th iOS, the navigation bar is white. However, the new navigation bar will not be available for iPad application versions.
For a small group of users, the new panel will give a “super-charged” “more” button. It will appear to the right of the news feed buttons, requests, messages and notifications.
')
Retractable navigation saves screen space in any application you use. In previous versions of Facebook, when you opened the sliding navigation bar and switched to the events or photos section, you lost your position in the news feed or in any other section where you were before. The new “more” button basically opens new sections on top of the current section, so the current position is saved. This works even between switching screens, so even if you leave the event section, for example, your parties will be waiting for you at the same place when you return.
For more visual design, Facebook also made the top block translucent and redrawn a lot of icons in order to fit the new design of Apple apps.
But the real topic of the article is not the application itself. The topic is exactly how it is made.
HTML5 was slow, but we could run tests on it.
Facebook has never been afraid to try new things and see what happens. The
Gatekeeper system was invented, which made it possible to simultaneously test thousands of Facebook web site options on user groups. This system allowed us to collect statistics on usage and performance in order to find out exactly what needs to be applied to all users.
On mobile devices, Facebook wanted to do the same, which is why they developed their Android and iOS applications using an incredible combination of native architecture and HTML5. The latter allowed them to implement changes and test new features on users, without the need for a formal update of the application. “With HTML5, we could implement the new code every day and change it on the server side,” says product manager Michael Sharon. This means that they could release a redesign of the news feed for 5% of users, and a week later for everyone, and then correct the error in a few days.
But everything else, except testing, on HTML5 was a disaster. He made the application slow and unresponsive, which reduced interest, advertising views and ratings. Users hated Slow-book. Mark Zuckerbeg will later say that "
One of the company
's biggest mistakes was that we put a lot on HTML5."
Therefore, Facebook
refused to support HTML5 and redid its applications on the native infrastructure last summer. They became twice as fast. Suddenly, their ratings soared, and
users began to read twice as much news through the application on average. It was a big win for Facebook.
Except, of course, that they had to sacrifice the opportunity to conduct testing.
"We use testing religiously"
Sharon explains: “We lost the opportunity to test our applications. We used testing on web and mobile apps, and that was what we wanted to return. ”
We had to wait until the monthly update cycle of the application would pass in order to be able to test new versions of the application. This is actually flour for the mobile company. Such a company wants to introduce new changes and receive feedback instantly. In order to solve this problem on Android, Facebook launched
the beta testers club in June 2013, which allowed developers to use and give them the opportunity to try out new features of the application and identify errors.
But iOS refused to spoil its simplicity with such beta features. Therefore, over the past year, Facebook has quietly developed a new native mobile framework and launched it in March this year.
It works in such a way that the moment you download the Facebook application for iOS, the application actually contains many different versions of the interface. But you are grouped with several hundred thousand other users and only you see this one version of the application. Thus, Facebook tries many interface options at once, without the need for multiple application updates and user concerns. We were guinea pigs in a mobile framework for testing since March, but nobody knew about it.

Sharon is firmly convinced that these various tests were not beta versions. She says: “We did not release unfinished versions of the application. We released fully finished versions that could be the main ones. ” When they added this feature, Facebook could test important changes for 5-10 million user groups - more than many applications have in total.
The first big task of the new testing framework was rethinking how users use navigation on mobile devices. It was interesting if there is something better than a sliding navigation bar on the side of the application.
Facebook used its framework to experiment with a lot of different interface designs, and comparing them with different metrics, such as: level of interest, level of satisfaction, level of income, speed indicators, perception of speed indicators. They experimented until they realized that in general, the strip with buttons at the bottom of the screen is the best design. This is exactly what has become available for iOS today.
And in this way, Facebook brought back its testing habit.