20 MB of Panels iOS is bloat from binary symbols in the app βοΈ
There's also another couple MB of savings from optimizing images, videos, and removing duplicate files
In the android app, two videos make up ~1/4 of the app size. The largest video is splash_screen.mp4 (2.6 MB)
These type of videos are a great example of where dynamic features can be used. Once a user makes an account, they'll never see it again so the video could be offloaded
We did see the use of Kotlin in the iOS app π
Specifically we see Panels using Skie from @TouchlabHQ for ActionWalls π€
Finally, some libraries Panels is using
Firebase, @RevenueCat, Lottie, Kingfisher
Pic is all the dynamically linked Firebase frameworks
Thanks to all who tagged us about this βΊοΈ
We'll continue to monitor the Panels app and can report on any big changes π«‘
Let us know what you think and if you have any questions! Full analysis links π
π§΅ figuring out why @telepass is almost half a GB
For those who are unfamiliar with it, Telepass is an electronic toll collection system used primarily in Italy and other parts of Europe. Here's the general breakdown
It's a flutter app πͺ½
Total install size - 457 MB
Frameworks - 417 MB π«¨
Main app target - 25 MB
91% of install size is due to frameworks, 293 of them to be exact
There are a number of reasons that apps would have so many frameworks, but usually it's to support complex functionality in the app, or to make the app more modular and independent for teams working in parallel
The apps went above that, reducing app size by ~300 MB
The main optimization came from renivubg TardisHybridContainer, which is where the vast majority of bloat came from in each app. Basically this was a mess of a dynamic framework w/ inefficient assets + a large jsbundle