Live data from Hacker News

The Apps are Too Damn Big

tobykeller.tumblr.com

121–129 of 129 posts

Re: The Apps are Too Damn Big

#121
post #29

This is device fragmentation, like Android and Windows face. SVG might help in some cases. Apple's SDK should accept the best quality assets and resample for app versions for each device. Some apps will still benefit from targeting devices more specifically, though.

It's far from ideal, but it's a long way from the Android fragmentation (can't comment on Windows Phone, never been involved in dev for that). With Android, there could be any one of dozens of resolutions (iOS has two basic resolutions, with a relatively simple 2x multiplier version of each of those), you could have a keyboard or not, you could be a device with a resistive screen with no multi-touch (or even no touch…

I'm curious - How many of those "only occurs on Android device X with OS version Y" issues were actually problems with the device X / OS Y combination versus how many were actual bugs that (for whatever reason) were only showing up in that particular case?

According to the ZipLine CEO here:

http://thenextweb.com/google/2012/04/02/zipline-ceo-stop-whi...

most of the issues they saw along those lines were general problems that happened to be manifesting in a particular situation. I'm curious about whether or not that experience is typical or, for instance, if ZipLine saw that because they were working on a framework first and a specific game second.

Re: The Apps are Too Damn Big

#122
post #76

Earlier quoted context omitted.

iOS already supports PNG8+a, which is much smaller than regular PNGs and a"CgBi" PNG variant that Xcode uses.

PNG8 is 256 colors, that's pretty limiting in very many cases. CgBI - I just looked it up - appears to be a speed optimization rather than a space one.

At least in web apps, a good part (I'd say 60-80%) of image assets can be converted almost lossly to 8-bits, including gradients/shadows (you can have alpha transparency).

Re: The Apps are Too Damn Big

#124
This isn't just in mobile apps, it happens on the desktop too; and it's a tricky problem. In general one has to blow up the size of an app to preserve a good user experience in other areas.

Consider download complexity. How many "versions" of your app would you need to have to give each user the optimal installation size? How often do you want to deal with people downloading the wrong one and having a bad experience? What about 3rd party distribution...any number of other sites may choose to offer download links and you have basically no control if they screw something up.

Another is problematic upgrades. Suppose you optimize a download for a user's current machine. Then they buy a new machine. They won't really try to understand why your app is now looking strange or misbehaving; they'll just think your app sucks.

On the Mac side I've chosen to go the oversized route. There's no doubt that my app bundle is 2-3 times as big as it ought to be (and unfortunately two thirds of the binary bloat goes towards supporting systems that few users are likely to care about at this point). But then downloads are simple: just "click here for the new version" and whatever your system you see something that works.

Re: The Apps are Too Damn Big

#125

Earlier quoted context omitted.

> I have a feeling that Apple might just start to run into the kinds of realities MS and others have been living with for years. Why would they run into these realities now? Apple's been around just as long as Microsoft, and they have been pissing off their customer base with poor backwards compatibility the whole time. The scale is much larger now, I'll give you that, but the relentless forward-thinking is what has…

"But to solve it is non-trivial" No, it's trivial. Device-dependent DRM-signed packages. Either the common part is duplicated in each device's version, or app store downloads can consist of two packages.

Actually no it's not. Right now you have one package for an app, done. If you have multiple packages you have to think about getting the right one to the right device, so Mac => iOS syncing becomes more complicated. And that's just off the top of my head.

You are committing the common developer error of underestimating complexity. But when you get in there, I assure you, having one package per app is dramatically simpler.

Re: The Apps are Too Damn Big

#126
post #121

Earlier quoted context omitted.

It's far from ideal, but it's a long way from the Android fragmentation (can't comment on Windows Phone, never been involved in dev for that). With Android, there could be any one of dozens of resolutions (iOS has two basic resolutions, with a relatively simple 2x multiplier version of each of those), you could have a keyboard or not, you could be a device with a resistive screen with no multi-touch (or even no touch…

I'm curious - How many of those "only occurs on Android device X with OS version Y" issues were actually problems with the device X / OS Y combination versus how many were actual bugs that (for whatever reason) were only showing up in that particular case? According to the ZipLine CEO here: http://thenextweb.com/google/2012/04/02/zipline-ceo-stop-whi... most of the issues they saw along those lines were general probl…

There was certainly a fair amount of the latter - couple of examples off the top of my head were things like layout on one screen sometimes being screwed up on a phone with a tiny display, or unexpected character entry because someone was using a device with a physical keyboard that sent keys that the used couldn't have entered with the on-screen keyboard. There were also a few caused by different OS versions (I seem to remember one that had something to do with either different encryption or storage behaviour on one old handset - not sure of the detail, I wasn't the developer, but it wasn't saving encrypted data on one specific device).

However even if it is a bug, bugs do happen and if it's a bug that only shows up on one out of 20 OS/handset/network combinations (if you're lucky enough to have that one specific combination in your test labs) is going to be one that's going to be a lot harder to spot than one that either occurs on all devices or not at all.

Re: The Apps are Too Damn Big

#127
post #89

Earlier quoted context omitted.

I see your point, but users don't need to be moving apps from one device to the other. They just need to DL it on one and have it delivered to others, which is standard icloud procedure now. It's the same for backups, especially for apps that you want a copy nevermind what happens down the way (the app is deleted, the news version is crap, you can't connect to the store etc). As a matter of price, for the reasons abo…

You totally missed his point. He's not saying the experience should present to the user as anything but what it does now - but behind the scenes there isn't any reason for the universal binary to exist. The phone or tablet should just download the binary it needs.

I talked about backup and multi distribution of the same app to different devices in one batch. Isn't that enough "behind the scenes" related? I understand he wants the better of both worlds, a light download for each device and still full compatibility with each. But just thinking about it 30 sec and there are plenty of cases where the magic breaks and you find yourself in a corner with only one version when you need the other. You can say "throw the edge cases away", but it' unrealistic to think that you can keep the same usability in everycases while heavily cutting on the data you transmit to your users. Let's be honest about the compromises.

Re: The Apps are Too Damn Big

#128
post #121

Earlier quoted context omitted.

I'm curious - How many of those "only occurs on Android device X with OS version Y" issues were actually problems with the device X / OS Y combination versus how many were actual bugs that (for whatever reason) were only showing up in that particular case? According to the ZipLine CEO here: http://thenextweb.com/google/2012/04/02/zipline-ceo-stop-whi... most of the issues they saw along those lines were general probl…

There was certainly a fair amount of the latter - couple of examples off the top of my head were things like layout on one screen sometimes being screwed up on a phone with a tiny display, or unexpected character entry because someone was using a device with a physical keyboard that sent keys that the used couldn't have entered with the on-screen keyboard. There were also a few caused by different OS versions (I seem…

I'll absolutely agree that bugs that only show up on particular device/OS/network/etc combinations are harder to detect, diagnose and fix. But when those bugs are generally applicable (and the particular combination is just surfacing the underlying issue) I'd say it is better to be thankful they came up instead of frustrated by fragmentation.

After all, when it is a general bug that just happens to be masked most of the time, it is a buried bomb just waiting to explode when the surrounding context changes. In my opinion, detecting and defusing more of these issues sooner rather than later is a good thing.

Personally, I'm reminded me of the issues I run into when writing cross-platform code (or code that needs to work with multiple versions of tools and libraries). The upfront effort to multiple environments (or the effort required to add the new environment) is usually significant, but I'd say the improvement in code/software quality is an often unrecognized benefit (over and above the reason you're supporting the new environment in the fist place).

Re: The Apps are Too Damn Big

#129
post #127

Earlier quoted context omitted.

You totally missed his point. He's not saying the experience should present to the user as anything but what it does now - but behind the scenes there isn't any reason for the universal binary to exist. The phone or tablet should just download the binary it needs.

I talked about backup and multi distribution of the same app to different devices in one batch. Isn't that enough "behind the scenes" related? I understand he wants the better of both worlds, a light download for each device and still full compatibility with each. But just thinking about it 30 sec and there are plenty of cases where the magic breaks and you find yourself in a corner with only one version when you nee…

> But just thinking about it 30 sec and there are plenty of cases where the magic breaks and you find yourself in a corner with only one version when you need the other.

Name a single one an end-user would encounter. They wouldn't.

Post reply on HN