The top iPhone apps are taking up a lot more space
axios.com
axios.com
Saying "there's more space and apps can be bigger" is not an explanation for _why_ the apps are bigger.
Sounds like a great explanation. Apps tend to fill up to take all available disk space, and we've known that since 1981 or so. Every time computers got more disk/memory, apps grew in size. Back in the day you could fit most apps in a single 360K floppy disk or two.
Basically this. It's not just software, either. "Stuff takes up the available time / space available" is about as broadly applicable of an axiom as any I can think of.
It's not like it's the only factor but of course it would play some role. If you accept a higher size then all sorts of benefits follow. You can make the assets higher res, hold more of their data locally, just take less development time optimizing the app.
In large multi-app companies it leads to product decisions on bundling vs. shipping separate apps. For example, Uber vs. UberEATS.
The latter would probably benefit from being bundled in the former and having immediate access to a wider audience, but it's asset-rich as it's much more visual.
Double memory in your new computer? Great! Let's use it all up!
HN discussion: https://news.ycombinator.com/item?id=14082491
At those speeds, the only webpages still working are a few blogs and HN, and the only apps still working are whatsapp, some special irc apps optimized for that such as quasseldroid or irccloud, some reddit readers, and, if you have a lot of time, imgur.
Most of these also have app sizes in the kilobytes to single digit megabytes, making downloading possible within of a few minutes on 64kbps (essentially dialup).
Those speeds are basically guaranteed anywhere in the solar system, and if your app works with that, it basically works everywhere.
Also apple makes decisions like encrypting binaries and then compressing, removing a lot of over the air space savings. They don't give free apps the option to just sign their apps and not encrypt them for smaller IPA sizes.
I wouldn't be surprised if a similar decision was made in the xcode toolchain that caused a similar issue.
https://blog.halide.cam/one-weird-trick-to-lose-size-c0a4013...
I'm skeptical Swift creates significantly larger binaries, let alone 3x-4x, but I'd still use it if so. Using optionals and stronger typing is makes it easier to write correct code, and anyway we can save users from wild pointer crashes is super valuable. Far more valuable than the cost of a couple megabytes of code in an ocean of PNGs and Cocoapods.
All other things being equal, a swift app is much larger. The article also is just talking about binary sizes, not about all the other graphical assets.
You'll also be surprised how much stuff is reduced in swift 4. Swift is still in beta, lots of low hanging fruit to improve still.
Is compression not the first step of basically every encryption algorithm ever?
Any decent product team – which I assume these apps have – is tracking this, and is continuously setting direction for the tradeoffs among space optimization, speed optimization, bandwidth optimization, battery life, usability, stability, server costs, feature velocity, and probably a half dozen other factors.
The implication of some of the comments here is that they've been making these tradeoffs incorrectly. I'd be interested to hear more about the reasoning behind this conclusion.
Between writing a single line that includes a 100 MB library and writing a hundred lines that include just the code needed; many people will pick the former. Just look at usage of GPUImage or other libraries.
Certainly not the ones at Facebook, Google, etc. Nobody gets promoted for “we shipped less new features but our latency remained constant”, or “we shipped less new features but reduced device battery use by 10%”.
I doubt the total installed size of the FB app is very high on their list of concerns.
Key word right there. One criterion you didn't explicitly list: development time.
Pruning and deduplicating dependencies takes time and effort that could be spent elsewhere - e.g. all the criteria you listed - and so the question becomes, what benefit is there to improving that? There's an argument to be made for onboarding, of course, but between the prevalence of WiFi and the proportion of users with the app installed to those installing it, I suspect it's tough to make.
(For lots of pictures and videos, you can keep a lower quality version on the device as a compromise---but not sure whether Google Photos or Apple does that by default?)
The problem isn't so much the speed but the caps, if you're not on Wifi. I don't know anyone who has more than 5GB/month, and HD video will eat that in less than an hour.
The UK isn't ahead of the rest of the world here, is it? (Google paid for my mobile data in the last few years before that, so I am out on the loop on general prices.)
As a consequence, major app developers seem to be shipping a lot of things which used to be integration points. Half of Android apps seem to ship their own browsers now.
These are the functionalities which used to be operating system integration points which I have seen largely replaced by applications (even if they are designed to look identical):
- Web browsing
- Camera interfacing / image processing
- Type/Swipe/text input
- Dictionaries / spellcheck
On top of that, most large app developers seem to be shipping their own run-time environments that appear to be designed to bridge cross-compatibility gaps across operating systems and operating system versions. Until some of those targets are truly end-of-life'd the number of graceful feature fall-backs and work-arounds will likely keep growing.
I personally make a point to avoid apps that opt to use a UIWebView over an SFSafariViewController. The reasons for doing so are rarely in my best interest as a user.
Also feels a lot like adware bloat...
https://arstechnica.com/apple/2015/06/app-thinning-will-be-a...
https://blog.halide.cam/one-weird-trick-to-lose-size-c0a4013...
The problem in my book is being caused by AB tests and low incentives for pruning dead code aggressively.
On the other hand, it's possible that their procedures for releasing new versions — which they do very frequently - don't work as well with whatever the app thinning procedures are.
Also, if their apps are super popular, these companies have somewhat less incentive to keep their apps small. If you need the uber app, you'll delete something else to make room.
I wonder how Apple could efficiently display the relevant download size to users based on device type and previously-downloaded version. I would imagine this would not be easy to do quickly and accurately, but most users would probably be happy just have a rough estimate of what the actual download size would be.
Even in a top app like Facebook it can take many months to hit statistical significance on a new feature test. If the numbers on that test are down (I.e it’s not moving in the right direction) they don’t just give up on it, they iterate and try again.
Add to this NUXs, not being diligent about deleting unused code and you have a receipe for a phat app.
I've switched to a web apps for what I can, which has helped, but it's a little bonkers for some apps. Pages, Numbers, and Keynote need 1.3GB - almost 12% of the 10.93GB of available free space on the phone.
https://blog.halide.cam/one-weird-trick-to-lose-size-c0a4013...
It used to be small and lean, and suddenly -bam- 10x bigger over night.
Anyone have any insights?
No, the fault here is purely with the developers.