5 ms·
Stop complaining about fragmentation and define yourself which devices you support! It's crazy to think that a common OS among such a wide variety of phones is
by babarock 15y ago
Stop complaining about fragmentation and define yourself which devices you support!
It's crazy to think that a common OS among such a wide variety of phones is enough to achieve perfect portability. Let's take an analogy: Your Windows PC runs an OS very similar to the ATM across the street (I'm not even mentioning the wide array of platform Linux runs on). Do you really expect your app to run on all Windows machines flawlessly?
The real issue is that Google is only too happy to brag about number of Android users, or apps in their market (what's the proper naming convention now? Play?). Corporate bullshit meant to appease shareholders and attract developers.
You can sit all day complaining that Android isn't the developer paradise it was advertised, or you can be more pragmatic, restrict yourself to fewer devices and achieve quality.
But we, as developers, are greedy and pretentious. We want our apps to run on every machine possible, and be featured on top of their stupidly competitive "market".
I blame Apple for the broken model (but hey, it works for them), and Google for not knowing better.
- brazzy 15y agoDo you really expect your app to run on all Windows machines flawlessly? By and large, yes, people expect that and developers largely achieve that. But of course Windows is a much more mature platform than Android.
- babarock 15y agoI think you missed the part where I mention that Windows _runs on an ATM!_ I'm not crazy enough to suggest that Windows apps running on your Dell laptop would run on a Toshiba laptop. After all, they're both clones of the same machine (http://en.wikipedia.org/wiki/Pc_clone http://en.wikipedia.org/wiki/Pc_clone)
- dendory 15y agoActually why would you think a Windows app wouldn't run on that ATM? I'd bet most would. It's probably a normal PC, with all the normal hardware. It would be slow, because it's most likely a slow one with no GPU acceleration and such, but I wouldn't be surprised if 95%+ of Windows apps ran on it. The only reason you, yourself couldn't test it is because they (obviously) run their own ATM software full screen and block you from installing stuff. But why wouldn't you think an ATM admin couldn't fire up Solitaire on it?
- brazzy 15y agoI've programmed ATMs, and dendory has it exactly right: those are completely regular stock PC hardware running a completely regular copy of Windows. The only thing special about them is that they're physically secured and have some very unusual peripherals and assorted drivers.
- babarock 15y agoHonestly I never did program on an ATM so I may be wrong. But I'm willing to assume that unusual peripherals and drivers are analogous to the portability issues across android phones. Genuinely asking, not claiming to have the truth.
- brazzy 15y agoThere's actually a standard for ATM hardware interfaces originally developed by Microsoft (WOSA/XFS, now CEN/XFS), which is a major reason why ATMs run Windows. When I worked in the industry 10 years ago, there were lots of ambiguities in the standard and the drivers were pretty flaky, so the situation there may actually have looked like Android does now. But ATM-specific hardware and software is a niche market with few customers paying lots of money each, so the pressure to eliminate incompatibilities is not as strong - you can just throw people and money at fixing issues as they crop up. The situation is completely different with mass-market PC hardware and software though, and I'd say that it should be possible for Android to get there as well, since it's also a mass-market product.
- DanBC 15y ago> Let's take an analogy: Your Windows PC runs an OS very similar to the ATM across the street [...] Do you really expect your app to run on all Windows machines flawlessly? Yes, I do. (With limited exceptions.) Software often has minimum specs to run. Apart from games the minimum spec will often be for machines that are obsolete. So (apart from games) I would expect an app created for one machine running MS Windows to work on another machine capable of running the same version of MS Windows. And those versions of Windows will last for several years. Compare that with Android as applied to cell phones. Not everyone upgrades their phone every 18 months[1].