1 points par GN⁺ 2024-08-29 | 1 commentaires | Partager sur WhatsApp
  • Sur les 290 Mo de l’app iOS d’Oral-B, 233 Mo proviennent de l’asset catalog, et l’essentiel de la taille de l’app est occupé par des ressources PDF pour différents modèles de brosses à dents
  • La plus grosse ressource d’Oral-B est Sonos_M9_rose, avec 7,8 Mo, et de nombreux PDF ne contiennent pas la brosse à dents entière mais seulement le manche et les boutons
  • Comino.bundle contient des fichiers comme 20class_seqlen26_6p5h_20200302-095627_comino_android_production, qui semblent être des poids de modèle
  • L’app Colgate Smile est encore plus volumineuse, avec 378 Mo, principalement à cause du framework Unity de 125 Mo et de symboles binaires non supprimés
  • Colgate inclut aussi en double 60 Mo de ressources et de fichiers de localisation dans le bundle principal et l’extension widget, ce qui ajoute au moins 120 Mo à la taille de l’app sans valeur fonctionnelle

L’essentiel de la taille de l’app Oral-B vient des ressources PDF

  • L’app Oral-B totalise 290 Mo, dont 233 Mo proviennent de l’asset catalog
    • Cela représente 80 % de la taille totale
    • L’essentiel correspond à des ressources PDF représentant différents modèles de brosses à dents
  • La plus grosse ressource PDF est Sonos_M9_rose, avec 7,8 Mo
  • De nombreux PDF ne montrent pas la brosse à dents complète, mais seulement le manche et les boutons
  • Un autre élément notable est Comino.bundle de 15 Mo
    • Il contient des fichiers comme 20class_seqlen26_6p5h_20200302-095627_comino_android_production
    • Ces fichiers semblent être une forme de poids de modèle

Le plus gros problème de Colgate Smile est un gonflement évitable

  • La taille de l’app Colgate Smile est de 378 Mo
  • L’app semble utiliser Unity pour une fonctionnalité de « guided brushing »
    • Le framework Unity pèse 125 Mo
    • Si cette fonctionnalité apporte de la valeur, l’usage de Unity peut en soi être un choix compréhensible
  • Le gaspillage le plus important vient du fait que les symboles binaires n’ont pas été supprimés dans l’app de production
    • Les symboles binaires sont utilisés pour la symbolication
    • Si le DSYM est envoyé au crash reporter, il n’est pas nécessaire de les inclure dans l’app de production
    • Rien qu’en supprimant les symboles binaires, la taille totale pourrait être réduite d’environ 60 Mo, soit 15 %
  • Un autre facteur de gonflement est la duplication
    • Colgate inclut en double 60 Mo de ressources et de fichiers de localisation dans le bundle principal et l’extension widget
    • Les nœuds rouges indiquent les éléments dupliqués
  • Dans l’app Colgate, au moins 120 Mo de taille n’apportent aucune valeur fonctionnelle à l’utilisateur
  • Articles liés :

