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.
This is essentially the same problem that desktop linux has.
"His name was James Damore."
Sounds like what happened with J2ME. Everyone buggered off and did their own thing with it making it a real arse for developers. For a mobile platform to be useful for developers it really should be standardized in basic capabilities (CPU, memory, libraries and screen sizes).
Wow, I should not post when knackered.
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.
Looks like they haven't learned anything from the Windows 7 memory FUD scandal.
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.
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.
Need help treating your acne? Come here!
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.
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).
It's official. Most of you are morons.
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
Yes, because code like that is so pleasant to work with.
if (hasCompassV2()) { // do something; // do soemthing slightly different // do painful work around // fake it up using the other thing // do something nasty //damn it, just draw a non-working icon
} else if (hasCompassV1()) {
} else if (hasOldBrokenCompass()) {
} else if (hasOtherThing()) {
} else if (hackTestForPropertyX()) {
} else {
}
And of course now whenever you change something you have to test it on a dozen variants to make sure you didn't break any.
And then of course you find one that hasCompassV2() us true, but has a something broken/different so you need to special case that one out to...
Google's own approach is to fork everything they use... Sure, they make their changes available, but, apparently, don't try very hard to just stick to the original versions of whatever they pick.
The more famous of recent examples are the forks in Chrome. The changes, that Google made to their own versions, are substantial enough for their forks to be incompatible with the stock versions in too many cases. Was that really necessary?.. Google thinks, it was, but I am not convinced by their argument. At all...
Hard to blame the device-makers for taking a particular snapshot of Android OS, forking it, and not wanting to retest everything for an upgrade six months later...
I always liked Sun's position, prohibiting forks of Java by the very license — for this exact reason. You may think, you need to fix this burning bug with "the fierce urgency of now", but, by creating your own slightly-incompatible fork, you are doing more harm than good. (Such local forks are only excusable, when the upstream project is dead or almost dead...)
Too many programmers, too few software engineers...
In Soviet Washington the swamp drains you.
But Fonda ain't got a motor in the back of her Honda,
My Anaconda don't want none unless you got buns, hun.
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.
Apple prefers (and fight VIGOROUSLY for) DRM free content. The ONLY content DRM's on the Apple store is content the PROVIDER INSISTS is encrypted, not just by Apple, but by EVERY SINGLE METHOD OF LEGALLY GETTING IT. Apple is largely considered an industry leader in the DRM free content battle you moron.
This is not UFD against open source, it;s a valid argument that Android is suffering user confusion and disappointment because Google didn't explicitly require a reference platform, application certification process, and forward compatibility requirements. Yes, there are a lot of tools available to devs to assist with the compatibility issues, but its on the devs to actually USE those tools, and very few choose to (or even know how).
I KNOW that when iPhone 4 comes out, all apps i have on the iPhone now will either work, or require a minor patch that I'll get for free guaranteed. I know this because if the app isn't supported on the latest release, apple pulls it from the store, cutting that dev off from all future revenue on the app if they don't fix it, and updates are always free. I also know there's extremely good documentation coming out of apple to the devs about explicitly what they can and can't code for, which APIs are scheduled for depreciation, and which APIs replace existing functionality over time. They've been doing that with OS X successfully for nearly 10 years, and with Sysem X previously. in contracts, Web OS, Android, and Windows devs really have no clue what's going on until the SDK hits the street (on launch day, not months before release), and you're lucky to get any real documentation or guidance at all, let alone dev support.
There is no contest in life for which the unprepared have the advantage.
Galen Gruman (the writer of the article) used to write for Macworld and is also part of iPhoneInTouch developers group.
This can all be found on his linkin profile. http://www.linkedin.com/pub/galen-gruman/0/37/599
It's something you would want to take with a grain of salt, if he wasn't hounding it with every article he wrote about it. FUD.
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