TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The shocking toll of hardware and software fragmentation on Android development

84 点作者 j_col大约 13 年前

14 条评论

mrb大约 13 年前
This article is obviously biased toward extolling the advantages of iOS's uniformness, yet the best example it takes to argue against Android's fragmentation is an application that fails to support only 7.8% of the Android market! How is this a proof that fragmentation is causing a "shocking toll"?<p>For the curious, I decompiled this "Temple Run" app. It requires Android 2.2 or higher, because its AndroidManifest.xml declares the use of OpenGL ES 2.0 which was introduced in that version of Android. (And the app's minimum API level is Android 2.1.) The app also needs android.hardware.sensor.accelerometer and android.hardware.touchscreen.multitouch, but virtually all Android 2.2 devices have these capabilities.<p>So, effectively, Temple Run works on any Android 2.2+ device, which represents 92.2% of the devices in the wild: <a href="http://developer.android.com/resources/dashboard/platform-versions.html" rel="nofollow">http://developer.android.com/resources/dashboard/platform-ve...</a> When the developer says they support 707 of the 1443 unique devices on Android Market, this means that these 707 devices represent 92.2% of the market, whereas the article tries to present this as "only half the market is supported".<p>Yet another article written by an iOS fanboy trying to unfairly depict the state of the Android ecosystem... Nothing to see here.
评论 #3780208 未加载
评论 #3780288 未加载
评论 #3780504 未加载
btilly大约 13 年前
Yes, Android is a free-wheeling mess. But I am not concerned.<p>I see this as a replay of the 1980s. Apple was the dominant player with a premium option on nice hardware, a consolidated set of software options, and facing fragmented opposition. (Then the PC/Windows landscape. Now Android.)<p>Then Steve Jobs was yanked from the picture (then by being fired, now by dying), Apple lost its focus, and the fact that so many people were on the messy platform caused it to win in the marketplace.<p>There are big differences. Tim Cook is hopefully not as incompetent as John Sculley proved to be. Google is not Microsoft reborn.<p>But we've seen this before. The rule of thumb in computers for decades has been, "the commodity always wins". And Android is better positioned to be that commodity than Apple is.
评论 #3780140 未加载
评论 #3780058 未加载
评论 #3779835 未加载
guelo大约 13 年前
This article is overblown.<p>In Android you don't have to support any device you don't want to, just exclude it from being shown to those users. Same with the OS version, if you don't want to support 1.6 you can make it unavailable to those users.<p>Most apps don't have fragmentation problems unless you're doing something tricky and hardware dependent, like trying to do fancy things with the camera. I've released several semi-popular apps with few bug complaints.<p>If you look at Temple Run in Play you will see it is very highly rated and it has over a million downloads. <a href="https://play.google.com/store/apps/details?id=com.imangi.templerun" rel="nofollow">https://play.google.com/store/apps/details?id=com.imangi.tem...</a><p>Finally, the author's link to one badly voted Reddit comment with little discussion made me think he was just out to write an Android bashing article as link bait.
评论 #3779875 未加载
ericd大约 13 年前
I really, really hate supporting an app on Android. This is a big part of the reason for that.<p>As an example, at one point it apparently would simply refuse to start on the Droid X, despite running great on the original Droid I had to test it with, and the VM I set up to emulate the X. Without access to a physical Droid X, it couldn't be debugged. The app doesn't require anything from the hardware besides a GPS, so I was at a loss for what would cause this.<p>Because it's a huge pain to properly test new versions, I tend not to keep the Android version up to speed with the iOS version of the same app. As a result of that, I get a lot of complaints from Android users that feel short changed and bad reviews from people who feel like the app isn't keeping pace with the alternative apps (mostly they use the web app as reference).<p>It's just a really crappy situation. I've thought about dropping Android support, but then they would just complain that the iOS crowd get an app and they don't, so that wouldn't be much better. At least I wouldn't have a low star rating publicly attached to my brand, though.
评论 #3779976 未加载
评论 #3780672 未加载
dendory大约 13 年前
I think it's very valid criticism and it can't really be compared with Windows. There's many differences:<p>- Windows has a lot of APIs and hardware abstraction levels. Microsoft has always been known to change things very, very slowly, and keep backward compatibility.<p>- Hardware makers don't mess with Windows nearly as much as they do with Android. They will install a Norton trial and that's it. They don't remove the UI and put their own.<p>- Microsoft acts as a gate to what innovation hardware vendors can bring in, even more so today with driver testing and signing. Remember back in the day when an OEM did something crazy you'd get BSODs from bad drivers. Now that doesn't happen anymore, because everything is so much more robust. Android is still no where near that, and Google isn't doing much, relying on the open community.
评论 #3780644 未加载
评论 #3780161 未加载
kalleboo大约 13 年前
What I'm curious about why it is fragmentation is such an issue on mobile devices, when it was never this big a deal on desktops. Outside of cutting-edge 3D games, Windows developers don't need to have 100 laptops to test all the different hardware permutations for their software.
评论 #3779822 未加载
评论 #3779826 未加载
评论 #3779812 未加载
评论 #3781066 未加载
评论 #3779872 未加载
评论 #3779797 未加载
mrb大约 13 年前
If you are a mobile software developer who refuses to deal with Android under the pretext it is "fragmented", you will simply be obliterated by your competition. The Android market is so large, and becoming larger every day, that other developers will gladly do the work you refuse to do. And they will succeed, just like the desktop/server software development world has learned how to cope with "fragmentation" in the Windows/Linux ecosystem by supporting the various OS versions, editions, service packs, distributions, locales, etc.<p>It does not matter what you think about Android fragmentation. It exists. Deal with it.
评论 #3780377 未加载
评论 #3780202 未加载
评论 #3780322 未加载
babarock大约 13 年前
Stop complaining about fragmentation and define yourself which devices you support!<p>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?<p>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.<p>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.<p>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".<p>I blame Apple for the broken model (but hey, it works for them), and Google for not knowing better.
评论 #3779903 未加载
评论 #3779934 未加载
Tichy大约 13 年前
Somehow thousands of Android developers still seem to manage fine. Some parts of the article made me quite suspicious that it was really an Apple marketing piece.
评论 #3780229 未加载
sehugg大约 13 年前
Our experience supporting both iOS and Android versions of our app for 18 months (&#62;1M daily users) is that Android users are much less satisfied. We are twice as likely to get a support request from an Android user and those requests tend to be more complex (and qualitatively more grumpy).<p>For example, take push notifications. C2DM only works on 2.2 devices with a logged-in Google account, so you need a fall back push mechanism. Even with C2DM you must struggle with various challenges surrounding power management and wifi sleep. In comparison, APNS just works.<p>Also, Android aggressively deprecates. With ICS there's a brand new Fragments API, which to be sure has a backward compatibility library, but now you are faced with the choice of rewriting your app to fit the new UI style (and potentially confusing existing users), limping along with the old Android styles, or supporting both and making your life miserable. Hey, and don't forget landscape mode and multiple aspect ratios!<p>I could go on, but I'm getting negative.
Zigurd大约 13 年前
The first sign of trouble is:<p>" A previously (very) successful game on iOS, it was brought over to Android in order to take advantage of the huge number of devices that run the OS."<p>Right. A game with graphical assets designed for a couple of fixed screen sizes and resolutions is going to have problems on a system that forces developers to handle multiple screen dimensions and resolutions.<p>Shocked. I'm shocked.<p>The one thing Android "fragmentation" (meaning whatever it means in which ever context) hasn't caused for applications that were developed for Android is compatibility problems. Android apps are remarkably compatible on hardware that they were never tested on.<p>There is plenty to hate about OEMs' craplets and "enhancements" - which comprise the more commonly held definition of "fragmentation" - but they have had very little effect on application compatibility.
Tomis大约 13 年前
This very "hard" problem was solved long time ago by releasing your product along with a free demo (or shareware, or whatever). As a developer you simply have to make sure your product works on the most popular platforms, or whatever kind of platforms you want. Before the user buys he tries it, so there will be less complaints that the app does not work for them. Hardware and software will always be fragmented in a free market, and that's ok.
shareme大约 13 年前
the article is link bait..<p>How do I know? Because the same fragmentation exists on iphone but smaller in quantities..to say it is not there on iphone is a bit somewhat lying like republicans..<p>Now lets see someone be honest about this on both platforms or STFU
评论 #3779801 未加载
评论 #3779791 未加载
damian2000大约 13 年前
If you are a developer thinking about choosing between iOS or Android, well after reading this article the decision is easy.
评论 #3779830 未加载