9 ms·
I’d like to approach this differently, and think about what it would have cost United Airlines to do it “the right way”, versus what value it brings them. I’m
by stingraycharles 5y ago
I’d like to approach this differently, and think about what it would have cost United Airlines to do it “the right way”, versus what value it brings them.
I’m the first to say that this utter bloat is terrible, but most people aren’t really bothered by it. And I can only imagine that they outsourced their app development completely and like to keep costs low.
From that perspective, it’s probably much more pragmatic to fix the problem at the root(s): Apple may want to mandate stripped binaries (I think this is also what RPM does by default, just strip everything), and/or god forbid these Electron-type frameworks should make things more efficient.
- aiisjustanif 5y ago> And I can only imagine that they outsourced their app development completely and like to keep costs low. From my experience being on a mobile development team for a competitor. Last time I checked like most major airlines their team is in house and I’d be in shock if that changed.
- sneak 5y agoIf Apple would allow web notifications, most apps wouldn't need to be apps at all, but could simply be webpages that get bookmarked to the launcher. The UX for the user would be, for most non-game apps, identical. The problem is that purchases would no longer be subject to Apple's 10x industry standard (30% instead of 3%) captive credit card payment processing service (for apps), so no web notifications in MobileSafari that might undermine platform control and payment processing monopoly. Apple, of course, will say this is about protecting users from notification spam, and sidestep the inconvenient facts that it protects an Apple cash cow and locks developers and users into a closed and proprietary platform.
- arcticbull 5y agoI strongly suspect the bulk of this 500MB is DRM frameworks for their in-flight video playback that they can't or don't want to support in-browser. Safari kicks video playback over to the United app each time you select something to watch and it does what appears to be a multi-stage hand-off dance.
- RussianCow 5y agoAhh, that explains why I can never get it working in Firefox on my Android tablet.
- ajsnigrutin 5y agoI doubt it... Even apps without notifications are still apps, because they can take additional data from users, sometimes even location and the whole address book. Look at sites like reddit for exmaple, which purpusefully cripple the mobile web experience to get the user to install the app.
- sneak 5y agoThe web supports location and photo picker and camera APIs and most apps don't access your address book.
- nouveaux 5y ago"The UX for the user would be, for most non-game apps, identical." In theory, this is true. In practice, it's just hit or miss. I think it's just hard to maintain web across all the different platform and screen sizes. It's probably due to the fact that an iOS developer specializes in one platform and most web development shops will have to support all platforms. "If Apple would allow web notifications" I do not use apps because of notifications. I use apps because in general, the performance and experience is much better.
- sneak 5y agoIt's also hard to maintain two entirely separate apps in two entirely different languages for two entirely different platforms/APIs, all while giving up nearly a third of your CLV to a rentseeking middleman.
- nouveaux 5y agoI completely agree. I'm just sharing my experience. I wish web apps were better so we don't have to download so many apps.
- jacobr1 5y agoWhat we need is better support "native hybrid" apps. For example, you can create "app" that is just a link to browser. There are plenty of action you don't want random web-apps to perform due to security/sandboxing issues, but if you can grant explicit permissions that issue goes away. It is one of the reasons think like election exist. But could apple/goog provide a better electron that was built into the OS?
- arcticbull 5y ago> I’d like to approach this differently, and think about what it would have cost United Airlines to do it “the right way”, versus what value it brings them. For a 5-screen 50MB app, sure. For a 5-screen 500MB app that falls pretty flat. [edit] You could fit all of Tony Hawk's Pro Skater 2 or Final Fantasy VII for PS2 in the same amount of space.
- andai 5y agoWindows 95 required 4MB of RAM and 50-55MB of disk space.
- Krustopolis 5y agoAnd sucked.
- anthk 5y agoWindows 2000 was much more stable and yet the install was far less than a GB. On RAM, with 128 MB was pretty snappy.
- throw10920 5y agoExactly - badness of waste is non-linear. An application that's 4x as large as necessary is more than twice as bad as one that's 2x as large as necessary. A candy bar which is 5% packaging and 95% candy by mass is alright. A candy bar which is 50% packaging and 50% candy is horrifying.
- fennecfoxen 5y agoIt's not that scary. https://www.sugarfina.com/valentines-day-mini-candy-trunk https://www.sugarfina.com/valentines-day-mini-candy-trunk
- fennecfoxen 5y ago... It looks like this link died a short while after I posted it so have the non-holiday equivalent: https://www.sugarfina.com/design-your-own-9-piece-mini-candy-trunk https://www.sugarfina.com/design-your-own-9-piece-mini-candy...
- rvnx 5y agoContrarian opinion here; I understand their logic. It looks like a rational trade-off that the engineers have done. Increase developer productivity at the expense of hardware. In this case, engineering is more expensive than hardware (because hardware is at the cost of the user). The smallest iPhone starts at 128 GB. This means the application takes 500/128000 blocks: 0.4% of the total device storage. Over time, the iPhones are going to have more and more storage. So, if app size is a problem, and over time, the problem is fixed by itself, why would you invest engineering resources into that ? You have X engineers with Y amount of working hours, and tons of important things to do. Yes, probably fixing a problem that brings a low amount of complains from end users at the cost of productivity isn't high on the list for them. EDIT: Possibly interesting source: https://www.androidauthority.com/average-smartphone-storage-1213428/ https://www.androidauthority.com/average-smartphone-storage-...
- athorax 5y agoThis kind of bloat doesn't just affect storage usage, for people with capped data plans these kind of apps are a nightmare
- ratww 5y agoIt's especially worse for people who are traveling.
- notahacker 5y agoYep. Airlines are one of the few brand apps where there probably is a significant business case for spending developer time optimising an app for download size, since customers who make the decision to try to download United's app on slow or metered connections at the airport or overseas are probably customers ready to be upsold stuff via the app.
- gpderetta 5y agoPerfect example of Wirth's Law in action, sadly.
- 5y ago
- colechristensen 5y agoThere's an opposite direction to look at it. Taking the shortest path to achieve a goal often seems like the good idea, but it leads to bloat and inefficiency. It'd take longer to "do it right" so you never do it right. But you ignore the fact that all that bloat actually costs you to maintain it. "Not fixing it" is always faster and will always be the shortest path to the next feature... but that next feature gets harder and harder to achieve as the bloat grows. The bloat makes the fastest thing slower and slower while the fastest thing is always ignoring the bloat. When you appropriately choose when to fix, when to focus on efficiency, everything becomes faster. The concept is slowing down to move faster. There's avoiding premature optimization and then there's ignoring optimization forever except for extreme emergencies.
- engmgrmgr 5y agoThe “right way” also needs to be maintained and refactored over time. That gets increasingly expensive the more in-house or low-level things are.
- eithed 5y agoI'm no mobile developer, but why wouldn't stripping out symbols be default behaviour that publishing process performs?
- stingraycharles 5y agoI can imagine that in case of app crashes, having debug symbols makes debugging them much easier. Other than that, there’s unlikely to be a reason.
- dceddia 5y agoThis is maybe part of it, but having shipped a macOS app that’s stripped of symbols, crashes can still be debugged as long as I’ve got the dSYM file that was made at build time, so I don’t think it’s a super strong argument. Tools like Sentry will catch the crashes and symbolicate them for you, if you’ve provided them with the dSYM. It can be done on the local machine too.
- deleted 5y ago[deleted]
- saagarjha 5y agoSymbols are good to ship so that your users can see what is going on as well, FWIW. They just shouldn’t be 200 MB…
- jandrese 5y ago"The Right Way" involves running the strip command before sending the app off to Apple for publishing. It's 5 seconds of effort and saves almost 200MB for literally thousands of users.
- bspammer 5y agoI'm willing to bet that the devs who made this app have never worked with a decompiler and have no idea what "symbols" are. Source: I am one of those people (well I have a vague idea, but certainly wouldn't think to check if that was causing bloat in my iOS app).
- tinus_hn 5y agoYou’d think the right way would involve Apple refusing your app if it is wasting users storage because you couldn’t be bothered to strip your binaries.
- cush 5y agoWho are most people? Most people in the world are data-restrained in one way or another. Depending on the market, this can have serious user impact.
- nedt 5y agoLast time I had to download an airline app was at an airport via the public wifi. You better make it small if your users are people that might be on the road in a foreign country.