Ouvrir le menu principal

iGeneration

Recherche

Facebook : le Microsoft Word des temps modernes

Christophe Laporte

mercredi 12 avril 2017 à 09:23 • 47

App Store

Quelle est la pire application disponible sur iOS et qui est particulièrement répandue ? À cette question, on serait tenté de répondre Facebook. Au passage, nombreux sont ceux qui ont constaté une hausse de leur autonomie de leur smartphone en la désinstallant et en « restreignant » à la version mobile. Lorsque cette polémique était intervenue en octobre 2015, le réseau social avait promis de mettre au régime son application iOS.

Le souci, c’est que les régimes, cela ne fonctionne pas toujours. Peut-être qu’entre temps, l’application est devenue plus économe pour la batterie, mais en ce qui concerne son poids c’est une catastrophe. Alexandre Colucci, développeur chez Elgato, a une petite passion dans la vie : analyser le contenu de l’application Facebook à l’aide de l’outil GrandPerspective.

Le développeur a donc comparé la version 87 (la dernière en date) à la version 66 sortie en octobre dernier. À ce rythme, la version 100 devrait être disponible à l’été.

En l’espace de six mois, Facebook pour iOS a pris quasiment 100 Mo. La version 87 pèse sur un iPad Air 253 Mo, soit 88 Mo de plus que la version 66. Le poids de cette application est d’autant plus impressionnant que Facebook utilise l’App Slicing. Autrement dit, elle n’inclut que le code pour marcher sur cet iPad. Le code 32 bits n’est pas présent par exemple. Cet embonpoint a des conséquences. Par exemple, sur un iPhone (cela peut varier d’un opérateur à l’autre), il n’est pas possible de télécharger cette application en 4G. Ce qui est quand même assez dingue pour une app qui occupe la dixième place du classement des applications gratuites les plus téléchargées de l’App Store.

Fatbook....

Alors pourquoi Facebook est devenu si énorme ? Il y a tout d’abord une version majeure entre ces deux versions. La version 66 contenait un binaire monolithique de plus de 100 Mo, comme le montre l’illustration ci-dessous.

Il est à noter que sa taille mannequin n’était pas liée aux éléments graphiques de l’app qui ne pesaient pas plus de 5 Mo dans cette version. On ne peut pas non plus imputer la faute aux fichiers de traduction qui, au final, occupent assez peu de place.

L’application a recours à une foultitude de frameworks. Parmi ceux-là, Alexandre Colucci était étonné de trouver notamment le framework JSC framework, qui pèse à lui seul 3 Mo. À moins qu’il y ait une raison technique, Facebook pouvait tout aussi bien recourir au framework JavaScriptCore, qui est intégré au système depuis iOS 7. Sachant que Facebook requiert au minimum iOS 8, il n’y a semble-t-il pas de contre-indications.

Ce qu’il est intéressant de noter, c’est que 22 versions plus tard, la structure de l’application a beaucoup évolué. La taille du binaire principal est passée de 100 Mo à 19 Mo. Mais on constate que celui-ci est désormais accompagné de deux autres binaires : FBSharedFramework qui pèse 136 Mo et FBNotOnStartupPathFramework qui occupe 26 Mo.

Apparemment, il y a une volonté chez Facebook de rendre son application plus modulaire. Sans doute pour faciliter son développement et on l’imagine afin de pouvoir avancer plus facilement de front avec ses autres projets. Ce qui met par contre en émoi le développeur, c’est que Facebook n’a pas fait beaucoup d’efforts pour rendre son application moins gourmande. Il a trouvé énormément de fichiers dupliqués. Il prend l’exemple du fichier unetshallow_init.pb qui pèse 3,6 Mo et qui est répliqué trois fois.

C’est aussi le cas des différents fichiers contenant les images où l’on trouve un grand nombre d’images qui ont été dupliquées. Au total, selon lui, il y a plus de 40 Mo de données qui sont dupliquées. À l’échelle de l’App Store et vu la popularité de ce réseau social, il ne fait guère de doute qu’avec un peu d’optimisation, il serait possible de faire de sacrées économies de bande passante.

Alors, on serait tenté de penser que Facebook ferait mieux de mettre à jour moins régulièrement son application et de prendre un peu plus son temps pour optimiser son application. Mais c’est sans doute l’un des problèmes de ces mises à jour permanentes. En même temps, même si l’optimisation n’est pas forcément l’objectif numéro un de Facebook, il est intéressant de voir à quel point son application évolue en profondeur du moins dans sa structure.

DO_NOT_USE_OR_YOU_WILL_BE_FIRED

Lors de la publication de son billet consacré à Facebook v87, Alexandre Colucci est revenu sur une découverte qu’il avait faite dans la version 66 et qu’il avait oublié de mentionner. Il a trouvé de nombreux protocoles, méthodes et interfaces avec des descriptions assez explicites :

 @protocol FBDeprecatedAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @protocol FBLoginFacilitatingAppModule  
 @interface FBTimelineModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @interface FBNotificationsModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @interface FBProductionLockoutModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @interface FBSearchModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 

Ne les utilisez pas ou vous serez viré ! Le message a le mérite d’être clair.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

IKEA prépare la mise en rayon complète de sa nouvelle gamme Matter pour janvier 2026

13:00

• 8


Bons plans : les ampoules, serrures et autres objets connectés toujours au prix du Black Friday

12:20

• 0


Le transfert simplifié entre iOS et Android répond à une exigence du DMA, rappelle l’Union européenne

11:50

• 9


France 2 UHD va passer en Dolby Vision et HDR10+ pour les Jeux olympiques d'hiver de 2026

11:15

• 9


Promos : iPhone 17 à 850 €, iPad Pro M5 à 849 € et Apple Watch Ultra 3 à 650 €

09:22

• 7


Apple et les analystes misent sur un lancement réussi du premier iPhone pliant à l’automne 2026

08:53

• 19


Google Maps se met enfin à niveau : Plans et Waze faisaient déjà ça en 2016

06:53

• 72


Pebble lance l’Index 01, la bague qui note ce que votre cerveau oublie

06:30

• 28


Bon plan : les best-sellers du Black Friday sont de retour à prix cassés pour Noël

09/12/2025 à 23:40

• 3


Que faire si Apple ou UPS perd votre colis de retour ?

09/12/2025 à 21:24

• 46


Apple active les Messages par satellite au Japon pour les iPhone et l’Apple Watch Ultra 3

09/12/2025 à 20:51

• 3


iFixit lance son app mobile avec suivi de batterie et assistant de réparation

09/12/2025 à 17:18

• 11


La carte bancaire cède toujours plus de terrain face à Apple Pay… lui même sous pression

09/12/2025 à 16:09

• 42


Le paiement fractionné de Klarna s’intègre à Apple Pay

09/12/2025 à 14:09

• 47


Eve Thermo 5 : un nouveau design pour la tête thermostatique Matter sur Thread

09/12/2025 à 13:00

• 13


L’iPad Air M3 de 13" dès 749 €, un tarif record chez un revendeur français

09/12/2025 à 11:42

• 3