1 commentaires

 
GN⁺ 2024-08-29
Avis de Hacker News
  • Je ne comprends même pas pourquoi les apps Oral-B et Colgate existent au départ

    • C’est pour collecter des données afin de faire du marketing et de la publicité auprès des clients
    • L’app peut indiquer quelles dents ont été correctement brossées, c’est-à-dire celles sur lesquelles on a passé assez de temps, et quelles dents ont été oubliées ou survolées trop vite.
      Personnellement, je l’ai essayée une fois puis supprimée, mais elle peut être utile aux personnes qui veulent vérifier si leur brossage est efficace. Dans tous les cas, c’est entièrement optionnel, et on peut ignorer l’existence de l’app et simplement utiliser la brosse à dents
    • C’est la même raison pour laquelle on voit maintenant apparaître des brosses à dents équipées d’IA. En réinventant sans cesse la brosse à dents chaque année, il s’agit de créer de nouveaux éléments différenciants, de nouveaux angles marketing et des ventes plus élevées
    • C’est similaire aux publicités pour Coca-Cola ou McDonald’s. Elles ne donnent pas de nouvelles informations : elles continuent simplement à ancrer le logo, la marque et le nom dans l’esprit des spectateurs ou des utilisateurs.
      Ainsi, la marque paraît plus familière qu’une autre marque « inconnue », et on devient plus susceptible de l’acheter. C’est pareil avec une app : à chaque utilisation, elle met le logo et la marque sous les yeux. Au final, il n’est même pas nécessaire de vendre les données
    • Comme les assureurs auto accordent des réductions pour conduite prudente quand on utilise un boîtier ou une app d’enregistrement des données, il est surprenant que les assureurs santé n’aient pas encore lancé de réduction pour les « gens qui se brossent bien les dents »
  • La triste réalité, c’est que si l’on va dans App Store > Your Account et qu’on actualise, les apps de moins de 100 Mo se comptent sur les doigts d’une main. Dans mon cas, la plupart des apps font 300 Mo, et je ne parle ici que des mises à jour.
    En comparant avec Android, les apps y sont beaucoup plus légères. Les anciennes apps Objective-C étaient bien plus sveltes, alors que les apps Swift restent grosses et lourdes même depuis l’arrivée de l’ABI. Il y a en partie de la paresse côté développeurs, et en partie des outils Apple médiocres. Il n’y a pas de tree shaking ni d’élimination du code mort dans les CocoaPods compilés ou les packages Swift. Apple ne semble pas beaucoup s’en soucier et accueillerait sans doute plutôt favorablement la vente de nouveaux appareils avec davantage de stockage ou d’abonnements iCloud

    • J’ai travaillé là-dessus chez Google. Le format moderne de distribution des apps Android est entièrement conçu pour découper les apps de façon à ce que l’utilisateur ne télécharge et n’installe à chaque instant que le strict nécessaire.
      Les ressources, architectures et langues ne sont téléchargées que lorsqu’elles sont nécessaires, et cela va jusqu’à des éléments spécifiques comme les formats de compression de textures pour les assets de jeux. Ainsi, l’appareil ne reçoit que les textures nécessaires, et le développeur peut distribuer plusieurs formats pour que l’utilisateur obtienne la meilleure option prise en charge par son appareil. Le téléchargement et l’installation de modules de code à la demande sont aussi possibles. Par exemple, on peut isoler le parcours d’inscription dans un module séparé, l’installer au départ, puis le supprimer une fois l’utilisateur inscrit afin de réduire la taille installée. Certains développeurs ont un module VOIP de quelques Mo pour le support client qui n’est réellement téléchargé ni installé tant que l’écran de support n’est pas ouvert, si bien que la plupart des utilisateurs ne l’installent jamais.
      [0]: https://developer.android.com/guide/playcore/asset-delivery/...
    • Apple dispose aussi d’outils de ce genre. Ils ont ajouté un nouvel outil qui peut aussi s’appliquer aux bibliothèques dynamiques
  • https://xcancel.com/emergetools/status/1828490449881047401

    • C’est le pire proxy Twitter que j’aie vu jusqu’ici. Il affiche un écran idiot du genre « attendez x secondes pour voir cette page », puis demande ensuite de « recharger la page ».
      On dirait une page intermédiaire spammy comme quand on essaie de regarder du streaming illégal. C’est un outil épouvantable, au point qu’on a du mal à croire que quelqu’un sans lien avec eux ait posté ça
  • Ça m’agace que la collecte de données utilisateur pour les data brokers soit devenue une activité aussi lucrative. Je ne peux pas me réjouir de voir de grandes entreprises continuer à fabriquer des apps qui extraient des données plutôt que de bons produits, tout en voyant les chiffres monter.
    À force de râler en mode « c’était mieux avant », je crois que je suis officiellement entré dans l’âge mûr, mais des apps pour le réfrigérateur, le lave-vaisselle, la brosse à dents… Quand le lave-vaisselle chargera lui-même la vaisselle, alors j’accepterai peut-être l’ajustement hédonique des prix

    • Ce serait bien que la qualité des publicités augmente autant que l’efficacité avec laquelle elles aspirent les données. Je n’ai même pas de permis de conduire et je suis en couple, pourtant une bonne partie des pubs personnalisées sur mes appareils concerne des sites de rencontre et des concessionnaires automobiles
  • Donc, au final, ils ont juste intégré bêtement de grosses images de différents modèles dans des PDF ? Ce n’est pas ce à quoi je m’attendais. Je pensais que ce serait plutôt comme l’app Colgate mentionnée plus loin

    • C’est absurde. Ce genre de chose devrait être téléchargé à la demande à 100 %
    • Je me demande s’ils ont créé les PDF avec la fonction « Imprimer en PDF » d’un navigateur. Les PDF générés par Chrome sont énormes
    • Je pensais qu’ils avaient utilisé Unreal Engine. La dernière fois que j’ai vérifié, même une app minimale dépassait 200 Mo
  • L’app Oral-B était assez légère il y a quelques années, affichait un fil d’actualité mondial, enregistrait les données dans Apple Health et rendait le suivi des séries de brossage amusant.
    Puis ils ont réécrit toute l’app, perdu presque toutes les fonctionnalités, et je ne l’ai plus ouverte une seule fois après le premier lancement suivant la mise à niveau. J’aimerais qu’il existe un App Store iOS permettant d’installer d’anciennes versions, comme TestFlight. Malheureusement, même TestFlight est limité à 90 jours. Il est peut-être temps de ressortir le sniffer BLE, mais obtenir les autorisations HealthKit pour une app ponctuelle, non autorisée et provisoire semble impossible

    • « Fil d’actualité mondial », vraiment ? Oral-B ? Un fil d’actualité mondial ?
    • Le protocole a déjà été rétro-ingénié. J’utilise Home Assistant et le Bluetooth, et je capte une brosse à dents Oral-B d’un voisin
    • J’ai participé à cette version. Je vais rester discret dans la suite de cette discussion
  • Plus embarrassant que la taille elle-même, c’est qu’il faille une app pour changer les modes de la brosse à dents. À mon avis, ça ne devrait vraiment pas être autorisé, mais je ne sais pas trop comment l’imposer

    • Ça dépend sans doute du modèle utilisé et du mode qu’on veut changer, mais sur l’Oral-B Pro 5000, on pouvait changer les modes de nettoyage comme « Daily Clean » ou « Sensitive », ainsi que la couleur de la LED à l’extrémité, sans app
      L’écran affiche le minuteur de brossage, et c’est à peu près tout le suivi nécessaire sur une brosse à dents. Il existe peut-être d’autres modes inaccessibles via les boutons, mais je n’en connais pas
    • La première étape serait d’avoir une autorité de protection des consommateurs dotée du pouvoir légal de retirer du marché les produits défectueux par conception
      La deuxième serait de définir précisément ce qui doit être autorisé ou interdit, mais comme les entreprises peuvent imaginer énormément de stupidités pour embêter leurs clients, je pense qu’on pourrait donner à une telle autorité une marge de manœuvre assez large, à condition qu’elle évalue et décide sur la base de bons principes fondamentaux. Par exemple : « une fonctionnalité qui peut être implémentée sans app compagnon ne doit pas exiger d’app compagnon »
    • Pourquoi légiférer jusque-là ? Il suffit de ne pas acheter cette brosse à dents et de laisser le produit mourir naturellement
    • Sur mon IO, on peut changer de mode depuis la brosse à dents, mais la sélection de la liste des modes disponibles se fait dans l’app. Cela dit, la valeur par défaut semble être « tous », donc on peut quand même l’utiliser sans jamais lancer l’app
  • La vraie question, c’est pourquoi il faut une app pour une brosse à dents dès le départ

    • Pour collecter un maximum de données client, les agréger en espérant qu’elles soient anonymisées, puis les vendre à des data brokers et extraire encore plus d’argent de la clientèle
      Tout cela se fait avec le « consentement » de l’utilisateur. Après tout, il a installé l’app et a probablement accepté les conditions d’utilisation ou la politique de confidentialité. On peut aussi présenter cela comme un service qui mesure quand et à quelle fréquence on interagit avec le produit, ou qui rappelle de l’utiliser. Des choses qu’un adulte fonctionnel faisait déjà, simplement avec moins de précision
    • À titre d’exemple hypothétique, les entreprises de chewing-gums « dentaires » pourraient payer cher pour des informations sur les habitudes de brossage croisées avec des données démographiques et géographiques
      Si les données montrent que, dans une ville ou un comté donné, les gens se brossent les dents 25 à 50 % moins que la population générale, il serait assez logique d’augmenter les dépenses publicitaires dans cette zone. On peut supposer que les personnes qui se brossent peu les dents sont plus susceptibles d’acheter des chewing-gums dentaires pour compenser les dégâts
    • Ça montre si l’on a passé assez de temps sur la face avant, le dessus et l’arrière de chaque dent. Une brosse à dents électrique ne s’utilise pas comme une brosse manuelle : on ne fait pas de mouvement de va-et-vient
    • Honnêtement, je pensais la même chose. Peut-être des statistiques de brossage ou le temps passé par dent
    • Une raison pour laquelle j’ai utilisé l’app, ce sont les enfants. Elle lance une animation pendant le brossage, conserve les statistiques et leur permet de choisir des choses comme la couleur d’un avatar en guise de récompense
  • Version déroulée : https://unrollnow.com/status/1828490449881047401

    • Chez moi, ça ne fonctionne pas

      Connection failed: User 'u327838624_unroll' has exceeded the 'max_connections_per_hour' resource (current value: 500)

    • On dirait que le trafic de HN l’a tué

      Connection failed: User 'uxxxxxxx_unroll' has exceeded the 'max_connections_per_hour' resource (current value: 500)
      C’est une erreur MySQL ?

  • Pour quelle raison une personne saine d’esprit téléchargerait-elle une app de brosse à dents ?

    • Sinon, comment mettre à jour le firmware de la brosse à dents ? J’aimerais que ce soit une blague, mais Phillips semble publier des mises à jour de firmware pour Sonicare plusieurs fois par an