Live data from Hacker News

App sizes are out of control

trevore.com

181–190 of 455 posts

Re: App sizes are out of control

#181
post #18

Normal apps are around 10 to 20mb, which is still big. But the reason for this is support for different screen resolutions. Images of different sizes are bundled with the app, even though the phone only needs on of them. Vector graphics will solve this, but is not mainstream yet. The facebook android app is 88MB (zipped), i did check the APK of why its so big: 90mb of code 30mb of assetes (javascript, metadata, librt…

> Vector graphics will solve this, but is not mainstream yet. Then you're trading off battery life vs. space. Vector graphics can be far more expensive to render than bitmaps.

But you don't have to redraw them all the time.

Re: App sizes are out of control

#182
post #26

Earlier quoted context omitted.

Could it be that whenever coders today need some fairly trivial functionality, they tend to go out and find a library that contains it. So you end up with lots and lots of libraries where only a tiny bits of them are used. Just a hypothesis though.

This would be true if the entirety of the library was used by the application. Wouldn't the linker throw out anything unused?

Depends on if you're statically or dynamically linking. When statically linking the final binary shouldn't contained unused functions from external libraries.

Re: App sizes are out of control

#183

I wonder is this is due to lack of generics in objc.

That has nothing to do with code size. You'll either get some sort of type erasure, which will create the types are compilation time anyway, or you'll have some sort of dynamic dispatch. Neither approach will make the generated code any smaller and may even make it bigger.

Re: App sizes are out of control

#185

Pretty soon these will start to hit Apple's limit on downloads over cellular (something I still can't believe exists in 2017).

>(something I still can't believe exists in 2017 Something that I'm very happy about in 2017 :-) Data is expensive in many places, and wifi/broadband is typically cheaper.

"It works for me so you shouldn't need the option" mentality at heart. I have unlimited data so why should I be under a ridiculous limit?

Re: App sizes are out of control

#186
post #80

Pretty soon these will start to hit Apple's limit on downloads over cellular (something I still can't believe exists in 2017).

It should definitely exist, but Apple's one-size-fits-all approach is pretty dumb. It ought to be configurable. The 100MB limit is way too big for someone on a really limited cellular plan, and way too small for someone on a high-end plan.

It should be as simple as a toggle to turn it off.

Re: App sizes are out of control

#187
post #26

Earlier quoted context omitted.

Could it be that whenever coders today need some fairly trivial functionality, they tend to go out and find a library that contains it. So you end up with lots and lots of libraries where only a tiny bits of them are used. Just a hypothesis though.

There are many reasons why apps are so big, but I think you are right about a major part of the problem. Development environments these days make it very easy to add in third party libraries for very little effort. At a previous job we had a monolithic java server that ended up at over 350Mb of compiled code simply because each development team had imported whatever libraries they thought they needed. In some cases,…

How did they get multiple versions of the same library to work together? Java loads things via the class path so I would have thought that would cause some sort of error.

Re: App sizes are out of control

#188

Earlier quoted context omitted.

There are many reasons why apps are so big, but I think you are right about a major part of the problem. Development environments these days make it very easy to add in third party libraries for very little effort. At a previous job we had a monolithic java server that ended up at over 350Mb of compiled code simply because each development team had imported whatever libraries they thought they needed. In some cases,…

How did they get multiple versions of the same library to work together? Java loads things via the class path so I would have thought that would cause some sort of error.

Some libraries change the namespace (package names) between major versions, specifically to allow transition from one to another in a gradual manor, or to start following namespace guidelines better.

Re: App sizes are out of control

#189

The situation is messy. Take Facebook.app. The reported size on the App Store is 377MB, the distributed .ipa is 241MB. But it is a universal app which includes fat binaries arm_v7 and arm64 and all the graphics 1x, 2x and 3x. App Thinning halves that size for end users. Yet the App Store reports the full size. There's more. App Store also provides some sort of delta updates [1], which save a lot bandwidth, but failin…

I was wondering why not use SVG (or any other vector file format) files and render all the graphic on the device, instead of including tons of PNG at various resolutions.

Because different graphics are shown are different resolutions, rather than purely scaling a highly detailed 1024x1024 SVG down to 128x128.

Re: App sizes are out of control

#190

Those numbers are mostly unfair. For some reason in the iOS 10 App Store, Apple started listing the complete fat (both 32-bit and 64-bit archs) submitted .ipa size. If you want to easily test that, clear your cellular data usage, update one of those apps (or install) and then go back to settings and see the actual bytes transferred. Also, most everyone is using Swift in some small part, so that automatically includes…

> In reality, each one is its own little OS full of its own UI frameworks, testing frameworks, and nontrivial code.

Are you talking about React Native apps here as well?

Post reply on HN