top | item 39820649

Why is the LinkedIn app almost half a gig?

257 points| jshchnz | 2 years ago |threadreaderapp.com | reply

197 comments

order
[+] klabb3|2 years ago|reply
This is a perfect example of why the problem isn’t the stack, native vs web, or programming languages. I’ve been saying this for ages when people bash JS for being slow, or the web for being bloated.

Yes, you pay a bit for the sandboxing, GC, rendering, built in accessibility. But that’s a rounding error when businesses, especially large ones, go on a PM-centric feature frenzy. You get out exactly what you put in. Performance, security, user experience..

Whether it’s frontend, backend, embedded, whatever, the engineers are alright. Generally. It’s when you stop listening to them, or punish the grumpy ones in favor of the people-pleasers, that this crap happens. That’s worrying, because it’s become so prevalent.

[+] usrusr|2 years ago|reply
It's not just PMs though: developers are forced into resume driven development by hiring practices. If they stick to the toolkit already established in the app they set themselves up for a career trajectory towards Uber driver. The risk of knowing only what was fashionable five years ago is just too big.
[+] itsoktocry|2 years ago|reply
>go on a PM-centric feature frenzy

Do developers have any agency whatsoever, or are they at the mercy of doing whatever their managers suggest (while always knowing the "right" answer, of course)? Does our industry attract people who avoid accountability?

Fraud? It's the executive's fault. Business struggling? It's the MBA's fault. Bad product? It's the PM's fault. Must be nice!

[+] ngrilly|2 years ago|reply
Sounds like bad product management as much as bad engineering. I mean, the outcome — a bloated product — is bad for everyone: the users in the first place, the engineers building the product, but also the PM who can't conceivably be proud of shipping a bad product.
[+] salamander014|2 years ago|reply
> punish the grumpy ones in favor of the people-pleasers, that this crap happens

This isn’t exclusive to technology, but I see this all the time at my large organization. As a grump, I have to pick which shitstorm to care about and spend my time chipping away at, which ends up being really draining.

To help with this, we began focusing a team of great folks with shared values, leaning in on modern operations/SRE best practices.

We started to have some real success with SDLC for our operations workflows.

That’s when management changed our teams direction. Good times.

[+] osrec|2 years ago|reply
Perhaps, but in my experience, this is often what happens when you have too many cooks.

People like to build corporate empires by having more subordinates. Those subordinates need to justify their existence somehow. Bloated, inefficient software is one of the unfortunate outcomes.

[+] m463|2 years ago|reply
> the grumpy ones

You know, grumpiness really is a thing. I wonder if it should be treated as a symptom like left arm tingling before a heart attack. A call to make some serious changes.

[+] signaru|2 years ago|reply
Some of my friends who work in similar situations call this "job security".
[+] silent_cal|2 years ago|reply
Especially when everything's on 2 week sprint cycles, and all of those new features are rushed. We can refactor later!
[+] OtomotO|2 years ago|reply
> This is a perfect example of why the problem isn’t...

Depends on how you frame the problem.

If you declare the problem is that although batteries became way more efficient you don't get out more hours because they are wasted, then the story is a different one.

Same when you don't have an abundance in RAM but are forced to use certain programs and applications. I have 64GB Ram these days, colleagues at clients of mine only have 16GB and they face certain challenges I don't, because of the tools forced upon them by their superiors.

These problems can be real, they can be "artificial" (there is a philosophical note to this somewhere ;)), but in the end, there is undeniable truth that launching a whole browser engine for each and every app can be and indeed is wasteful compared to alternatives.

Of course if you don't see this as a problem "ex falso quodlibet" takes precedence and it all becomes futile to discuss :)

[+] oferzelig|2 years ago|reply
The short business answer is that it's currently not a metric that influences people's decision to install or uninstall an app. If it were one, we would've seen an engineering effort to reduce bloatware and duplications as seen in the post.
[+] danpalmer|2 years ago|reply
On the contrary, lack of storage is a huge limitation on installations. This may not be worth optimising 50MB to 30MB, but optimising 500MB to 300MB would be very impactful to installation rate.

People love taking photos on their phones, they love big games, and Apple are notoriously stingy with storage space and iCloud storage to ship off device. It is a very significant portion of the population who are borderline out of storage all the time. I work quite closely to this sort of stuff on a regular basis.

[+] JeremyNT|2 years ago|reply
Although I think you're exactly right, the irony is that they'll never actually be able to determine why somebody doesn't install an app due to this kind of junk. It's not like they can a/b test "bloated app" versus "good app" installation metrics, and they have no way to know why people are not installing something.

The trend towards huge installations is one of the many reasons I install as few apps as possible, especially in this class of "should have a fully functional web version" type social media things.

