Re:I shaved 187MB off United Airlines' 439MB iOS app
by PascLeRasc on Wednesday February 23, 2022 @03:40PM
(#30446122)
For 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?
Re:I shaved 187MB off United Airlines' 439MB iOS app
by sond813 on Wednesday February 23, 2022 @04:16PM
(#30446575)
We'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/7AppsThatCouldSaveYou...
Re:I shaved 187MB off United Airlines' 439MB iOS app
by PascLeRasc on Wednesday February 23, 2022 @08:30PM
(#30449220)
That article was a wild ride, thanks for writing it.
Re:I shaved 187MB off United Airlines' 439MB iOS app
by saagarjha on Wednesday February 23, 2022 @08:21PM
(#30449161)
Is it even legal to distribute San Francisco?
Re:I shaved 187MB off United Airlines' 439MB iOS app
by alberth on Wednesday February 23, 2022 @01:01PM
(#30444130)
Thanks for sharing. TIL about Emerge. Super interesting.
Re:I shaved 187MB off United Airlines' 439MB iOS app
by newman314 on Wednesday February 23, 2022 @01:56PM
(#30444807)
Thanks! 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.
Re:I shaved 187MB off United Airlines' 439MB iOS app
by sond813 on Wednesday February 23, 2022 @04:05PM
(#30446422)
I 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+...
Yelp: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+...
Re:I shaved 187MB off United Airlines' 439MB iOS app
by db48x on Wednesday February 23, 2022 @08:59PM
(#30449401)
They're probably shipping their org chat. Artists and engineers are on separate teams, and when the artists want to redesign the look of the app it is easiest to photoshop a bunch of images.
[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+...
[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+...
[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+...
[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+...
[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+...
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=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!