Emerge Tools
Emerge Tools
@emergetools
Jul 8 11 months ago 11 tweets Read on X
AI Summary

This thread explains why some toothbrush apps are huge. Oral-B's size is mostly extra PDFs of toothbrush parts, while Colgate's app is bigger because it uses Unity and repeats assets and languages. Colgate could save about 60 MB by removing unnecessary files and symbols. Overall, much of the app size is avoidable and doesn't help users.

Ok so I guess we're talking toothbrushes today 🦷

🧵 Why is 290 MB + looking at an even bigger toothbrush app

(tysm for all the tags 🥲)

Tweet image 1
Tweet image 2

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 🧐

Tweet image 1
Tweet image 2

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

Tweet image 1

While we were tagged about Oral-B, we have to talk about , which comes in at 378 MB

While Oral-B's size is mostly assets, much of Colgate is avoidable bloat 🧑‍🏫

Tweet image 1

👾 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

TL;DR binary symbols are used for symbolication. These don't need to be in production apps if you upload DSYMs to a crash reporter

In total, Colgate could shave off ~60 MB (15%) from stripping binary symbols

Tweet image 1

👯‍♂️ 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

Tweet image 1

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

Tweet image 1

We wrote about fixing duplication here👇

Here's a thread on binary symbols with links to more threads on binary symbols 🧠

@emergetools
Including threads on binary symbols at the end

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

Tweet image 1

+ link to the original post 🙂

@danielsaidi
I bought an @OralB brush and “need” the app to change mode. The app: https://t.co/OoNlFbvLAZ

Missing some Tweet in this thread? You can try to Update

More Threads by @emergetools

8 tweets • 2 months ago
Read Thread
2 tweets • 3 months ago
Read Thread
8 tweets • 4 months ago
Read Thread
3 tweets • 5 months ago
Read Thread
11 tweets • 5 months ago
Read Thread

Unroll Another Thread

Convert any Twitter threads to an easy-to-read article instantly

Have you tried our Twitter bot?

You can now unroll any thread without leaving Twitter/X. Here's how to use our Twitter bot to do it.

  • Give us a follow on Twitter. follow us
  • Drop a comment, mentioning us @unrollnow on the thread you want to Unroll.
  • Wait For Some Time, We will reply to your comment with Unroll Link.
UnrollNow Twitter Bot
Modal Image
0:00 / 0:00