facebook-lightspeed-socialimages-2000x1125.png

Facebook on Monday began rolling out a new version of Messenger[1] on iOS, after deploying more than 100 engineers[2] to completely rebuild the app's architecture and rewrite its codebase. Ultimately, they reduced core Messenger code by 84 percent, from more than 1.7 million lines to 360,000. The new version is twice as fast to start, Facebook says. 

The complete revamp comes nine years after Messenger's initial launch as a standalone app. The app became increasingly unweidly as Facebook added features like payments, camera effects, GIFs and video chat capabilities. At its peak, the app's binary size was greater than 130 MB, Facebook said. 

The rebuild started with the premise that "fundamentally, a messaging app should be one of the smallest, lightest-weight apps on your phone," Facebook wrote on its engineering blog. To minimize complexity and eliminate redundancies, the Messenger team built a unified architecture. This allows for global optimization, rather than having each feature focused on local optimizations. 

To accomplish this, the Messenger team decided to use the native OS wherever possible, rather than relying on abstractions on top of the OS to build new functionality or cross-platform experiences. When the app couldn't rely on the OS, the team built the smallest-possible library code for its specific needs. They also used an operating extension built in native C code for cross-platform logic. 

Next, the Messenger team decided to reuse the UI where possible. For instance, before this project, the app had more than 40 different contact list screens, each with slight design differences. Now, the contact list is  a single dynamic template, with a few categories of basic views powered by different SQLite tables. 

Additionally, the new Messenger uses SQLite as a universal system to support all features. 

Lastly, the team built a server

Read more from our friends at ZDNet