Ok so I guess we're talking toothbrushes today 𦷠𧡠Why @OralB is 290 MB + looking at an even bigger toothbrush app (tysm for all the tags π₯²)


For OralB, 233 MB / 290 MB (80%) is coming from its asset catalog. Most of the assets are PDFs of different toothbrush models The largest is `Sonos_M9_rose` at 7.8 MB. Most PDFs aren't even the whole toothbrush, its just the handle and buttons π§


The only other nodes that jump out is the `Comino.bundle` (15 MB), which has files like `20class_seqlen26_6p5h_20200302-095627_comino_android_production` Guessing these are some sort of model weights

While we were tagged about Oral-B, we have to talk about @Colgate, which comes in at 378 MB While Oral-B's size is mostly assets, much of Colgate is avoidable bloat π§βπ«

πΎ Colgate is using Unity, assumedly for their "guided brushing" feature. The Unity framework is 125 MB, totally fair if they think the feature is worth it π¨ The problem is that Unity is 50 MB bigger than it needs to be b/c Colgate is not stripping binary symbols from their app

π―ββοΈ The other big issue is duplication. Colgate is duplicating 60 MB of assets and localizations in the main bundle and its widget extension The nodes in red are duplicates

So basically what we're saying is that *at least* 120 MB of size in Colgate does absolutely nothing for users

We wrote about fixing duplication hereπhttps://t.co/71igtTmj2q
Here's a thread on binary symbols with links to more threads on binary symbols π§ https://t.co/SyYwQMLrWg
Including threads on binary symbols at the end
— Emerge Tools (@emergetools) October 6, 2023
TL;DR binary symbols are debug info used to symbolicate crashes. If you're uploading dsyms to a crash reporter, you don't need them
Fidelity may not be sharing dsyms w/ 3rd parties, regardless its still bloat to the user
TL;DR of this entire thread

+ link to the original post π https://t.co/nTZPFdNtkH
I bought an @OralB brush and βneedβ the app to change mode. The app: pic.twitter.com/OoNlFbvLAZ
— Daniel Saidi (@danielsaidi) August 27, 2024