Slashdot Mirror


Google Android — a Universe of Incompatible Devices

snydeq writes "Galen Gruman writes about the dark side of the recent flood of Android smartphones: versions run amok. 'That flood of options should be a good thing — but it's not. In fact, it's a self-destruction derby in action, as phones come out with different versions of the Android OS, with no clear upgrade strategy for either the operating system or the applications users have installed, and with inconsistent deployment of core features. In short, the Android platform is turning out not to be a platform at all, but merely a starting point for a universe of incompatible devices,' Gruman writes. 'This mess leaves developers and users in an unstable position, as each new Android device adds another variation and compatibility question.' In the end, Google's naive approach to open sourcing Android may in fact be precipitating this free-for-all — one that might ultimately turn off both end-users and developers alike." As reader donberryman points out, you can even put Android onto some Windows Mobile phones, now.

17 of 636 comments (clear)

  1. Just like desktop linux. by Rockoon · · Score: 5, Insightful

    This is essentially the same problem that desktop linux has.

    --
    "His name was James Damore."
    1. Re:Just like desktop linux. by Anonymous Coward · · Score: 5, Informative

      No it isn't. The "problem" the author is talking about is no different than the "problem" with developing for Windows, desktop Linux, server Linux, Windows Mobile, BREW, J2ME, BlackBerry, etc... Basically its a "problem" with *every* platform - including the iPhone now that iPhone apps are supposed to work on the iPad (different form factor, screen size, features, etc...)

      However, unlike all those other platform, Android supports some *very* powerful tools in resource selection and defining what API you are targeting. Target the 1.5 SDK, and it will work on 1.6, 2.0, and 2.1 because Android *knows* what SDK you are targeting. You can also specify that the "bg_image" resource be different based upon various criteria like screen DPI, whether it is in portrait or landscape mode, etc... and Android will pick the right resource without the developer needing to do anything in code. It is a very powerful system that works very well. You can also define what features your app requires. Require a trackball? You can tell Android that you require one. Require a tilt sensor? Tell Android you require one.

      The real problem is that developers go into Android thinking that its development model is the same as every other platform and it just isn't. Google solved so many of the problems that these journalists are writing about and they solved it so elegantly. Spend 10 minutes reading through the Android SDK documentation and you will quickly see how incredibly non-issue many of these "developer complaints" are.

    2. Re:Just like desktop linux. by diamondsw · · Score: 5, Insightful

      Except a Win32 binary will Just Work, pretty much anywhere, on any version since NT4/2000. Look at Putty for a great example. The fact that Android has fragmented this badly in just two years on the market is deeply troubling.

      --
      I don't know what kind of crack I was on, but I suspect it was decaf.
    3. Re:Just like desktop linux. by Digital+Pizza · · Score: 5, Insightful

      Not only that, in a pinch I can use a friggin' Windows XP video driver in Windows 7, which I needed to do to get 3D to work on a Dell C610 - that's a Pentium III running Windows 7. As easy as it is to knock Windows for its faults, that's pretty damn good compatability.

      Now, go on the Linux Kernel Mailing List and suggest that the Linux kernel maintain a consistent binary API and see what happens...

      --
      We apologize for the inconvenience.
    4. Re:Just like desktop linux. by Sparks23 · · Score: 5, Interesting

      Ah, but the issue is going and buying, say, the new Xperia x10 (which is about to come out, months /after/ the Droid and Nexus One) and then discovering that some app which works on the Droid does not work on the x10, because while the Droid is on 2.0.1, the x10 is on a heavily-modified 1.6. To use your analogy, this is like someone going to go buy a new gaming computer, and then discovering your new system only has a DirectX 8.0 card in it.

      Tech-saavy smartphone buyers will know to look at what version of the OS the phone comes with before purchase. However, part of what people are pushing for lately is smartphone adoption outside of the 'traditional' smartphone market. Most of the people I know who have iPhones are not people who previously had Blackberries or Windows Mobile phones; they had little Samsung candybar phones, or Motorola sliders, or whatever. These are not people who want to look at the tech specs of their phones before buying them; they just want a phone that does what it says on the tin, and where they don't have to worry about compatibility and conflict. To them, the Xperia x10 is a /newer/ phone, thus should /have the newer stuff/.

      This is where the fragmentation will hurt Android adoption. Someone can go and say, 'well, a new iPhone just came out. It'll be fancier/newer/faster than last year's model, so it can do everything last year's could and then new stuff.' You cannot do that with Android; someone sees the Droid has Facebook integration in the address book, goes 'cool! I want that!' and goes out to buy some even-newer Android phone, only to discover they cannot do the things their friend's Droid could, because their phone is using an older version of Android. To the average consumer, this doesn't make sense; those are both Android phones, and theirs is NEWER! Shouldn't their phone do MORE, not LESS? Etc.

      (And let's be honest, even the tech-saavy gadget-addicted folks get unhappy when they don't have the latest and greatest update for their system. You need only check the irate threads at Phandroid or on the Verizon forums about 'when is the Droid getting 2.1?' 'Screw the Droid, when is the Eris getting 2.x at all?' and so on. It makes them annoyed to see that the Droid was promptly supplanted by the Nexus One two months later, and then people who bought the Nexus One now have /that/ being supplanted by the Desire shortly thereafter, etc.)

      --
      --Rachel
    5. Re:Just like desktop linux. by WaywardGeek · · Score: 5, Insightful

      I think Android is a lot closer to Windows than Linux in this regard. Windows has to run on different screens, with different processors and peripherals made by all sorts of different people, and it really needs to "just work" most of the time, since average users are generally driving things. It's the same with Android. This is really just Mac vs Windows all over again, with iPhone being the Mac, and Android being Windows. Like Macs, the iPhone will be more stable and "just work" more often, and like Windows, Android will find itself in lower cost hardware, and probably a lot more handsets in the end.

      BTW, I keep reading rants about all the different handsets Android has to work with, and I've had two myself (G1 and Nexus One). Pretty much, the popular apps just work, so I don't know what the hubbub is all about. The poster's rant about the various cell phone vendors not upgrading their version of Android is valid. Does it surprise anyone that most cell-phone manufacturers continue to be huge dorks? If you buy directly from either Apple or Google, I think you'll find that you are able to run the latest OS. If you buy from the guys who invented 2-year contracts to sucker you for more money and vendor-locking of cell phones... well, then you'll get what you deserve.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
  2. no upgrades?? by ccole8 · · Score: 5, Informative

    This is so completely untrue! Android checks for upgrades every 24 hours, and allows you to easily upgrade any of your applications or the entire OS itself. I've owned the Droid since it first came out, and the ease of upgrading is one of the features I've been fairly impressed with.

    1. Re:no upgrades?? by Mr.Bananas · · Score: 5, Informative

      Um... I think by "easily upgrade" you mean "easily upgrade to any level sanctioned by your mobile carrier." For example, the Samsung Moment is stuck at version 1.5 right now until Sprint feels like letting its users upgrade to 1.6. The G1 I think is at 1.6 by now, but only after T-Mobile felt like issuing updates. Meanwhile the Droid is at 2.0 until Verizon feels like rolling 2.1, and the Nexus One is at 2.1, which is currently the latest version.

      So... yeah, the article raises a good point. It also highlights one of the benefits of rooting your phone- the *real* open source community behind Android is the modders, which try their best to keep your phone at the highest level of Android the hardware can take. I think the Android OS has incredible potential at the end of the day to really be something special, but standardization may be one of its biggest roadblocks. The steadily loosening death-grip of the carriers needs to completely go away, though.

  3. tradegy... strife... and fired please by exabrial · · Score: 5, Insightful

    OH ANDROID IS A COUNTRY SONG.

    If I remember right, pundits were predicting the death of android because google was releasing the Nexus One.

    Next, Android was going to flail and explode because evil Google wasn't bothering to spend time pushing irrelavent patches all the main Kernel tree (yes, because I want a phone's security model on my desktop linux please).

    Now, horors of horors, a _very very very small_ percentage of applications don't work everywhere. I predict complete failure as a platform. No operating system platform in the world has experienced this and managed to suceeed.


    I couldn't stand to RTFA; does the author of the article own an Android device? I do, and it's a v1.5 (Samsung Moment). In a few months, it'll be upgraded to v2.1. Till then, I've downloaded exactly _one_ application that isn't compatibile with 1.5. Time to sing about tradgedy, strife and whatever analyst wrote this getting fired.

  4. Who said it was going to be easy? by Com2Kid · · Score: 5, Interesting

    What you think Microsoft just screwed up Windows Mobile on purpose for all those years?

    Look at history, Windows Mobile came out swinging strong, kicking butt and taking names, and then it got bogged down in its own ecosytem as it attempted to support an ever wider and wider range and form factors of devices running on more and more different hardware platforms.

    Mobile deviecs are far more complicated than desktops, both in terms of the little things (boot loaders!) to the big things (OEM relations!)

    Microsoft learned this, I don't see how Google expected to basically copy Microsoft's mobile OS strategy (in every detail except for pricing) and have any less issues.

  5. Fake Steve Jobs is happy by cant_get_a_good_nick · · Score: 5, Funny

    Real Steve Jobs too busy rolling around on a pile of money wearing nothing but a black mock-turtleneck to supply quotes for this interview.

  6. Re:Mod Parent Down by Tim+C · · Score: 5, Insightful

    No, I think what the OP means is that an app developed on one release of one distro is not guaranteed to work on any version of any other distro, or even any other version of the same distro.

    This isn't about machines talking to one another, it's about software dependency resolution (or lack thereof).

  7. No. A phone is not a phone. by aussersterne · · Score: 5, Insightful

    I'm tired of hearing this bullshit, especially on Slashdot and supposed technology sites.

    "The most important thing is that it makes calls. After all, it's a phone."

    Anyone who cares most about "making calls" is living in the last century. I almost don't give a shit if my phone makes calls via the phone network. It's more important to me that it can Skype via WiFi. It's more important to me that it can check my email, run a Web browser, check my bank accounts, post to my blog, view what's in my Dropbox on the go, take notes, and manage my calendar and to-do lists.

    It is a "phone" only because that name was grandfathered in over several generations. In fact, the "phone" is the LEAST important part of these mobile devices for me. The most important are data accessibility, ease of backing up/upgrades, and the features of built-in applications and installable apps vis-a-vis the network and network service/information providers of various types.

    --
    STOP . AMERICA . NOW
  8. A Honda engine? by Anonymous Coward · · Score: 5, Funny

    But Fonda ain't got a motor in the back of her Honda,
    My Anaconda don't want none unless you got buns, hun.

  9. Re:J2ME again by IamTheRealMike · · Score: 5, Informative

    As somebody who has written an app for both J2ME and Android, that comparison is really far out.

    There are some key differences between J2ME and Android:

    • Android is an implementation, J2ME is a spec. Developing for J2ME is a nightmare because practically every phone has a unique combination of serious bugs. This isn't true of Android because every phone is working off the same core code. If manufacturers want to modify that code, that's OK, there's a test suite they have to pass if they want certain things.

    • Androids "fragmentation" is actually simply that not everyone has upgraded yet - no different to any other platform (including the iPhone). But Android manufacturers have a history of upgrading versions, and I don't see much reason for them to change this: customers demand it and because Android is open source, doing the upgrade is effectively "free" by mobile development standards, even for things like Sense UI (the APIs are backwards compatible).

    • You can see what versions are in use. So there's no guessing about what you can or cannot use, API wise, it's easy to see.

    • Android explicitly supports writing apps that run on multiple platform versions, where as J2ME never really did. For instance you can hide your app from earlier devices (in the market), or you can make your app gracefully degrade on older devices.

    • Android does actually standardise hardware, it just doesn't standardise on exactly one set. For instance, you can assume all Android devices have a decent touch screen, a display that uses one of a handful of resolutions and so on.

    • Google only lets manufacturers distribute certain closed source apps (like Market) if they meet certain conditions. Google has every incentive to keep as many people on the latest version of Android as possible. They have the leverage needed.

    In short, it's a slow news day and InfoWorld know how to stir up a story.

  10. Re:This is EXACTLY why I don't have an andoid phon by Sandbags · · Score: 5, Insightful

    Wow, you think AT&T is evil, compared to Verizon?

    Let me tell you, for 3 of the last 4 years, we had phones in my house from both companies. Verizon because my Mother-in law thought she'd be nice, and commit my wife and I to a 2 year contract on a phone so she and my wife could take for free (not that i could not already call her free on VoIP, so really she bought my wife a gift to save herself money at our expense). I had AT&T provided by the office, and later got an iPhone.

    Let me clue you in on some of the discrepancies between these 2 companies I've experienced:
    1) Verizon has a data plan cap on their unlimited plan, and RIDICULOUS overage charges. AT&T has a "soft cap" at 5GB, has no overage charges, and has not disconnected or throttled a single known customer for exceeding the cap (even given the network strain).
    2) Verizon doubled its termination fees recently, on devices AT&T also sells with the same subsidies. AT&T has mode no move to change, and the FCC and FTC are crawling up Verizon's back over the policy.
    3) Verizon's adds are all about those great multitasking devices, but they fail to mention in any literature or media that those devices come strictly limited to voice and data use independently, meaning you can't use GPS and take a call at the same time, or be on a call and look something up, a CORE FEATURE of those platforms.
    4) Verizon embeds custom firmware in 3rd party devices, disabling advertised hardware features so they can charge for their own services. For example, on most of their camera phones (including all of them from Motorola I'm aware of), have the ability to sync with a PC over both a cable and bluetooth, but Verizon hacked the firmware to explicitly forbid this, in favor of a fee based service to "send yourself" images through their network at $0.29 each, and they didn't even bother to take the "PC sync cable sold separately" line off their OWN BOX (not Moto's box, completely Verizon's branded box). After we lodged a complaint with tech support, and after repeated, and repeated failed call backs, we finally were told Verizon would never sell that cable, but oops, you've had that device over 14 days now, so you can't return it without a huge contract penalty...
    5) Billing for the next full utilized minute. You make a call for 30 seconds, 2 minutes are charged...
    6) No ability what so ever to disable text messaging on any phone that supports it on Verizon. AT&T offers both a filtering service for a fee as well as a similar service at no charge if you get inundated with too many unsolicited texts, and you can also simply outright have text disabled completely.
    7) Strict 2 year handset replacement policy. After 2 years, the new phone is only (up to) $200 off, not $400 off like a new iPhone, and you're still locked into a 2 year renewal anyway. New subscribers get a better deal than existing ones.
    8) automatic contract renewal for a variety of things: Add a new line to an existing contract, even with a pre-existing phone, resets to 2 years, even if you were more than a year in on the existing line, changing plans extends contracts in many cases, replace a broken phone mid way through by any means other than their own (deductible incurring) additional warranty extends the contract, etc.
    9) no rollover minutes.
    10) extra charge for using ActiveSync or BES, even to YOUR OWN SERVERS, which have NOTHING to do with Verizon other than using their data channel.

    I can go on.

    AT&T may be a tad dishonest in it's ads (questionably), but so are all the others. AT&T's up front pricing is the same or lower than Verizon's across the board. Their network issues have nothing to do with their network, but with available FCC frequency and they readily admit that (btw, Verizon and Sprint are having the SAME issues, you just don't hear about it as much since they're not iPhone-hater targets). AT&T may be a hotly hated company, and they certainly have their share of issues I can't defend them for, but they're practically SAINTS compared to how Verizon treats their customers. Don't even get me started on Fios...

    --
    There is no contest in life for which the unprepared have the advantage.
  11. The main problem is that 1.5 even STILL EXISTS by Miamicanes · · Score: 5, Insightful

    Here's the REAL problem with Android right now: over the past 9 months or so, Android has advanced from 1.5 to 1.6, 2.0.x, and 2.1. Each of those advances added lots of desirable new capabilities. The problem is, roughly half the Android owners in North America were sold brand new phones last fall that came with Android 1.5... months after 1.6 was mainstream, barely a month before 2.0.x arrived with the Droid, and less than 3 months before 2.1 arrived in January. Of course, we've (almost) all been promised 2.1... sometime in the first half of 2010.

    Speaking on behalf of Sprint Hero owners, we didn't even get positive confirmation that it was shipping with 1.5 instead of 1.6 until literally a few days before they arrived at Best Buy, and even then it was taken for granted by pretty much everyone that we'd have 1.6 on our phones by Thanksgiving. Of course, at that point, 2.0.x and the Droid were barely even credible rumors, especially given the fact that 1.6 was only a few months old at the time, and the way Google, Motorola & Verizon managed to keep 2.0 practically a state secret until the day before the Droid hit stores. I'll freely admit I was absolutely *livid* when I found out the Nexus One (with 2.1) was coming out less than 2 weeks after Christmas, before my own 1.5-crippled phone had its 3-month anniversary. And even now, HTC is still being coy about when we're going to finally get to have 2.1, besides vaguely repeating that it'll be sometime before July 1.

    This really, really sucks. Seriously. Imagine you'd just gone out and spent a thousand bucks on a brand new laptop running Windows 3.1 a couple of months after Windows 95 hit the streets. You wanted Win95 too, but your ISP only allowed you to use that specific laptop sold with Windows 3.1... and it was widely understood by everyone (besides your ISP and the laptop's maker) that you could upgrade to Win95 on your own, anyway. Except after buying it, you discovered that the manufacturer locked it down to prevent you from booting from a Win95 installation disc. Then, after you finally managed to hack around that limitation, you discovered that none of its hardware drivers would work under Win95... not even in Win32s compatibility mode. But wait, it gets better...

    A month later, amidst rumors that didn't become confirmed until literally days before release, a new, incompatible laptop with Windows 2000 came out... and your own laptop's manufacturer released a press release saying, "Good news! Since it's already obsolete, we're skipping Windows 95, and going straight to Windows 2000! You'll get to have it NEXT YEAR." A month later, yet another new laptop, equally-incompatible, with a substantially faster CPU, more ram, a much larger hard drive, and better display came out running XP... and the same day, Microsoft announced XP's arrival on MSDN. Oh, your laptop's maker sent out another press release... forget Win2k, it's going to be XP instead. At least they didn't push back the release date yet again, but in the meantime you're still hobbling along with Windows 3.1. Half the software that comes out can't be installed at all, and half the software that CAN crashes the moment you try launching it, because you're still running an ancient version of Windows.

    Google & the Android team made things worse than they had to be by designing the new APIs as a core part of the OS, instead of a user-installable upgrade. If the gestures library and Bluetooth API were installable under 1.5 as shared libraries, instead of locked away in the kernel (which can't be easily upgraded without at least the non-interference, if not the actual cooperation, of the manufacturer), the distinction between 1.5 and 2.0 would *almost* be academic. The best any of us can do right now is to install a hacked-up 1.5 kernel that's had some band-aids to sort of run 2.0 apps, but it's kind of like the programs that came out around 1995 that tried to make Windows 3.11 look more like Windows 95... or the programs that stripped down Windows 98's Explorer to use Windows 95's l