The damage is also cumulative: I have a perception that "apps" in general are likely to be huge piles of junk, so I'm reluctant to install any of them, regardless of their own merits. Even if LinkedIn were to spend the time improving their app it would suffer from the overall reputational damage to the entire ecosystem, and I still wouldn't even think to install it.

[+] SkyPuncher|2 years ago|reply
I'd conjecture even further. The most valuable users of LinkedIn, those with in-demand skills, are more likely to be running a high-spec'd device where they don't care about these issues.

On my phone, 500MB would put you as ~30 largest app on my phone. Those largest 30 include, messages (large attachments), photos app, music/media (downloaded for offline play) and a variety of junk games I never play.

I'd have to delete LinkedIn 40x to save the same amount of space as the dozen or so junk games I have on my phone.

[+] actionfromafar|2 years ago|reply
How would they know, though? If the download times out, does LinkedIn care or notice?
[+] legacynl|2 years ago|reply
On android there is a way for apps to initially provide a barebones package, that downloads and installs quickly, but that then fully downloaded itself afterwards. So I guess there already has been some engineering effort, just not in making sure apps are small
[+] vitorgrs|2 years ago|reply
Actually, it's a huge metric. Not sure on iOS, but on Android this is so fundamental that usually companies even launch after a "Lite" version exactly because of this.
[+] gnicholas|2 years ago|reply
Another question: why does the feed reload when I go 'back' to it? This happens on the website and the app whenever I click into a link and then go back to the feed. It just spontaneously reloads! If I wanted to comment on the link or even just like the post, I can't (unless I remember who posted it, go to their profile, and go to their recent activity, which I almost never have the patience to do).

I uninstalled the app recently because I find it maddening that I can't get notifications about comments on my own posts unless I also accept notifications for 'person X and person Y like such-and-such random post'.

I find it maddening and unjustifiable that these two types of behaviors would be categorized under the same notification toggle. Then I remember LI is now owned by MS, and it makes more sense.

[+] jfernandezr|2 years ago|reply
Because, as it happens with a lot of apps, the developer teams, product managers or whoever with decision powers are not users of their own applications.
[+] pie420|2 years ago|reply
The answer is that A/B testing found that reloading the website/app drove more user engagement.
[+] reportgunner|2 years ago|reply
It probably breaks if you go back and it doesn't reload.
[+] zogrodea|2 years ago|reply
I'm probably not the only person who misinterpreted "gig" in the title as "job", as in "side gig", instead of "gigabytes" as was intended.

(Makes sense considering LinkedIn is about jobs, but "half a side gig" makes no sense which should have been a clue.)

[+] new_user_final|2 years ago|reply
From the reply

>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

>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

[+] new_user_final|2 years ago|reply
This is what you get from so called "quality full $200k software engineer"
[+] infomaniac|2 years ago|reply
Galaxy brain business model: shame the app developers and offer a tool to help them fix their mistakes.
[+] paxys|2 years ago|reply
Actual business model: shame users for having 2 year old phones and push them towards throwing it away and buying one with more storage (for a premium, of course).
[+] derefr|2 years ago|reply
A.k.a. The Jepsen model.
[+] ericlewis|2 years ago|reply
I’ve used it since close to day one and it’s great. You can get some detailed information and action items and it’s super easy to use.
[+] paulddraper|2 years ago|reply
What makes it galaxy brain vs normal brain?
[+] YouWhy|2 years ago|reply
TL;DR: There're few global incentives for a LinkedIn app developer to make an overall good app, as opposed to making their PM happy.

In detail: This is how death by a thousand papercuts looks like.

I've had the (dubious) pleasure of observing a roughly similar BigTech app project.

There are likely 100s-1000s of app developers involved in the LinkedIn app, and they are likely under immense pressure to Just Ship Already (tm). Some of them consider it conscionable to do weird things like statically linking to an asset library - whether through unawareness/incompetence or just by wanting to make it through the next performance review.

In smaller projects, there's some kind of a feedback that can make it through the system to make sure local and global incentives are aligned, but at the LinkedIn scale that would have required the people in charge to be engineers and not suit types.

One interesting solution to this very problem that I actually saw in action was employing a team of top-tier systems hackers (in this case: people with a security research background) to hack through the build process. This solution naturally premises on such individuals wanting to work for an app project, incentivizing them along the right global metrics and giving them the go ahead to push back on egregious violations.

[+] qsi|2 years ago|reply
The LinkedIn app on Android clocks in at using 351 MB on my phone, but 187 MB of that is cache and 13 MB is data. The app itself is "only" 151 MB.
[+] kazinator|2 years ago|reply
I would start by looking at what junk is linked in.
[+] mnw21cam|2 years ago|reply
That's great. Now do one on why Microsoft Teams grinds away with 100% CPU on my laptop for a few minutes just to bring up my calendar, or why Outlook on Android freezes for a minute or so when looking at a single small email.
[+] xyst|2 years ago|reply
Microsoft Teams is so awful. Between the subpar audio and video quality, and performance issues with basic chat. The experience all around is awful.

