Emerge Tools Profile picture
Emerge helps teams like @DoorDash, @Spotify, @Duolingo, @Bumble and @Square build better mobile apps. Join the future of mobile development today 🚀

Mar 25, 10 tweets

These are the best 🥲... breaking down why @LinkedIn iOS is half a GB

Here's a top level view of the latest version of LinkedIn

300 MB for just dynamically linked frameworks & Plugins is...a lot. In fact, just the Dylibs & Plugins today are bigger than the entire app was back in November 2022 🫠

And the Plugins and Frameworks seems to be where the greatest inefficiencies lie. Here is a more detailed look at the LinkedIn Plugins + the dynamically linked VoyagerLibs.framework

Notice anything fishy?

First off, the 2 plugins + VoyagerLibs are all shipping ArtDecoIconsResources.bundle (~8 MB). This bundle is already in the Voyager Framework, so it should be possible to share with the Plugins...but LinkedIn is still duplicating it

If you look into TodayExtension, NotificationExtension, & VoyagerLibs, they share many class names (one example in screenshot)

While we don't know for sure if they are duplicates from public build analysis, it appears like the extensions are a subset of the VoyagerLibs library

Here's something else that jumps out - in March 2023, the TodayExtension was < 400 KB. Today its ~60 MB...

Seeing as Today Extensions have been deprecated, its doubtful that they added THAT much functionality to them

It seems there's a chance that LinkedIn is statically statically linking dependencies in their Plugins rather than using the resources from VoyagerLibs

If that's the case, then the Plugins (109 MB total) have a significant amount of unnecessary size bloat

Separately, here's ~75 MB of insights that we're picking up

If you want to explore our analysis on the latest version of LinkedIn, you can check out this page
emergetools.com/app/example/io…

And coincidentally, @jacobs_handle wrote a blog post for us just last week about how to avoid duplication in Plugins

Please RT this thread if you enjoyed it 😁
emergetools.com/blog/posts/mak…

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling