4 ms·
Used Emerge Tools size analysis to analyze the binaries, here's some quick findings to answer some questions: [0] Fastmail: smallest of the apps but still coul
by jshchnz 5y ago
Used Emerge Tools size analysis to analyze the binaries, here's some quick findings to answer some questions:
[0] Fastmail: smallest of the apps but still could have room for improvement, could save almost 20% of the app size by optimizing their audio files. 71% of the app is the binary. Check out the X-ray here: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+2022-02-23+at+9.40.31+AM.png https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+...
[1] Gmail: looks like most of their bloat is coming from localizations. Only 60% of the app is binary, while 24% is localization files. Check out the X-ray here: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+2022-02-23+at+9.42.03+AM.png https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+...
[2] Outlook: could be stripping binary symbols to save significant space. 65% of the app is binary, while 14% is localizations. Check out the X-ray here: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+2022-02-23+at+9.43.13+AM.png https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+...
[3] Hey: could save about 15% of the size of the app just by removing duplicates and optimizing their images. 45% of the app is binary, 27% of the app is assets, this is definitely higher than it should be. Check out the X-ray here: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+2022-02-23+at+9.48.42+AM.png https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+...
[4] Protonmail: could save almost 30% just from image optimization and duplicate removal. 58% of the app is binary, 14% is assets, and 7% is localizations. Check out the X-ray here: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+2022-02-23+at+9.46.27+AM.png https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+...
Unfortunately this is a very common problem as many teams don't have any monitoring in place. Here's another example of a popular email app Spark, automated insights show over 100 MB of easy savings: https://www.emergetools.com/app/example/spark?buildContent=insights https://www.emergetools.com/app/example/spark?buildContent=i...
For pretty much every app here, Emerge's insights found at least 20% in easy size reduction. FYI, in the X-ray visualizations, red indicates duplicates and we can breakdown apps even further using builds with dSYMS!
- alberth 5y agoThanks for sharing. TIL about Emerge. Super interesting.
- newman314 5y agoThanks! This is very interesting to see all the low hanging fruit. Out of curiosity, could you run Emerge on a few other common apps: the United app as well as Yelp, Twitter and TikTok? Those seem to be the biggest consumer of storage for me.
- sond813 5y agoI tried it out with Yelp and Twitter, both had a lot of bloat due to not stripping binaries. You can see this in the large "String Table" in both screenshots. Yelp also has a large exports section for the main app binary, that's usually a sign of a problem because the main binary doesn't need to export any symbols, only frameworks do that. Twitter has a handful of 4MB images, much bigger than images you'd expect in an app. I took a look at a few of these and they are just gradient background images that could have been drawn with something like core graphics to completely eliminate the need for an image. Twitter: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+2022-02-23+at+3.55.47+PM.png https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+... Yelp: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+2022-02-23+at+3.56.18+PM.png https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+...
- PascLeRasc 5y agoFor some reason it's really funny to see how much room Fastmail's notification sound takes up. Your analysis for Spark also has a send sound bundled but it's one of the stock Apple ones (Blow). Is there a reason why they have to include their own copy instead of relying on a system sound file?
- sond813 5y agoWe've seen this happen with system fonts as well, apps sometimes bundle the San Francisco font with an app instead of relying on a system font. There may be some reasons to include the font or sound file, such as if it changes in different versions of the OS. Of course that would make the app inconsistent with the rest of the OS, which may not be the best behavior. We discuss some other tradeoffs with bundling these system resources on our blog post which covers the Spark app: https://www.emergetools.com/blog/posts/7AppsThatCouldSaveYou500MB https://www.emergetools.com/blog/posts/7AppsThatCouldSaveYou...
- saagarjha 5y agoIs it even legal to distribute San Francisco?
- PascLeRasc 5y agoThat article was a wild ride, thanks for writing it.