6 ms·
Why Fragmentation isn't a problem for Android or Linux
- jlgosse 16y agoIf you have ever developed for Android or BlackBerry you would quickly realize that having different screen resolutions and sizes, as well as having different OS versions, isn't that big of a deal. A tiny bit of extra work goes a long way when it comes to working with these platforms. Also, the sheer volume of Android phones means that supporting 2.1+-only is not that big of a loss (You still hit 60-70% of Android users), and dropping support for older BlackBerry devices (pre-4.5) isn't a big deal either.
- deleted 16y ago[deleted]
- Retric 16y agoIf we where looking at 1920x1200 vs 1620x1020 then resolution is not much of an issue. But, at lower resolutions you need to know where each pixel is to produce a really high quality interface. Also, if limit yourself to a subset of Android phones that have the features you want, it's harder to justify supporting them. It's one thing to think 10 million users of this App store it's another thing to say well 6 million is still enough to go for. etc.
- nuclear_eclipse 16y agoOr you can just use the resolution-independent features of Android, including their 9-patch image/button system for generating a UI that scales with the device's resolution. The Android SDK includes a lot of simple ways to mitigate differences between various devices: http://developer.android.com/guide/practices/screens_support.html http://developer.android.com/guide/practices/screens_support...
- Retric 16y agoThere is no way to show an arbitrary 20x20 image in a 19x19 or 21x21 pixel box without it making some of them look like crap. So, yea you can make a generic app that works ok in on most Android devices but you are sacrificing both looks and functionality to do so. PS: The minimum screen size is (240x320) but if an image has 1 pixel height or width, it may not be shown on the screen due to rounding issue. So they actually force you to waste a fair amount of space on a very limited device.
- fourneau 16y agoIt's not always as easy as dropping support for older devices/OSes. When you have to support older systems (for client requirements, as an example), it goes from a "tiny bit of extra work" to "a tiny bit of work and a whole lot of extra testing". Just adding a single different type of device (i.e. supporting Blackberry Bold and Storm) almost adds twice the testing effort. I'm not trying to say that developing for resolution independence is extremely difficult... but it's no walk in the park; it takes time. You truly have to ensure that your application can run on a wide gamut of devices and that the user can interact with it appropriately.
- minalecs 16y agoHave to agree with author and Android developers should just do what Apple/ Apple developers do and leave out features, or just don't support older versions.
- petervandijck 16y agoI was nodding along until he compared Android with Linux desktop. Mmmm.
- irons 16y agoGoing by all the chaff it's thrown up, lumping in desktop Linux with Android was the article's main rhetorical innovation. I'm critical of Android's fragmentation problem, and I talk to other people who are too, but I've never heard anyone make the case that Linux is in the same boat. Kernel aside, the two camps of developers tend to have different markets, different distribution models, different funding sources, different UI expectations, different degrees of acceptable UI complexity, and different development timeframes. And when I say different, in most cases I mean "non-overlapping". s/he/she/, though.
- wccrawford 16y agoYup. That's why Apple has always sold more computers than IBM compatibles. The fragmentation in the hardware market prevented developers from using MS Windows. And all those versions every couple years... Man, just horrible. Oh wait, that's exactly the opposite of what happened. Choice is not bad. Differing hardware doesn't matter.
- apl 16y agoDiffering hardware isn't even the core issue here. It's differing software. Windows was always consistent across Dell, HP et cetera. Android is not.
- CountHackulus 16y ago> Windows was always consistent across Dell, HP et cetera. This is so very far from the truth. Different OEMs ship with different patches, and some have custom drivers written, or "management" software that replaces key windows applications. If you've ever tried to write a game for Windows you'll know that once you get to testing, you'll find a ton of just plain strange setups that make no sense. You are however quite correct in saying that differing software is the key issue here.
- apl 16y agoI guess you're right, yes. From a technical point of view, Windows is quite fragmented. However, it always offered surface-level consistency, with the exception of proprietary management software for certain tasks. Put a customer in front of a Windows machine, and he'll feel at home. Give a customer a smartphone from HTC, Samsung and Motorola, and I'd be surprised if he could tell that it's the same OS on all three. This software fragmentation is both a blessing and a curse. Without it, Android would never have taken off the way it did, because networks/hardware developers like the malleability. However, from a customer's perspective, this is sub-optimal.
- silvestrov 16y agoWindows is different at the OS install level, but at the application level it doesn't matter if your Wintel is from Dell or HP or Gateway or... Photoshop doesn't come in a version for "HP Windows" and one for "Dell Windows", and ... It is the application level that matters for consumers buying apps. Very few users reinstall the OS on their mobile phone.
- StavrosK 16y agoI think there's a huge startup opportunity here for a new, high-quality Android app store. I think it would be very interesting to see a Market that only let in high-quality apps (I don't think this goes against openness, as users can still install any app they want, it just wouldn't be from this store). Those sorts of marketplaces have mostly an exploratory role today anyway, the user goes there to find good apps, not specifically to download an app the user knows is good. If the store itself weeded out all the crapware, it could make a killing very very quickly.
- lnanek 16y agoIt's is very difficult for a third party app store to get started on Android. To get a large number of users using it you need to get it pre-installed on phones before they are sold. Many carriers already have plans for their own app stores, however, or already have one like in South Korea. So that makes it even tougher to get deals like that. Google doesn't allow app stores to be offered via the Google Android Market, so there isn't even a runner up option of having users download it through the channel many of them do have. Non-AT&T Android phones do allow installing from a URL. So conceivably users could get the app store from a URL, but it is even tougher to get users to do that than it is to get them to download from Android Market. They also have to enable the unknown sources option in their settings, which some of them won't do. Without a large user base, developers won't post their apps to your store. I'm a developer and I've posted a few of my apps to third party stores. I get hardly any downloads compared to Android Market. So it just doesn't make sense for me, as a developer, to go posting my app to all these dead water third party app stores. There are a lot of them too. Hardly a week goes by where I don't get some spam email from a third party app store that scraped the developer emails off the Market listings. So even if I did post to a third party app store, it would be making a choice amongst a large number of them.
- StavrosK 16y agoAh, I see. I don't have an Android phone, so I wasn't aware of the security settings and possibility to install things from a URL, thank you for the information.
- apl 16y agoEquating fragmentation with choice doesn't do the phenomenon justice. The question isn't if there should be choice: it's quite clear that there should be. I'd suggest that Jobs would not object to this. But it's crucial to have sensible choice. Consumers get to choose between iOS, webOS, RIM OS and Android. Well, theoretically at least. Instead they get to choose between iOS, webOS, RIM OS and several slightly different, often incompatible and almost always very much un-free Androids. That's the fragmentation problem - Jobs doesn't advocate NO CHOICE, he advocates GOOD CHOICE for the consumer. I own an Android phone. The stuff Motorola has put on it, without any legal way of removing it, is crap and has nothing to do with vanilla Android. Friends own HTC phones. They have a different half-baked Android-y OS. This fragmentation is bad for the consumer. Choice - between truly different strands of Android - is good for the consumer. Don't conflate these issues. Also, never mention Linux on the Desktop in any discussion. It's like waving a white flag. Personally, I run Ubuntu and Debian on all my systems. Still: not a compelling argument for anything. Especially since fragmentation IS a massive problem for "consumer Linux".
- billybob 16y ago"Choice - between truly different strands of Android - is good for the consumer. Don't conflate these issues." I think part of the problem is branding. When someone says they have an Android phone, how do you know what that means? Whereas "Fedora Linux" or "Ubuntu 10.4" are quite clear for those who care to differentiate. If manufacturers and carriers and everyone else specified things like "HTC-modded Eclair Android" or "Stock Donut Android" or whatever, you'd at least be able to more easily choose between two phones. And with clearer choices, consumers could express their preferences in dollars more clearly.
- natrius 16y ago> Friends own HTC phones. They have a different half-baked Android-y OS. This fragmentation is bad for the consumer. You haven't explained why that's a bad thing. You've just stated it as if it's self-evident.
- billybob 16y agoFragmentation in software is not the same as competing laundry detergents, even by the same company. I'm not a detergent engineer (a real job title?), but I bet that if the scent in one detergent proves popular, it's not so hard to add it to another. By contrast, if there are 30 branches of an OS, although it does allow different ideas to compete, it also divides up the efforts of people who want to contribute, and even complicates the decision to contribute at all. And it's not always trivial to take good ideas from one project and port them to another. Is fragmentation overall good or bad? Hard to say. But it does present challenges that go beyond just competition. In short, sometimes the most helpful answer to "I'm not happy with the direction of this project" is not "fork it," but "talk and compromise or deal with it."
- randallsquared 16y ago"Of course, specific choices don't tend to survive if nobody wants them--that, too, is part of a competitive marketplace. If there isn't demand for them, individual choices will disappear." The competitive market between desktop Linux distros is small and weak compared to the desktop OS market as a whole. Quality control seems non-existent from a naive user's perspective, as things often just don't work like they claim to, or work for the moment and regress when there's a software update they were prompted to install. This isn't an insoluble problem, but it's hard to see how we can get there from here. Microsoft solves this problem (in users' minds, at least) by throwing enormous resources at QA and bugfixing -- more resources that all desktop Linux vendors together even have. Apple solved this by limiting hardware to a comparatively few models, but if a desktop Linux vendor did this and had enough sales to justify it, they would have already either defragmented the market or grown sales enough to escape the trap. Basically, the lack of quality control in desktop Linux distros seems mostly attributable to the fragmentation, as distros try to differentiate themselves via UI design and package managers rather than helping solve the upstream problems that seem to be holding adoption back.
- bad_user 16y agoThe server-side software I write works on any Linux server, be it Red Hat or Debian-based, and web-pages are served properly on any desktop, including Linux (minus desktops with IE6, for which I don't pay enough attention). > the lack of quality control in desktop Linux distros seems mostly attributable to the fragmentation I'm counting ~ 185 words in your reply, and you still haven't defined the "fragmentation" you're talking about, just some random rumble about lack of QA. The only thing Linux does differently (compared to alternatives) is a lack of binary backwards compatibility, but this is by choice since most software for Linux comes with source-code and can be recompiled. The other major gripe is that you've got multiple APIs you can choose to target (be it graphics, sound, UI) ... but every major distribution has compiled packages for everything that you can pull as dependencies. Case in point, XMMS, an ancient Winamp clone written with GTK+ ver.1 can still be made to work on every Linux distribution available. I cannot say the same thing about OS X, which breaks backwards compatibility more often than Linux (like once every 2 or 3 versions).
- ia 16y agoI think Jobs is absolutely correct, in the context of consumer-facing mobile app stores (and probably consumer computing in general). Choice is great until it becomes a barrier to purchase. Non tech-savvy types flock to Apple because it "just works". No education required, no need to decide between six different almost identical models. The purchase is brainless, and the consumer gets a device that does what he expects. A savvy user who wants to tinker and operate outside a prescribed set of use cases will want choice--Android. Everyone who purchased the iOS product had full knowledge of what it can do--and doesn't care that it may not be able to do anything/everything else.
- jnovek 16y agoIf only "savvy users who want to tinker and operate outside a prescribed set of use cases" want to use Android devices, why are Android and iPhone neck-and-neck in sales figures?
- ia 16y agothe "only" in your response is outside the quotation marks. i didn't make that claim.
- protomyth 16y agoFor US sales, I think there are two reasons: Verizon and taking over for basic / feature phones. Verizon has put some serious money behind the Droid brand and since we don't have a Verizon iPhone it makes a lot of sense that they are selling quite a bit. The second reason is a little harder to justify. My basic premise is that many of these phones are going for the same price as feature phones and are being pushed hard. The data plan makes them more money so it is a net win for the carrier. My big reason on this one is the low number of apps bought per phone compared to the iPhone. It seems like they should have higher sales unless people were actually treating it more like a non-smart phone. This isn't really that bad for the carrier or Google, but it really needs to turn around to help more developers. I get the feeling the Amazon store might correct the attitude because of Amazon's reputation and ability to get people to buy online.
- demallien 16y agoVery sloppy reasoning, bordering on the fallacy of false dichotomy. <"Fragmentation," as I suggest above, is simply a derogatory term for "choice," something not only valued but expected in most product categories. > Errr, no Katherine. Fragmentation is not a synonym for choice - in fact it's very nearly an antonym. Choice means that I can substitute one product for another - I have a choice!. Fragmentation, at least in the sense that Jobs and Strohmeyer both clearly meant, is about interoperability. That is, if I buy a Product 2 to work with Product 1 that I already own, will Product 2 continue to work if I replace Product 1 for a new Product 3. The likelihood of this question having a negative response is a measure of the fragmentation of the market. Obviously, if changing from Product 1 to Product 3 means that I lose the ability to use Product 2, that is a cost barrier that is going to make me less likely to change, ie have less choice.
- dejb 16y ago> Fragmentation is not a synonym for choice - in fact it's very nearly an antonym. Err, not exactly. The word 'choice' doesn't inherently imply that each option must never contain any constraints (even though it is generally desirable to minimise them). In fact if all the options are identical in result it's not really a choice. So why do we have all these different product options in so many categories? Why doesn't someone just work out what 'the best' one is, so we can all save the hassle of having those other options? One reason is that people's requirements actually are different. The benefit of choice is that individuals get to decide on which constraints and characteristics suit them best. The longer term benefit is in the competition between different approaches and organisations it fosters. Interoperability is a property referring to the ability of diverse systems and organizations to work together (inter-operate) (from wikipedia). To me this sounds a bit like the 'inter' part implies separate entities or 'fragments'. I'm not even sure if the word really applies to a monolithic platform like iOS.
- ZeroGravitas 16y agoRecently Microsoft have suggested that European governments can fulfil their "interoperability" requirements by the simple expedient of everyone buying Microsoft products. Seems like Apple's taking a similar tack. So much easier than using open (there's that word again) standards.
- zdw 16y agoI do support/sysadmin work for companies and executives. Android phones, on the whole, lack polish, and often have unexpected behavior. For example, just yesterday I had a non-technical customer who got a Droid X, with 2.2. Had battery life issues with the phone, and frankly didn't want/need to learn about task management (understandable - do you make the company CEO look at your server's process tables for zombies/runaways?). Plus, the phone had linked a bunch of unrelated contacts between his Exchange and Google accounts, so his contact came up linked to his wife's hairdresser, for whatever reason. That's about par for the course with Android phones. My take on Android is "great if you're technologically competent and able to deal with issues that come up, not so great otherwise". None of these people are going to run custom ROMs, or take the time/know how to get the crapware off their phones. They're going to be left behind on old versions of the OS as soon as the vendor drops support. None of these (apart from the unusual contact linkage) are technical objections about Android per say - I have a good friend with a Droid X and he's customized the heck out of it - it looks/works great and has great battery life. He also knows what he's doing. Most people aren't him. I don't see a good solution to this that would survive carrier intervention...
- krschultz 16y agoAnd how does that differ from Windows Mobile? I helped a person running Windows Mobile 6.5 with battery issues. Turned out he kept opening applications and not closing them. The exact same problem, but on a different system. Now I'd argue Windows Mobile is crap, but this kind of stuff is par for the course. And it really has nothing to do with fragmentation which is what this article (and thus this discussion) is about.
- jnovek 16y agoThis whole discussion about fragmentation is a tempest in a teapot. The fact is, people are buying lots of Android handsets. If you've used the Android Market, you'll know that there are lots of apps. The apps in Market may not be as nice or as many as those in the App Store, but it's enough to sell lots and lots of phones. If you're writing mobile software right now, you should be targeting both iOS and Android (and probably BlackBerry) if you want to get your application in front of as many eyes as you feasibly can.
- glhaynes 16y agoIf you're writing mobile software right now, you should be targeting both iOS and Android (and probably BlackBerry) if you want to get your application in front of as many eyes as you feasibly can. That seems tautological. :)
- tvon 16y ago> This whole discussion about fragmentation is a tempest in a teapot. Nothing else you say really backs this up, your point seems to be more along the lines of "you can't afford to ignore Android".
- jnovek 16y ago"A tempest in a teapot" is an argument that has no bearing on how events will actually play out. Fragmentation is just a conversation for geeks. My sister is going to buy an Android phone because it's cheap and pretty good. It doesn't matter to her that the market is fragmented -- hell, the fragmentation (and corresponding competition) is probably part of what made it cheap enough for her to consider it. Mobile developers are going to have to live with this fact, because there's a lot of eyes on the line. So far, fragmentation has not been a problem so hard to solve that it has driven developers away. As long as that's the case, the "problem" will feed on itself.
- GHFigs 16y agoThen, too, there's the recent survey of developers by Appcelerator and IDC that found an overwhelming preference for Android over iPhone. Bullshit. Android rated higher in some questions, but trying to pass it off as having found an "overwhelming preference" (for either platform) is a gross distortion. From the top-level findings of the survey: "Apple iOS continues to dominate in all categories relating to market/revenue opportunity and current devices. iPhone continues to lead overall developer sentiment with 91% saying they are “very interested” in developing for the device compared to 82% for Android phones." Overwhelming, huh? The rest of the results are kind of interesting and kind of predictable, but definitely not what the author is trying to pass it off as. [the survey]:http://www.appcelerator.com/mobile-developer-report-September-2010/ http://www.appcelerator.com/mobile-developer-report-Septembe... [submitted previously]:http://news.ycombinator.com/item?id=1798878 http://news.ycombinator.com/item?id=1798878
- haseman 16y agoI'd just like to quickly define "Fragmentation" from a developer perspective. "Fragmentation" occurs when I have to write code to support oddities on a specific device. Diversity is good. 'Fragmentation' is bad. I think it's an important distinction that's often missed in the constant Is-Android-Fragmented discussion.
- deleted 16y ago[deleted]