4 ms·
App thinning goes a long way if you're supporting multiple architectures, but if your app has a lot of code it can still get very big, very fast. There are many
by sond813 6y ago
App thinning goes a long way if you're supporting multiple architectures, but if your app has a lot of code it can still get very big, very fast. There are many companies that have dedicated teams to trying to handle app size, but we've found that our tooling offers more without the maintenance and eng resource cost of building it internally. To support independent developers and small startups we offer a free Growth plan and have significant discounts available for higher build volumes. We think this is a fair alternative to having a development team or even one engineer focused on this problem.
- bluesign 6y agoApp size is a problem, but as far as I know only challenge there is cellular download size. (thats why in your examples, dropbox and ebay doesn't care about install size) Main approach to this problem in industry is when you approach cellular limit, you optimize. I also agree that it is big engineering investment sometimes. But the problem is you are targeting low hanging fruit (stripping comments from localization, stripping symbols, optimizing images etc) or stuff that doesn't effect download size ( deduplicate files ) Those fixes are good for small startups, which you are giving away for free. The main engineering problem for big companies is binary size, optimizations like "reordering of the build optimization passes" etc. I would buy this as a tool, but as a service it is a hard sell for me.
- sond813 6y agoDefinitely! We want to reduce cellular download size as well. In the particular case of Dropbox, their download size is around 100mb right now. I just did a quick test by deleting the duplicate localizations in their Frameworks and zipping the .app which reduced compressed size by ~17mb (17%) so these optimizations would help significantly. This is one of the reasons I prefer to just measure install size. It's difficult to reason about all the combinations, but by reducing install size you're always on the right track to an overall smaller app. In my experience working on large apps like Airbnb we try to get ahead of the problem even before approaching the cellular limit, since a smaller size helps acquire and keep users, and we want to avoid architecture decisions that would become a problem down the road. It's not too rare for one of these low hanging fruit optimizations to be accidentally introduced in a large company, with testing on every PR you can catch them before they‘re introduced. Binary size is definitely what changes most often at these large companies and that's why our continuous monitoring lets developers know exactly the granular binary size affect of a PR. With a lot of code, things like exposing Swift functions to Obj-C which introduce new metadata can frequently be mistakenly added. For enterprise companies we also track the biggest modules in their binary, so eng managers can get a better understanding of where the size is coming from.