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.
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.
I know you old perl grognards don't know anything about the size that graphical assets take up, but when you need a 2086x1080 image for every screen because iphone resolution is fuckhueg you get ballooning app sizes.
This is the natural consequence of choosing languages based on their library support. These languages were chosen for their ease of creating deployable solutions, not for the size of their executables.
Storage utilization is the user's problem, not the software engineer's.
The society for a thought-free internet welcomes you.
Good job, guys.
On the one hand we have Bettridges law of headlines telling us that the answer is "no", and on the other the fact that it is rather obvious to pretty much anybody who owns a smart device that the answer is "yes".
Since you're on a roll, why don't you just spread butter on the back of a cat and drop it from the ceiling to watch it float?
Node.js apps are a dime a dozen these days, and they're all fat slugs of things. Sad.
Yeah, about a year ago I got fed up with the Facebook app using up hundreds of megabytes of space without really adding anything above and beyond the mobile web version. Still use Facebook, though - just through the web browser.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
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.
This is just plain overkill on UI components. ost companies are more worried about bells and whistles then functionality right now. That's why tablets and phone apps became so popular. Everything was light, small, simple which desktops and laptops really aren't. That's also my Facebook offers a slim version of their application in countries that has slow network connections.
My guess is that the pendulum will switch away from native apps to something like Progressive Web Apps (God I hate that marketing term.) Light static websites that pull from RESTful service will become popular again. The base site will be 1 meg at most in size. Until thos ebecome as bloated as native apps. Then a new disruptive technology will come along and start the process all over again.
You say things that offend me and I can deal with it. Can you?
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.
...on my Android phone. Except my phone is full, so every update... I have to delete another app, or clear the cache for it to download.
It's !#@$!ing pathetic.
I've got maybe 4 apps that aren't stock on my phone. It runs slow as piss compared to the two years ago when I bought it used. A freakin Samsung S5. You know... an "enterprise model / top-of-the-line" phone when it came out. No Facebook. Nothing. Just Google's, T-Mobile and Samsung's defaults.
"Maybe you just need to upgrade."
Bull. Shit. It's got a quad-core CPU and a GPU that would make my netbook cry, and yet... somehow... my Linux laptop sits there, every day, just as fast. And my phone keeps getting slower. Same websites. Same hardware (from purchase date). And yet... mysteriously... it keeps getting slower.
I would not be surprised at all if there's some planned obsolescence at play. I've seen countless stories of people "reseting to factory default" their phone or tablet, and then once it installed all the normal updates... it's slow as mud again. It shouldn't take me 7+ seconds to load my bloody GMAIL app on a quadcore ghz CPU. It's _e-mail_. It's practically a word processor without the word processing.
Then again, it's probably just a conspiracy theory. It's not like large corporations have ever colluded to bypass things like environmental regulations to increase profit.
Yes, absolutely. I was just complaining to a fellow developer about this recently. As an "old school" software developer, who compiled code on an Amiga with two floppy disk drives (one for the compiler and libraries, and the other for my workspace), I am greatly annoyed by the bloat I see in apps. In my opinion, for an app to be 300 MB, it either is comprised of at least 1 trillion lines of source code, or contain a 298 MB video showing how to use the app. The latter of course being totally unnecessary. The FB app is over 300 MB. The images and icons it contains are most certainly not taking up the bulk of that space. Does it contain its own build of Linux or something? Does it contain translations for every known human language? Really, there is no reason for applications of that kind to be nearly that large.
Two things I know for sure are that iOS apps do not need to be that large - there are some really good games that are only around 5 MB. Second, and I haven't used Android in years so maybe it has changed, but a given Android app always seemed to be smaller than the iOS version.
Better known as 318230.
AND WE LIKED IT THAT WAY. Sometimes you had to swap a floppy, then people got 10 MB hard drives and everybody started throwing around memory like it was free.
how one achieves being a parent without a child?
People can die before their parents.
"I don't know, therefore Aliens" Wafflebox1
Reaper, a highly sophisticated digital audio workstation for PC that is decades more advanced than any phone equivalent, weighs in at 10MB installed.
I'll give you the source code to systemd. You tell me what it's doing.
The "open" system is an absolute myth anyway. You have no idea what your computer is actually doing, no matter what it is or where it was bought from. Even the "open" / "coreboot" laptops do things like apply closed-source Intel microcode updates to the processors on boot or they wouldn't work properly at all,
This is my big complaint with "apps". Why the hell do I need to sacrifice ANY space on my device (aside from maybe a few kb for cookies etc) to do something on my phone/tablet that I do from a browser on my desktop/laptop? Why can't I do it in the browser on the phjone?
My storage is for my mp3s, pics of my kids, my ebooks, MY stuff.
Don't blame me, I voted for Kodos
This is not a new phenomenon, it's been going on in the desktop PC world since the beginnings, and it's been going on in the mobile world since day one. I absolutely hate the trend but there's not much one person can do about it. As I see it, especially in the mobile world, there are lots of coders who use and link large libraries even for small tasks, usually don't even try to implement it themselves, and usually don't even search for other solutions or smaller libs providing the same functionality, they just stick with the first they find, and never care for the size of the apps. This applies for average junk apps as well as for large company apps like linkedin or spotify or here maps, and I could just go on. Gone are the days when efficient and small coding was the norm. And most of young coders don't even, or can't even think about writing small and efficient code. Just a couple of months ago I was given a code to use for some task, handling images, at a speed of ~14s/image, which was unacceptable for the specific task. After a complete rewrite in about two weeks I got it to run at ~1s/image, which was still slow, but at least was good enough for a proof-of-concept. And everyone was looking at me like I was some alien.
Lots of coders prefer fast prototyping and quickly throwing together some app and spending very little time on making it small or as efficient as possible - upgrade your device/hw/PC is their mantra. Well, f*k that.
I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
OK, the numbers are "real" in that "that is how much space the app is taking on Apple's server". It is not real in that "this is not the size of the files being moved to your device."
What those numbers include: Multiple assemblies for different architecture platforms. The whole 32/64 bit thing is rearing its ugly head. There are also shared assemblies, not all of which get sent to your device (because they might already be there).
Source: I'm an app developer who has had to explain this a few times as well.
Bad User. No biscuit!
This all started with HP Printer Drivers.
I just want to print a list on a Laser Jet should be 1-2 MB MAX.
But NO! I have to download a 100 MB+ PRINTING PHILOSOPHY!
What exactly would you have Apple or Google or any other app distributor do?
The fact of the matter is modern day applications are *shit*. Todays average "developer" is a glorified script kiddy that slaps a bunch of components together, adds some glue, and calls it done. And the bits that developers write themselves are so shockingly bad, that bloat is inevitable.
I mean, seriously..... Look at Facebook for example. The Facebook App + the Messenger app takes a whopping 3/4 GIGABYTE on iOS. The Slack desktop application, as good as it is, takes up a stupid amount of resources.
This is what happens when you lower the bar to programming to the point where any John Doe can slap some crap together and think that they are now a professional developer. This is what happens, when you push a culture of "You don't need a degree to write code!", of "young and new is always better than old and previous".
The focus is now on slapping some crap together and shoving it out the door, than doing things properly. As long as it runs, everyone is happy. The end result is low quality, ridiculously bloated apps that are replete with security issues. This has been a steady hole that everyone has been reveling in digging deeper and deeper, and that's exacerbated by the attitude that people who have learned from their previous mistakes should be fired to make room for young people who are still deep in dunning-kruger territory.
App sizes are just a symptom of a much larger issue: Computing in general have gone to shit, and the tech industry is happily dancing a jig in their own filth because they've so completely drank the koolaid of their own marketing that they think that filth is full of rainbow sparkles, and they ostracize anyone willing to lift their head up and go, "Wait a sec here...."
It's a JavaScript runtime. Is anyone using a JavaScript runtime for native client side apps that aren't just running in a browser? I'm not sure I see the point of complaining about server side apps. You trade performance and size for programmer hours.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/