Preferences

Modern app bloat in one analogy:

Business logic size: ~20 bytes Total app size: ~47 MB = 47,000,000 bytes

Bloat factor: 47,000,000 / 20 = 2,350,000

Let’s scale this up and say the business logic is 1 pound.

Then the whole app would weigh: 1 lb × 2,350,000 = 2,350,000 pounds

What weighs ~2.35 million pounds?

   - A fully loaded Boeing 747-8: ~987,000 lbs  
   - Another fully loaded 747-8: ~987,000 lbs  
   - A blue whale: ~330,000 lbs  
TOTAL: ~2,304,000 lbs

The business logic is like shipping a 1 lb object (a book, a flash drive, whatever) by loading it into two fully loaded 747s and strapping a blue whale on top.

Just to run 20 bytes of logic.


WD-42
This is a cool visualization, thanks.
aquafox
On a related note: Transporting a human in a car is (in relation to weight and size) like using a standard shopping cart to transport two 1L bottles of water. So the next time you walk through a pedestrian area, imagine everyone carrying a bag would use a shopping cart instead. That would be a huge traffic jam -- exactly like what you see on the road!
WD-42
I've been pretty aware of this ever since I became a cyclist. I will ride down to the corner store to pick up a six pack and some chips, throw them in a backpack and ride back. It's easy. I see people driving their cars to do the same thing. All that weight and space for a 6 bottles of beer. There is massive waste all around us.
spiritplumber
A long time ago in San Antonio TX I was pulled over by the cops while biking back to my little apartment with a bunch of groceries. They were unwilling to believe that an adult would leave the car home to get groceries by bicycle.

