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.
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.
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.
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.
simplistic apps like that
how is facebook simplistic? it needs to:
track your location at all times
record everything via the mic even when backgrounded
send you push notifications when your gradeschool girlfriend makes a post about how men suck
deliver you the quality ad content you deserve
let your HR department creep on your comings and goings because they have nothing else to do
support hashtaggings
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.
Developers develop their apps on emulators, not on the phones themselves. When they do use phones, they are the latest high-performance ones. They never see the slowness, or if they ever do, it is handwaved away with "upgrade your damn phone, Luddite."
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
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.
Actually, they ARE re-using code. These days every schmoe has a library that is "built on" some other schmoe's library. You can't even flush the urinal without going through 99 million layers of schmoe software. It's schmoes all the way down.
These clowns are worried about size -- frankly, it's a damn miracle that any of it even functions at all.
Actually, that's not true. Facebook for example is huge because of code size, not because of asset size.
They have literally thousands of classes for a super simple application. In fact, their code is so large, unwieldy and complex that they wrote an entire IDE, because the traditional IDEs couldn't deal with the sheer amount of code they have.
I don't know why it didn't occur to them to just write better code, but apparently it didn't.
How code re-use works on a real linux distro:
1) application A wants to perform operation B
2) application A depends on libB
3) A bug in libB is discovered that prevents Application C from using it
4) Application C embeds a fixed version of libB
5) libB eventually gets upgraded while maintaining ABI compatibility
6) Application C drops its embedded version of libB and resumes sharing the system libB by depending on it with a version restriction in their next version
How code re-use works on andriod:
1) application A wants to perform operation B
2) Luckily android happens to have libB preinstalled (for argument's sake) so application A just uses it
3) A bug is discovered in the preinstalled libB that prevents Application C from using it
4) Application C embeds a fixed version of libB
5) nothing happens for a year or so until all major carriers upgrade the whole OS
6) The whole OS gets upgraded and other things in the upgrade break both application A and C even while libB gets fixed
7) The authors of application A and B say "screw this, that sucked" and embed their own copies of everything
so they never have to deal with that kind of mess again.
Someone had to do it.
I don't miss the size constraint nature of floppies, but I do miss the portable environment nature of floppies.
It was awesome to have my own little box of 5.25 floppies that I could bring from home and then in computer class, boot the Apple ][ with my own disks and utilities.
I kind of wish it was more practical to do this with Windows. Of course there are close workalikes, (RDP, web based environments, Windows to go, etc) but nothing with the elegant simplicity of just booting the dumb thing from a 128 GB USB stick and using it as normal, and then carting it off.
It's a good comparison, except that step 6 on the Android list very rarely happens at all.
Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
Here's something I really don't get.
The blogger - and many of the responders here - are debating the size of LinkedIn's app. But, given the bad things we know that LinkedIn has tried to do with that app on more than one occasion... why does anyone even consider having that piece of malware on their phone at all?
#DeleteChrome