I wish my company would use something else but the CIO is hellbent on “rEdUcInG tHe nUmBeR oF tOoLs” and MS was apparently throwing in teams for “free” as part of o365 sub.

[+] drooopy|2 years ago|reply
Must be all those wonderful and oh-so-important “you are getting noticed” or “your profile was viewed” notifications piling up.
[+] Traubenfuchs|2 years ago|reply
One of the products my company offers is an SDK and we are happy and proud to shave away 10s of kilobytes on it whenever possible, as large SDK sizes seem to lead to loss of opportunities with potential new customers. and then there is this. What I want to say is: Some companies DO care how big their apps are.
[+] DanielHB|2 years ago|reply
I once looked at Zendesk (the thing that powers most of those little customer support chat buttons on the bottom right of web pages), I was appalled at the size of bloat they push down to the browser. I don't remember exact numbers but I think it was ~2mb gzipped. I couldn't removed it from our app but I at least added a 5 second delay before loading it.

Had similar (although not as bad) with the Okta login libraries as well. I eventually created a separate application just for the login page so I wouldn't need to bundle those libs with the main app.

[+] exabrial|2 years ago|reply
Yall just don’t understand what innovation looks like….. Mmk?

That’s what I’ve been told when I also question these things.

[+] mikhael28|2 years ago|reply
I remember, like, three years ago looking at the LI app and wondering, why was it almost 200MB. Bloat breeds bloat.
[+] echelon_musk|2 years ago|reply
It took me all day to realise the title is a pun.

Not sure if it's deliberate, but one does generally look for a gig in LinkedIn.

[+] dividefuel|2 years ago|reply
I don't have LinkedIn installed, but it's hardly the only app guilty of this. My phone has probably a dozen apps or so that take up much more space than I would expect (400 MB for the iRobot app that runs my Roomba? 250 MB for Firefox Focus which is now the same size as 'full' Firefox?)

For many of these apps, I use them frequently enough that the space tradeoff is not a concern.

For many others though, they're in that awkward middle zone where I use them once every month or two. But because the apps are so large, I don't want to have to waste a quarter gig of data to download them on the fly, so instead I keep them on my phone. And collectively they take up 5-10 GB of space.

[+] lern_too_spel|2 years ago|reply
That is wild. Firefox on Android is an 85 MB download, and it's real Firefox with all the associated features. LinkedIn is 45 MB. I don't see how anybody can believe Apple is spending any effort on automated static analysis in app review if they're leaving such low hanging fruit.
[+] bagels|2 years ago|reply
The size is correlated to the number of engineers working on it.
[+] LAC-Tech|2 years ago|reply
give each engineer a budget of 256 bytes
[+] ilrwbwrkhv|2 years ago|reply
Because LinkedIn is run by people who do not care anymore. They have a monopoly and nobody is interested enough in that boring industry to disrupt them.
[+] feverzsj|2 years ago|reply
Why not pick a popular third-party app and buy it or employ its developer, which should be much cheaper than employing hundreds of subpar developers.
[+] dacryn|2 years ago|reply
it's how microsoft does it's business. They have to lead by example.

What message would it send if they can develop this with 5 devs, but the customers they sell their advice and licenses to needs a 1000?

So they have to dogfood, leading to all of these bullshit bloated apps

[+] dangus|2 years ago|reply
One of these lovely discussions again. I’m firmly on the devil’s advocate side here: some install bloat isn’t a big deal.

1. Believe it or not the LinkedIn app is huge in terms of the amount of things it does. It’s basically a super-app for professionals. News, social interactions, an entire chat app, a job board, recruiting and sales tools, etc. Of course it relies on a lot of frameworks.

2. You don’t need a “high end” phone or expensive data plan to have this size of install be reasonable. A brand new $159 Samsung A03s phone can take a 1TB SD card which itself only costs $60 from a reputable brand. You can get an unlimited data plan for $30/month from Mint mobile. Basically, the poorest consumer in the US can “afford” to install the app. Mobile download speeds in the US are far into the double digit Mbps. I’ve seen speeds go up into the hundreds of Mbps. Of course the option exists to have your apps update over WiFi automatically and use no mobile data at all.

3. Install Size != Slow performance. Grand Theft Auto V is a 100GB install on my computer, but it runs at a buttery smooth framerate on modest hardware.

4. Those criticizing LinkedIn for having a large development team that has to rely on frameworks rather than custom-building tightly integrated functionality are just on another planet entirely. The app is optimized for ease of development, not install size or perfect performance. LinkedIn isn’t going to hire a bunch of expensive, impossible to find 10X developers just to over-optimize their app so that somebody will notice that it only consumed 50MB of space instead of 500.