(I'm from Italy originally).

linker3000
Context: We're from the UK.

My wife and I left a meeting in a business park in Phoenix and decided to walk the 5 mins to the local shopping mall, have a look around and then get a taxi back to the apartment in which we were staying (We'd taken a taxi to the meeting).

We were about 2 minutes into our walk when a car pulled up and it was one of the people from the meeting. People in the office had spotted us walking and assumed there was some kind of emergency or our car had broken down.

We had to be very politely insistent that we didn't need a lift to the mall and were perfectly fine.

bjelkeman-again
We experienced the same when we walked down the hill to go shopping in Laguna Niguel, CA. Stopped by cops for walking to the store. Nothing more happened.
lostlogin
There is also the time component. Off peak and with a decent sized backpack (change of clothes, laptop, food etc) it takes me the same time to go 6km as it does to drive it.

At peak it’s 1/4 to 1/3rd the time.

Cars are slow around town.

Zambyte
The time component has to factor in both the traffic while driving, and the extra time required to find available parking. I bought an electric scooter a few weeks ago, and I have come to realize that my travel time is pretty much purely a function of distance. I just roll up past traffic if there is any, lock up on any bolted down object, do my business, unlock, and roll out.

If anything, I feel like traveling at rush hour is actually strictly better for me. Cars being slow doesn't slow me down, but with the average speed being so much lower during rush hour, it seems like it makes it so if a driver hits me, it would be at a lower speed.

tengwar2
It's a reasonable solution, but let's not forget that simply walking is often at least as good a solution in many countries.
ornornor
Getting a trailer (burley cargo in this case, but applies more generally) has been a game changer. I can even bike to ikea and bring back flat packed furniture with it. Or do the weekly groceries. The trailer can carry up to 100lbs iirc (I have an e-bike)

Short errands are much nicer with a bike: less effort than walking, much faster than walking, no parking headache at destination, cool breeze in your hair, and free (no gas, insurance, parking, tickets…)

bongodongobob
Those people could be driving from 20 minutes away or on their way home from work, or running other errands or picking kids up from school or any number of things. Good for you though.
Zambyte
Fortunately trains and buses exist.
sheepscreek
I like your username, and what happened to WD-41?
WD-42
It wasn't the correct answer.
sheepscreek
What was the question?
redundantly
They're still working on that.
latexr
sheepscreek
Haha - but of course!
d-lisp
Incrementation ?
BobbyTables2
Excellent point!

And to top it off, the dual flights and whale would need complex orchestration too!

We just call it Kubernetes…

anon7000
Well, if you COULD ship something across the world on a private 747 with extra features to protect your cargo, and it has nearly no environmental downside and has no meaningful downside vs a smaller airplane… you’d probably do it! There’s no incentive in software to get a smaller, more efficient plane, and plenty of incentive to use the big thing for free that has all the extra features
> it has nearly no environmental downside and has no meaningful downside

I think this is not the case. E.g., we replace our computers every few years, but not because the new ones can do things that you can't do with your current computer. It's because the software you use to do the same things keeps getting more resource-hungry.

iknowstuff
Its called externalized cost and its as real in software as it is IRL
So the cost is there, it's just not paid (directly) by the developer. But we all end up paying someone else's externalized cost, included said developer that is paying some other developers' externalized costs.
josephg
Yeah. I’ve been thinking of writing a blog post doing the math on that. If I spend $2000 on a computer, and that gets me a certain amount of ram and cpu and so on, we can figure out a dollar figure on that bloat.

Then multiply by the number of people who use a piece of software (eg slack) and we’d get a figure for the externalised cost of a piece of software.

aziaziazi
Consider also the missed market opportunity: my personal devices are 13yo laptop and 9yo phone. If an app isn’t compatible or makes it lag, I delete it and download a competing one. I’m not alone, and yes: I have money to spend on your app. I just don’t want/need to upgrade hardware that often.
Kudos for keeping your devices for so long, I also try to have mine last as long as it's practical, but so far i didn't manage to have them last so long. Unfortunately, you're in a minority. Most people would change their phone once the apps they're using aren't compatible with it anymore. So devs don't consider this aspect much.
jorvi
Worst offender being Google, who toggled on VP8 / VP9 decoding on YouTube despite the vast majority of devices only having h264 hardware decode.

The aggregate waste in battery wear and watts spent is pretty staggering when you think about it, all so google could spend a few cents less per 100 streams.

dented42
That analogy doesn’t really work here. Because there is a downside. It’s slow, takes up a ton of memory, lots of disk space…

When you have so many processes on a modern machine competing for resources, when every app chooses to be bloated and slow it really adds up.

dtech
That is more a tragedy of the commons thing. For each individual app the comparison holds true
IgorPartola
And since we do have app stores as gate keepers, this could easily be remedied by the app stores. They wouldn’t even have to penalize you. Just put a score on there for app size (and app responsiveness) compared to the median in that category. Put this near the star rating from the reviews. Executives don’t generally care that you as an engineer want to reduce an app size by 10% but they really really care about how the app looks on the app stores because that’s what they show to people and what they are judged on.
kulahan
Tragedy of the commons or just a really bad industry?
leptons
It doesn't "take up a ton of memory" and if you think 47MB is "a lot of disk space" then maybe you need a bigger disk. Most laptops have at least 250GB, so this program would take up about 0.0188% of disk space, which is frankly not a lot. I had PDF files way larger than that. And you only need to run it once, you do not need to keep it loaded and running all the time, so it doesn't "take up a ton of memory".
lostlogin
This is how we have ended up with huge cars and huge houses etc. Storing huge volumes of unneeded junk isn’t solved by have more space. Store less junk.
leptons
You can live however you want to live. I will live however I want to. 47MB is not worth worrying about, at all.
BobbyTables2
47MB is about 3x the space once required by a widely used commercial graphical operating system. It was even enough to also include Microsoft Word with plenty of space left.

How far we’ve fallen.

leptons
You're living in the past. Hard drives are now up to 36TB. Hard drives are always getting bigger. 47MB isn't worth worrying about, at all.
charcircuit
47 MiB only costs $0.0002. What has fallen is storage price.
anonymars
These crappy WiFi portals are known for having ample download speeds too, right?
BobbyTables2
People usually think that but when it comes to attack surface, change management, upgrade issues, etc —- the extra stuff isn’t entirely free…

Upgrades shouldn’t ever break things, bugs and vulnerabilities never exist, and Rube-Goldberg machines should work 100% reliably day in and day out.

Unfortunately reality doesn’t work that way…

al_borland
Even Rube Goldberg sometimes included a simple alternative at the end of his machines. If the opossum or woodpecker get sick, there is a knife handy to sharpen the pencil.

https://msl.cs.uiuc.edu/~lavalle/cs397/goldberg.html

lostlogin
> Well, if you COULD ship something across the world on a private 747 with extra features to protect your cargo

Qatar might even give you a plane!

numpad0
This has to be Soviet Shoe Factory Principle in action, not just ignored negative externalities. Everyone relies on shipping more code for their employment, rather than more values, which incentivizes that behavior.

1: https://wiki.c2.com/?SovietShoeFactoryPrinciple

phyzome
I think you're conflating "no incentive" (which might be true) with "no downsides" (which is not).
m3047
Very nice. Maybe that should be submitted to The Register for their units of measurement menagerie.
shepherdjerred
How many 747's can the average person fit on the 128GB+ smartphone in their pocket?
rajnathani
The commenter messed up on mentioning that a flash drive can be 1 pound, this would be more so the weight of a hard drive.
foxglacier
Human time is money in software, more analogous to mass in physical goods. So you should calculate the time savings for all the people using the app vs entering the code themselves.

Mass is a nonsense analogy that doesn't reveal anything useful.

tucnak
The proposition that Electron apps are somehow "saving time" is preposterous!

Of course, the real cost-saving is in labour—web development presents a radically lower barrier to entry compared to even non-native, cross-platform UI/UX platforms such as Qt, or Flutter, or what-have-you, let alone simply managing multiple native applications.

So this is not a bill-of-materials kind of analogy, it's a statement about talent.

Web leaders have grown complacent; at times, it seems they don't take things seriously. I mean, just take a look at something like SvelteKit. I'm not a web developer, however I happen to like Svelte a lot, but also despise SvelteKit equally as much.

Every major release is like "fuck you."

Yes, the savings in labour translates to savings in time. This should be obvious.

Using Electron to package your application often saves time over writing a native app.

Giving a regular user a ready-to-use app saves them time, because they aren't googling "how to use terminal" for five minutes or trying to copy-paste the magic command out of their notepad app.

tucnak
> Yes, the savings in labour translates to savings in time. This should be obvious.

Under some circumstances; arguably, in only a handful of circumstances. The colloquial 10xer may as well as get the job done at a fraction of the labour cost associated with a 10-man senior (but really, comparatively junior) team, whereas the latter would spend months rewriting, refactoring, troubleshooting, triaging, bug-hunting, what-have-you...

Much can be said about inefficiencies of engineering teams.

_gruntled
“every major release” lol you mean the single major release that has ever happened since GA?
tucnak
*s/major/minor
Eric_WVGG
bravo, Douglas Adams would have been proud
jofla_net
says more about sociology, really.
paxcoder
While I appreciate criticizing bloat (why are we packing Chromium in every app again?), I would like to warn against watching every "pound". Images, for example, "weigh" a lot more than code but that doesn't mean they don't serve a purpose and add value.

That being said, the fact that quick maths can give you a 6 orders of magnitude difference between functional code and the package is probably reason for concern.

BestHackerOnHN
OMG you win HackerNews today with this comment! Super HackerNews!!!
bognition
This is an absurd way to think of this. Following this same train of thoughts for humans:

The business logic for humans is a single reproductive cell.

A single sperm weighs 2.3 x 10^-11 grams. If the average male weighs 75kg the. The bloat ratio for a human male is 3.2x10^15

Getting back to the app there is huge value in not needing to run the command yourself. Sure it’s wrapped in a UI that comes with “bloat” but honestly who cares. When was the last time someone needed to worry about hard drive space, when it comes to a 40mb file.

Well, the apps often come bundled with a bunch of other stuff. Automatic updates, background workers, telemetry …

All of which sucks up your compute resources and battery. Repeat for every such little utility app you have on your Mac. Some may implement that random stuff inefficiently (eg very frequent telemetry), which sucks even more. Some of it may even be wrong, vibe coded, or copy pasted.

Personally, puts me off installing random utility apps, even if the single utility would be useful.

Dylan16807
In the human analogy, the human has to be the entire computer too. It's all functional, not much bloat. For the app, the computer is external. It really is bloat.

This item has no comments currently.