Slashdot Mirror


Are App Sizes Out of Control?

In a blog post, Trevor Elkins points out the large sizes of common apps like LinkedIn and Facebook. "I went to update all my apps the other day when something caught my eye... since when does LinkedIn take up 275MB of space?!" Elkins wrote. "In fact, the six apps in this picture average roughly 230MB in size, 1387MB in total. That would take an 8Mbit internet connection 24 minutes to download, and I'd still be left with 27 additional apps to update! More and more companies are adopting shorter release cycles (two weeks or so) and it's becoming unsustainable as a consumer to update frequently."

Should Apple do something to solve this "systematic" problem? Elkins writes, "how does an app that occasionally sends me a connection request and recruiter spam take up 275MB?"

Further discussion via Hacker News.

6 of 386 comments (clear)

  1. Re:lol know nothings by Anonymous Coward · · Score: 5, Informative

    Image compression exists for a reason. If you neglect to optimize your images, the best compression in the world won't help. Check out PNGQuant; it can often achieve perceptually lossless compression through careful palette selection and dithering. Vector graphics are also a thing; you can create your bitmaps at runtime.

  2. App Update Size is not the same as App Size by Snowhare · · Score: 4, Informative

    https://developer.apple.com/li...

    Technical Q&A QA1779
    Reducing Download Size for iOS App Updates

    Q: How can I reduce the downloaded size of my app update for users that already have the previous version installed?

    A: This document is specific to app updates. See Technical Q&A QA1795: Reducing the size of my App for a collection of techniques to reduce the size of an app when it is downloaded and installed for the first time.

    Starting with iOS 6, the app store will automatically produce an update package for all new versions of apps submitted to the store. When generating the update package, the app store compares one or more prior versions of your app to the new version and creates an optimized package for each that contains only the content that has changed between versions of your app, excluding any content that did not change. This comparison looks at everything in the application bundle, including the application executable, nibs, localizations, image files, video files, audio files, text files, and files containing data in a custom format.

    Note: The ability to create update packages is not currently available to developers who do not distribute their apps through the app store, such as those distributing enterprise apps.
    When used optimally, an update package is significantly smaller to download than the full package of the app and the update will install more quickly. Also, in many cases, this mechanism allows updates to large apps to be downloadable over cellular networks where app downloads are subject to a size limit.

    In addition to new content, the update package contains instructions on how to transform the prior version of the app into the new version of the app. New files will be added, modified files will be replaced with their updated counterpart, and deleted files will be removed as part of this transformation. As far as the developer and user are concerned, this process is entirely transparent and the resulting updated app will be indistinguishable from a full download of the corresponding updated version of their app.

    To optimize the size of your app updates, you should consider two tips:

    Do not make unnecessary modifications to files. Compare the contents of the prior and new versions of your app with diff or another directory comparison tool and verify that you've only changed what you expect within your app bundle.
    Content that you expect to change in an update should be stored in separate files from content that you don't expect to change. This reduces the size of the update package and increases its install speed.
    For devices running iOS 6.x and iOS 7.0, the update package will include any file, in its entirety, that has changed in the new version of the app. For example, if you have a 10 MB file in your app and only change 1 KB of content within that file in the new version of the app, the update package for that new version will contain the full 10 MB file.

    For devices running iOS 7.1 and later, the update package may include only the differences between the old and new versions of a changed file instead of the full file. This may significantly reduce the size of the update package in the case where only a small part of a large file changes, but will increase the update's installation time on the device. For this reason, the two tips above are still important even for updates on iOS 7.1 and later. Minimizing changed content and localizing it to many smaller files instead of one larger monolithic file will reduce the download size in all cases and will speed up installation on devices running iOS 7.1 and later.

  3. Re:Microsoft updates / apple updates - No proxy ca by jerquiaga · · Score: 5, Informative

    There is a solution for Microsoft, and it's built in to Windows server. It's called Windows Server Update Services, and it does exactly what you're talking about for Windows.

    Mac OS also has exactly the same thing, called Software Update services and it's included with Mac OS Server.

    Neither of these are Unix based, but if you've already invested in 1000 clients, it's pretty likely you have at least one Windows/Mac OS server for all the other ancillary things they provide.

  4. Re:Natural consequence by LordWabbit2 · · Score: 5, Informative

    Wrong, it's the software engineers problem. Most of these apps are huge because the decision was made to go with a framework which would make it easier to build for all relevant platforms without specifically catering for that platform (except maybe UI). Just before my last phone upgrade I was seriously hunting for space, and guess what apps got nuked first?
    The largest that I don't use often or can live without. {{{ That makes it a software engineers problem, not the users.

    If no one is using your application because they consider your flash light app that clocks in at 70mb too big to bother with, then you may as well not have written the software at all.
    Xamarin is a prime example of this, a hello world app is over 16mb (the last time I looked) the same app in native Java is a couple kb.

    --
    There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
  5. Re:lol know nothings by tbuddy · · Score: 5, Informative

    Total bullshit. LinkedIn, for example, is 247 mb uncompressed of frameworks and 1.6 mb of images, 14.9 mb of language localizations for the 25 languages it supports.

  6. Bullshit. by Anonymous Coward · · Score: 2, Informative

    Reaper, a highly sophisticated digital audio workstation for PC that is decades more advanced than any phone equivalent, weighs in at 10MB installed.