>your JS is too big, you can't ship until you get it under 50 kB

Back in the glorious past, the iOS App Store either didn’t allow apps larger than 100 MiB, or at least forbade them from being downloaded over mobile connections. There’s an old blog post/Twitter thread you can find on Hacker News where an Uber engineer describes the challenges they faced in trying to keep their app under that limit. They were also rewriting the app in Swift, so some compiler patches were necessary.

It still boggles my mind than such limits are a problem. Sure, a game with graphics and sound could easily burn past that.

But for a “boring” ride hailing app, it’s still beyond my imagination.

Microsoft Word was something like 8-10MB in the Windows 3.1 days. WordPerfect was about the same and even had a grammar checker.

The entire damn PC with DOS, Windows, and Word was 30MB.

We’ve fallen so far, we mistake the darkness for outer space.

There isn’t all that much actual first-party code in these apps, but if they made a “Hello World” but kept the same third party library deps, they’d be starting at 300MB, and once they add all the visual assets that’s another 200MB… I have a ton of apps on my phone that are absurdly large. Like Gmail is 706MB. The Gmail app for iPhone could not fit on a CD-ROM. A plain mail client. Compared to that, Facebook at 461MB is looking quite slim.

Overcast is 37MB.

I don't want to justify the space too much, but things like the Uber app are kind of amazing.

While the base functionality is fairly simple in terms of find location > send car + all the courier and different varieties of what they do. It manages do that while working in 70+ countries over 15,000 cities with multiple different languages and payment vendors and it is all done via a single application.

That is pretty neat.

Yes, it is still very bloated but it does a lot more than what it initially looks like.

But yes, I am endless impressed when you come across a binary that is tiny. Like a text editor that is 14KB, sure it is simply but it doesn't need to be anything more for most people.

>It manages do that while working in 70+ countries over 15,000 cities with multiple different languages and payment vendors and it is all done via a single application.

I'd assume almost all of that is done server side though. Most likely the app is mostly just a wrapped website with some gps and notification code on top.

And as someone who works on platform that makes use of numerous payment portals depending on the product and region you're buying in. It's all just wrapped up in logic AKA if statements.

Because it's all just API's?

The app just calls the GeoLocation API on the device, pings that off to a server and the server responds with services available in <distance>

With more RAM, Storage and Compute everyone just got super lazy.

We're at the point now that everything is written in some sort of javascript, with a JIT compiler and JS engine...

Even that isn't an excuse, when we compare the computers running Lisp and Smalltalk, versus what we have today.

Folks cared on how to make it all fit into what they had, maybe the RAM prices will help to bring back old practices.

[dead]

now App Store doesn't prohibit it, but it still asks you if you'd like to download an app that weights more than X mb or wait for a wifi connection to do so.

Apple UX used to be good, not anymore sadly