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.
... since all the manufacturers were waiting for Google's customer support to call them back with 'compatibility information'.
Perhaps what is needed is the benevolent dictator model, before something can be called "android".
Perhaps.
I needed better remote web access than my previous phone provided. I will have to say so far I am happy with it as a phone and mobile web device. I am a little disappointed in the games available (something to kill time while waiting in the drs office), but that is a small part of why I got it.
But the premise of the story does worry me a little. This is one area where a central control point (ie apple or microsoft) has a huge advantage in my opinion. A failure in the android market will confirm this as a potential defect in open source. Time will tell.
slashdot troll = you make a compelling argument I do not like the implications of.
Looks like they haven't learned anything from the Windows 7 memory FUD scandal.
The proliferating, incompatible versions is precisely why I don't have an android powered smartphone. I really like Verizon's service (thus no iPhone: AT&T == Satan), but the Android phones are scattered and disjoint: they all look different, they all are different, and I'd hate to develop on them because its worse than windows: a proliferating set of devices, all different and all inconsistent.
Test your net with Netalyzr
I just got a Samsung Galaxy this month, because my old WinMo 6.0 phone was crap and needed to be put down. It runs Android 1.5. There's no plans to upgrade it to 2.0. I knew this when I got it, and if I could have, I'd have waited until I could have gotten a 2.0 phone. But the platform fragments even within forks just because manufacturers don't bother to update the system. I figure in a year or so, I won't be able to find any new apps that work with my phone because they'll all be written for the newest version. Say what you will about Windows Mobile (it sucks), but at least you can rest assured that you'll be on a level playing field with other phones, app-wise. Hell, I probably could have upgraded my old phone to 6.5, if it wasn't busted. Platform solidarity and longevity are important if you want it to be a success.
Canada: The US's more awesome sibling.
Here is some background on the article author: http://www.zangogroup.com/galen.html
Anyone else get the feeling that he is the Pat Goss of the computer world? I.e. getting paid to pretend he knows what he is doing?
Living With a Nerd
Why isn't JAVA (or some JAVA-like byte code embedded language) being used to address this- wasn't that the point of JAVA? I am not a CS guy, so maybe somebody can clue me in.
JP
jp
Right - because a plethora of unique PC machines hasn't worked out as well as apple's - more-expensive-all-the-time strategy.
If you'd RTA, you'd see he noted that the difference between PC's & cell phones is the relative ease with which you can change Operating Systems. If you try out a flavor of linux and it doesn't pan out, you can always install Windows. With cell phones, you're stuck with what the carrier gives you, you can't decide to upgrade arbitrarily. With Apple, at least you can count on the vast majority of devices running the same OS.
Taking guns away from the 99% gives the 1% 100% of the power.
Is it just me or is the smartphone market looking exactly like the computer market did in the transition from minicomputers to personal computers? Blackberry and the old Palms are the minis. Then there's the hot shot closed system in the iPhone and the competing disparate open systems in Android, Web OS, and the new Windows Mobile. I'm hoping for a partial repeat of the PC market: Open wins. But hopefully somebody besides Microsoft comes out on top this time. Maybe Amiga will make a comeback on the smart phone!
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.
All of those unique PC machines are running the same OS: Microsoft Windows. If every PC maker was shipping their own OS the PC market would look like the Unix market circa 1990.
Google's rules on Android are important, because Google has reached a fork in the road.
Google might do the former now (to spur adoption) and the latter later, once everyone is using the OS. It's tough to say, because if Google tries to tighten control too early, they'll lose their support, while if they're too late, people may have already given up on developing for the platform.
Of course it's a hit piece, it's from Infoworld. Their business model is to take corporate press releases, put one of their "author's" names on them, and publish them as if they were news.
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
But at least there's a very controlled and limited number of different configurations for their hardware.
From a programmer point of view, Android is a total mess (a LOT of different screen resolutions, completely different input methods and layouts, etc).
Im still very annoyed over the basterdized HTC Dream that rogers released last year. What I have come to find out about the phone is that google had nothing to do with it other than create android. If you own a Rogers HTC Dream or Magic, you essentially have a Cheap Android Knockoff. I was recently forced an update, a good update, as it allowed me to make 911 calls while GPS is enabled. But sadly I am stuck waiting on rogers, who are waiting on HTC to release 1.6 software for the phone. Which nobody is sure if it even works. The hardware is different and god only knows what they have done to the software. They even stripped the soft keyboard out of the Dream... I had to manually install it. My brother has a dream dev phone and every day he will show me something his phone can do that mine can not. Google really dropped the ball with this and should have had some very strict standards when allowing someone to make and release an android capable device.
you know you can fry stuff putting things into things that dont like the things you put into it...
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!
It kept MMS off the iPhone, caused the stagnation in Windows Mobile, and is forcing this. Regulatory (or legislative) intervention in the form of forcing carriers to decouple phone provision from the network (following from Carterphone in the wired telco world) is one solution. Perhaps there are others?
No one argues that the desktop PC is essentially owned by Windows (at this current time) but Apple holds a much larger share of the desktop than Linux does, and mostly because there are so many flavors of Linux available, and even when you can agree on one distro, there is a fight over which windowing system, which development architecture, etc., since there are no real standards as everything is open. Sometimes, having too many options is as bad as having no options at all. With the handheld market, where hardware resources are limited, in order to remain interoperable across a wide variety of devices, there has to be a requirement of some level of standardization of features. If there is no standardization, then the burden falls to the developer to either come up with a mechanism that copes with a variety of features, or to the developers responsible for the IDE that theses developers use to keep an updated framework of which features are available for which devices. In the end, you can very well end up with apps developed for Android that will only be able to run on a select list of devices, as that is the list that the developer is willing to take time to design around. If anyone wants it to work on their specific device, well, then they can damn well get in there and do it themselves (the old OSS saw, if you don't like it, here's the source code, fix it yourself). Apple's model is both inferior and superior at the same time. By limiting the hardware, they are able to guarantee a certain level of interoperability of the software between devices. Sure, we will probably get some drift as newer, faster, bigger, more powerful devices come out. But, for now, if you develop an app for the iPhone, you can be reasonably guaranteed that any iPhone will be able to run it. That's the superiority. The inferiority is the closed development process once it leaves the developers hands. Sure it would be nice if I can load the software directly to my iPhone (I can, in fact, if I want to void my warranty and contract, that is), but for now, in order to maintain mass market appeal and compliance, developers are tied to Apples AppStore model if they want to develop on the iPhone (legally, that is).
Let's take a closer look:
Then, there was Apple and there was Wintel, and they made up about 98% of the PC market with Wintel holding about 95%.
Now, there is Apple on Intel and Windows on Intel and Intel work-a-likes holding 95% of the PC market with FLOSS a distant third. And, Wintel still has over 85% of the market
Looks like that "plethora of unique PC machines" aren't so unique after all. The peripheral hardware may change but the processors and the OS are pretty much standard on every every machine.
This article is about how Android implementations are different between machines. That is a lot like the FLOSS model, and we have seen how well that has worked out against the other PC OS offerings.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
All PCs have keyboard/mouse input. The different Droids have [keyboard or not]/[multitouch or singletouch]. Most PCs run some flavor of Windows, so the OS is constant for ~5-7 years; the Droid is already on the second (incompatible) version of the OS. If you developed for Windows 95, you were good until XP. If you developed for XP, you were good until Vista. If you developed for Droid, oops, redo.
The bottom line is PCs have essentially the same hardware, with a well-abstracted OS. Speed may vary, but most machines can do anything any other can. The Droids have so much different functionality it cannot be abstracted, so you cannot write-once run-everywhere. And until you can, the app market is going to be mcuh smaller. And since the only reason to get a smart-phone is to run apps, the Droid OS is in a state of flux.
Your ad here. Ask me how!
Paragraphs are your friend.
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
The issue thus far though has been that one cannot easily upgrade to the latest and greatest version of Android until the manufacturer and network provider decide it is time to. Right now there are at least three or four different versions of Android running out there. At least when Apple releases a new iPhone OS, all the iPhones get the update at the same time.
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.
As reader donberryman points out, you can even put Android onto some Windows Mobile phones, now.
How is hacking Android onto hardware it wasn't designed for any different from hacking OS X onto hardware Apple doesn't support? I don't think you can count "misuse" as a fault of Google.
The rest of it, yes I can agree. There needs to be more specific handling of hardware and software requirements. But to be fair, RIM has a twisted inconsistency of which of their own devices can run which versions of the Blackberry software and what all of their capabilities are. Even Apple's line of iDevices and Macintosh computers have had issues over the years of which devices could do what.
No sig for you. YOU GET NO SIG!
We need something like autoconf for Android:
if (hasCompass() && compassProbablyWorks() && !compassIsKnownBroken() && compass.type != COMPASS_GPS && a myriard of other creative stuff) {
doCompassStuff();
}
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.
> No one argues that the desktop PC is essentially owned by Windows (at this current time)
> but Apple holds a much larger share of the desktop than Linux does,
That's highly debatable.
> and mostly because there are so many flavors of Linux available
So is this.
Apple ADVERTISES. This is why it is where it is now versus 10 years ago. Whether
or not Linux is "fragmented" really has nothing to do with it. Macs were supposed
to be "technologically superior" 25 years ago or 15 years ago. Yet the platform
languished in the shadow of MS-DOS long enough for other alternatives to come and
go entirely.
Apple today is much more significant as a consumer electronics vendor than an OS
or computer vendor. What success it has as a PC vendor is more a side effect of
their music player business than anything else.
A Pirate and a Puritan look the same on a balance sheet.
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
You mean, the plethora of Desktop Linux variants has worked well against MacOS's and Windows's unified approach. Or not ...
The problems with multiple versions for the exact same devices and uses are:
- developper confusion: should I target the lowest common denominator ? the latest one ?
- consumer confusion: what is Android exactly ? Why doesn't my phone do what yours does ?
- effort duplication. I dream about how good the Linux desktop would be if, instead of having 6-7 of them, all efforts had been poured into one or two.
- incompatibility issues.
I think Google wanted to get something out the door very quickly, at the cost of screwing early adopters. We should see the versions waltz slow down soon, since Android seems to have more or less reached feature parity vs iPhone. I'm still holding out for a bit.
The Cloud - because you don't care if your apps and data are up in the air.
Not necessarily, the "downside" to the Apple model is that you're never forced to upgrade and you can't do it over the air. There are plenty of people still running phones on the 2.x series of iPhone OS.
This "problem" isn't a problem at all, it is an opportunity for a business. The freedom of the Android platform could use some development house to take the lead. They should pick a platform or 3 that are the most popular and develop their own version of Android as well as quality applications and quality application reviews. They need to find the best apps in the app market and improve them and brand them so that they are guaranteed to work on their version of Android and have customer support or at least real bug tracking and message boards for suggestions to bug fixes. Maybe even sell it as a monthly service. Something that would really stand out.
If I didn't already have a job and I had the start up capital I would have already been working on it, but since I have a nice job and no start up capital I leave it up to someone else to develop a business around the Android platform. Currently there is a hodgepodge of unheard of development houses making apps that look like they were developed by undergrads.
Every Windows PC is a unique snowflake.
So Linux and Android aren't particularly interesting in this respect.
The idea that Linux is any more diverse than the average Windows PC
is just mindless FUD that neglects the fact that WinDOS application
installers have always mucked around with the core system in order
to make application installers seem transparent.
Even Apple does stuff like this.
A Pirate and a Puritan look the same on a balance sheet.
One would assume the different android-based phones likewise have no trouble communicating with each other (making calls) but that the applications released or one won't necessarily work on another.
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...
and according to your logic the XBOX and Playstation and Wii are all failures as well.
that would be true if phones only offered calling, and maybe texting, a 1-line screen and number keys.
this is no longer the case.
The Cloud - because you don't care if your apps and data are up in the air.
And no, no "Ultimate". Ever.
I am a little surprised by the incompatibilities between the version, but I really think more and more devices will standardize on >=2.0 now that the platform has stabilized and the hardware required to run it has gotten cheaper.
Shift happens. Fire it up.
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.
You forgot a few tests: isCompassHalfBroken(), isCompassReallySlow(), isCompassSometimesWildlyInaccurate(), isCompassJustAPieceOfCrap().
I have never encountered an open source desktop linux application that would not run on any desktop linux distribution. Can you name one?
Any given .rpm or .deb might not install upon your particular distribution of course, but that's unavoidable. Also, those difficulties are largely mitigated by each distributions packaging everything under the sun and the Linux standard base.
In any case, I'm happy these incompatibilities will give the Maemo / MeeGo system more play.
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
early mobile Windows platforms (CE, HPC, HPC Pro, PPC, etc.)
For any given device, you could find the 5-6 apps released by the manufacturer, a few old scattered apps by a shareware dev that happened to have the same device as you, and a whole universe of apps for "mobile Windows" platforms, each of which supported only one or two very specific devices in one or two very specific embedded Windows versions.
As a result of this, millions of these were sold in the '90s only to fall into disuse within a year or so in each case as technology and connectivity needs moved on, but only the very latest devices were supported by the latest developments in software to fulfill consumer needs. Consumers got smart and decided it was a generally bad deal to buy these devices because they'd be totally unsupported within a year, essentially a wasted $400-$800 investment on a device that would simply be left incompatible with the ecosystem before very long.
You can now find lots of these devices on eBay for less than $100 (various PDAs, handheld PCs, etc.) that are worthless because they only sync to Windows 95 or 98, have only rudimentary built-in tools, and are blessed in each case with a paucity of compatible applications.
Hopefully this doesn't happen to Android, too. I'm an iPhone user and am very satisfied, but it's always nice to think there are alternatives, and I like the Android platform, in concept, an awful lot.
STOP . AMERICA . NOW
Really only for an arbitrary, stupid, definition of core system.
These days, most applications don't drop anything anywhere except the installation directory, let alone installing a SxS assembly or dropping dlls into a system directory (and only malware attempts to replace actual system files).
Nerd rage is the funniest rage.
Exactly. I don't know what the problem with all this is -- just code for the 1.5 API right now. Androids development tools make it easy.
It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
From TFA: "Who wants to commit to a two-year cell contract for an Android phone when it's not clear if a better version will be out next month or if the operating system and apps you put on your Android device will be supported in the future?"
There's no guarantee that palm will ever fix it's frustrating SMTP/TLS implementation to match the RFC , or that Apple won't force every developer to DRM everything that enters the iPhone. I'm also not guaranteed that I'll ever be spyware free on Windows, or that Microsoft won't shut down my PC because they think it's pirated.
The article is just the same opportunistic FUD against Open Source that went around in the mid 90s. Next thing coming out of InfoWorld will be an article written by someone from the Yankee Group declaring android is infringing on copyrights. Go ahead and drink the kool-aid if you want folks. The only thing your doing is limiting your own choices down the road.
boycott slashdot February 10th - 17th check out: altSlashdot.org
I have a Verizon phone. The platform could not be more locked-down. Nonetheless, app developers seem to be completely overwhelmed by the variety of devices on this completely locked platform. Only a handful of devices are supported by any given application, and the support is complicated by incompatible OS upgrades. In fact, Verizon is unable to give a consistent answer when asked what is the latest OS version for my phone. While the phone randomly crashes when using different apps, I'm shuttled between Verizon and the developers looking for a resolution, and no one can agree on what OS version should work.
At least with an open system there would be a final recourse: I could look at the damn code myself, and directly experiment with possible solutions.
But Fonda ain't got a motor in the back of her Honda,
My Anaconda don't want none unless you got buns, hun.
There are going to be multiple hardware configurations and there will be multiple sets of core features and functionalities based on the carrier and what it will allow.
So, there are Linux distros of different sources and then there are Linux distros of the same source but different hardware architectures supported (like i386, x86_64, PPC, ARM). If there is any confusion about the whole thing, perhaps the best solution is to be found in naming conventions.
So the question asked might be "will this package work with my phone?" Well, the packages should be named appropriately with a *provider_name* *distro_name* *distro_version* etc as differences are required.
The point here is that this is pretty much normal behavior...for ANY OS that supports varying hardware and has multiple versions of the OS. This exists for Windows9x, Windows 2000, Windows XP, 2003, Vista and 7. (Not all software works with all versions of Windows) This exists for Mac OS X as well. For appliances and hand-held devices, this is a somewhat new problem. Windows CE and Windows Mobile devices generally work from the same basic hardware configurations and things tend to be more compatible as a result, but even in that case, there are similar problems.
Apple today is much more significant as a consumer electronics vendor than an OS or computer vendor.
And, right there, you brushed right over the point of TFA.
Mobile phones are not computers. They are consumer electronics. 254 distinct Linux distros are fine for the computer universe, where the expertise and dedication necessary to untangle and sensibly choose among the embarrassment of riches can be safely assumed.
But mutually incompatible cell phone "distros" with the same "distro name", in a consumer market which has no history of or tolerance for geekery, is a recipe for platform failure.
Here's a hint: if, for instance, you think the difference between BSD and Linux is vitally important, your judgment cannot be trusted in the mobile phone platform market, because you're fixated on the market-irrelevant innards. See also the ongoing angst over why Linux hasn't succeeded on the consumer desktop yet.
I say all these things who cares deeply about the market-irrelevant innards, but also someone who understands that these concerns are entirely secondary in any discussion of markets.
Welcome to the Panopticon. Used to be a prison, now it's your home.
There's been a relative scare over this a few months ago, in or around Novembre 2009. Suddenly a flurry of blog posts announced that the fragmentation in Android devices and OS versions will surely doom the platform forever.
Interestingly enough, round about the same time, some Facebook developer got vocal about Apple's app store policies and talked about rejecting the iPhone because it sucks so much (paraphrased).
To me, all this means that there's a platform war raging right now, and perpetuating one myth or another by reposting it is not going to help the better platform win.
Now I earn money developing for both platforms, and - if you take my word for it - I can tell you that each of them sucks in it's own way, and pretty hard in some cases. I'll not give a list of what *I* think sucks on each platform, because ymmv.
But this whole fragmentation thing being a problem is mostly a myth. Yes, you'll need to design your app a little carefully to run on all (or almost all) devices out there. But then you need to do the same thing for other platforms as well, it's just not as widely advertised.
The release of the iPad might change people's perceptions of that when it comes to iPhone OS - there's already a pretty severe fragmentation happening here, but people tend not to realize unless they use certain functionality. Games depending on high framerates. Or phone functionality. Or a compass. Or whatever.
Fragmentation when it comes to mobile devices is pretty much inevitable. If you didn't expect that, you're an idiot. At least Android tries to be helpful and points that out right in it's developer documentation.
Replace the word "phone" with "browser," and you've got a pretty good description of the state of the web in the 90's. Replace it with "PC," and you're describing the desktop market in the 80's. I bet you could find quotes from those decades lamenting exactly the same "problems."
The truth is, evolution requires lots of variation. In a few years, we'll see what worked and what didn't... and much of what does work will be things that nobody has even thought of yet, and nobody would ever think of if they were all forced to hold strictly to one specific vision of what a smartphone "should" be.
This is how we move forward: periods of rapid expansion of new ideas, followed by longer periods of consolidation, pruning, and enhancement. Call them revolution and evolution, or invention and innovation.
I haven't used a mouse in years. All of computers are laptops, and they all have some unique "touch" related software - exactly the substance of the RTFA. The pop-up keyboard is presumably core - so common among apps - even keyboard phones offer a touch keyboard feature.
This is all about multi-touch, and it's ironic that Apple was addicted to single-touch mice for years, and now the freer OS are playing catchup.
an app developed on one release of one distro is not guaranteed to work on any version of any other distro
Different issue, same break from reality. If you want to build from sources, this is entirely different than using package systems.
or even any other version of the same distro.
Why the comment got modded to infinity and beyond is still totally misguided. It's also a clue as to how little people understand the effort that goes into creating a distro.
For those misguided moderators, distro release teams figure out a combination of specific versions of libraries that 'just work.' Stop complaining that one cannot release an infinite build environment and call it a distro.
Finally, the burden here is on Google to enforce some package standards.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
Where is this incompatibility? Specific examples please? This is all speculation. I work an on unreleased Android smart phone and download apps all the time from the market and don't see any compatibility issues. Yes there is a lot of variation in phone, but the framework has methods to deal with that. Incompatibilities are more likely the programmer's fault rather then the phone's fault.
The only place this could be a problem is cutting edge new features or sensors, usually a ODM will implement it in an incompatible way the first generation, but then Google will standardize the interface in the next release (i.e. multitouch)
Exactly. Android was meant to be used on all kinds of devices with all kinds of different features, of which touchscreen mobile phones are just one (but perhaps the most important to-date) category. If you want a single OS / single device "platform" there are other options available on the market.
They would be, if they were supposed to be a single platform.
Competition is good. Cutthroat competition is the norm. Cutthroat sibling competition is pathological.
Welcome to the Panopticon. Used to be a prison, now it's your home.
Most devices (except maybe the G1, due to hardware limitations) should be able to get upgraded to android 2.1 ... maybe even as soon as next month.
http://androidandme.com/2010/01/phones/t-mobile-mytouch-3g-users-to-get-android-2-1-this-spring/
It is certainly possible that some manufacturers may opt not to release updates to their devices. Maybe they don't want to dedicate resources to "old" products, maybe they want to drive people to buy the new ones. Can't really fault Google for that... I think they've actually been pretty good with backporting things to their older Android releases (like GMM 4 for Android 1.6 with just about everything except maybe voice navigation), but can't force all developers to support the older releases.
TFA posits that the proliferation of forked implementations and proprietary extensions will create a vast jungle of mutually incompatible Android phones. The problem with this argument is that, as Apple's "There's an app for that" campaign shows, it is increasingly not the features of the hardware that are selling mobile phones as much as it is the app ecosystem surrounding the platform. I'm inclined to think that handset manufacturers are going to be constrained in the amount of forking and proprietary extending they're going to be able to do without risking breaking compatibility with the mainstream app development. If it gets to a point where, for example, a large number of apps in the market have notes from the developer that say "won't work with HTC's super-Dream because of its proprietary SenseUI system," HTC will have effectively cut itself off from the major factor driving adoption of its product. Standardization is the handset manufacturer's problem, not the users' or the developers'. Developers will naturally build their apps for the most popular implementations, and other manufacturers will have to make sure their implementations compatible with those if they expect to compete.
An Android 1.5 app will run just fine on a Droid or Nexus One. A Droid (2.0) or Nexus One (2.1) app will not run on an Android 1.5/1.6 phone. The OS supports multitouch, period, and it has done so for a long time. The apps might not have, but that's a whole different ballgame - the Droid has had a multitouch browser since three weeks after launch. So write your apps for 1.5, touchscreen, no trackball, no keyboard... and it works on everything.
The RIM BlackBerry platform has the same issue, probably to an even worse extent... Upgrading usually depends on the carrier and the user both being involved in the process. The carrier takes forever to offer an update, and the user often doesn't even bother to install it.
Right now, in the wild, we've got at least: 4.2, 4.3, 4.5, 4.6, 4.7, 5.0
Now anything running 4.2 or 4.3 can probably be upgraded to 4.5, and the carriers should have it out there, assuming the users bother to do so.
And likewise, anything running 4.6 or 4.7 can probably be upgraded to 5.0, but the carriers aren't all offering that yet.
If you buy a new device, you get the latest and greatest, of course. If you have a slightly older device, offering upgrades is really low on the carriers' priority list.
Apple did something rather interesting with the iPhone. They went to AT&T and said: "we'll give you an exclusive deal, but *we* dictate the platform". Both RIM and Google still want to work with the carriers, instead of giving them the finger and controlling their own platform end-to-end.
How are those downsides?
Different versions all around? Is not so much Android (or google) who decides to upgrade the android version on a particular device. Is the carrier or the maker, specially when makers or carriers customize or add their own apps to their own devices.
Different hardware means apps not working in all devices? In PC we have something of that...apps that requires over certian amount of ram or hd, apps that take advantage of certain hardware that could be missing for some funcionality (don't even have a printer).That has fragmented the PC market?
Has linux kernel fragmented because it runs from embedded hardware to mainframes and supercomputers? Flexibility and adaptability to whatever hardware it want to be installed is a strenght, not a weakness. Android is being installed in cellphones, netbooks, tablets and other devices and if some devels don't take that into account is not the platform fault.
Buy a Nexus One. No carrier branding or add-ons. When a new version of Android comes out,m you just upgrade your N1. No waiting on a carrier or manufacturer. It's a raw Android device, and as such new versions will just work. Kinda like the difference running a stock kernel or a kernel provided by the distro.
Just remember that the average smart phone user is less concerned about "can I develop it using XYZ and does it use OSS?" and more about "does it allow me to run app X and play game Y."
/., right?).
It's less about the tech geek, and more about the feature freak.
Think more like your girlfriend or wife, who (if yours is anything like mine) hears nothing but static whenever I try to speak geek with her.
But she still somehow is able to do things on her iPhone that even makes my eyes boggle.
She could care less about this article, but only because it's talking about practices "under the hood." She tends to be a more "on the road" experience kinda person, to use a car analogy (hey, this is
Well personally, since you pretty much have to link your iPhone to a single iTunes on a single computer, it was a pain when a new OS got rolled out and I had to wait until I got home (if I was traveling, etc) to get the update. Furthermore, it means that you're in a similar situation to the one being discussed, where you have no way of guaranteeing that iPhone's are all running the same OS version. At least they have the option to, that's a plus that Android phones right now can't claim.
Nice try at a red herring, but you fail.
But,
First off, it is Windows, not "Windows PC". You see Linux is an OPERATING SYSTEM and Windows is an OPERATING SYSTEM. The "average Windows PC" is a whole computer system. If you want to compare Linux to something, you should compare it to another operating system.
Second, Windows has one official set of core components that are used over 95% of users. Linux, on the other hand, does not have standard locations or components. It has interchangeable window managers and desktop environments, each with its own API. Try installing a semi-light weight system with, say, WindowMaker as your WM. Don't install any part of GNOME or KDE. Then, start installing application such as Nautilus, or Konqueror, or Evolution. What will it say you need to do? Yet, that is not a problem on Windows, now is it? And with Android, it is worse because an application written for Android 2.1 may use OS features not available in 1.6 and there is no way to upgrade from 1.6 to 2.1 for almost every Android device with the exception of hacking the device which most users don't have the skills to do.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
and even that seems a bit far fetched, at least in the sense of variants of the same version. That is, unless there is also differences in hardware (like say armv5, armv6 or armv7) as while android is based on java, i dont think it uses the java vm feature, but instead compiles it to native code directly.
as for not pushing updates to existing phones, can someone say capitalism? Basically, the companies are in the business of selling hardware, and supporting already sold products for a long time after they have been sold is pure loss. The only reason apple is doing it in the iphone is that they earn the expense back via itms and similar. And thats only on the iphone. On the ipod touch its for pay rather then free.
as for missing core features. I am unsure if i buy that. that only comes into play if one talk about the apps for google services as "core", as google do not allow them on devices that do not meet a specific set of requirements. The lack of access to the android market may be the most punishing. But not as big a one as in the iphone, thanks to the ability to install from third party sources.
the only "problem" is that a device probably cant report back to the market what kind of features it has or not, and so the market cant say if a app will be usable on the device. Say for instance that a app requires gps, but the device in your hand is missing that feature. As the market cant tell, it cant stop you from potentially buying a app requiring gps for its basic functionality. And rather then being fine grained about it, google is heavy handed and refuses access to the market, to avoid having to handle refunds from customers that got confused about some for pay apps ability to work on the device in hand.
comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
Sounds like what happened with old-school Unix. Everyone buggered off and did their own thing with it making it a real arse for developers. For a server platform to be useful for developers it really should be standardized in basic capabilities (CPU, memory, and libraries).
I am officially gone from
i've been saying this for years. i suspect your post will be censored as trolling, but i think it's insightful and dead on. The Linux comnotquiteunity has spent it's development hours making many incomplete OSes. The are taking the wheel and spray painting it different colors instead of making one wheel that's actually round.
If Linux goes the way of OSX and decides to work a niche, that will be fine. But it they want to take on MS, they should pool their efforts.
Utilizing the synergization of benchmark e-solutions to pre-workaround action items!
Well personally, since you pretty much have to link your iPhone to a single iTunes on a single computer, it was a pain when a new OS got rolled out and I had to wait until I got home (if I was traveling, etc) to get the update.
Actually there's no trouble at all updating your iPhone via any computer. Just plug it in and update it. When it asks you if you want to sync the iPhone with the stuff on the other computer you just tell it no. Works like a charm.
Sapere aude!
I had android (1.0) running on my UNROOTED winmo phone (AT&T Tilt, HTC Tyan II) way back when the G1 JUST came out (early in 2008). You booted into WinMo, then ran the kickstart app, and it unloaded WinMo, and booted Android. It worked quite nice until I got my G1. Why is the fact that you can load a ROM onto a rooted device even news (especially considering the OS has been running on those devices for nearly 2 years)?
If a man isn't willing to take some risk for his opinions, either his opinions are no good or he's no good
While I agree this is an annoyance for developers, Android is pretty good at only offering you apps you can install in the market. This is how pretty much every Windows Mobile or other smartphone (Palm OS, etc.) has worked since they came out. They came with the operating system they came with and, for the most part, that was it.
The fact that Android is open source, and Google has promised to make the source for new versions available is the only reason people feel they should get an upgrade when, in reality, the phone was designed for whatever operating system it came with. The fact that all the manufacturers work on new roms for old phones is actually a really nice bonus. I know my hero will get an official 2.1 upgrade within the coming months (it only came out in October). However my Windows Mobile phone is still running the same OS it came with 3 years ago.
or else!
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.
Ah, yes wish a library into being. That'll work.
Portability is something you actually have to do. It doesn't just happen.
It has always been true that portability is hard and thats actually the point of the article. This Android stuff is a portability nightmare. Device X has feature F, but android didnt have an API for F, so device X has proprietary F library. Device Y has similar feature F, but android didn't have an API for F, so device Y has its own proprietary F library.
So X and Y have their own library ecosystems, and applications which use F's need to be ported and tested, and there remains no clear route to that feature ever being API-standardized so the future remains a hard porting problem.
Contrast this with the iPhone, where by definition there is a standard API, where if something in the API changes due to revisions.. then there is a simple line in the sand: library pre-revision and library post-revision. A fairly simple "porting" issue compared to dealing with X's library and Y's library, with their own revisions, and speculating on Z's library down the road.
I am no iPhone fan. I will never own an iPhone. That does not mean that I don't recognize how much easier it is to target.
"His name was James Damore."
It is actually a little harder than this, since JAVA is statically compiled. You can't have a class referenced in code if it's not available in the JVM, even if that code branch is never executed. So this will not work: if (ANDROID_2_1) { BluetoothManager.doSomething(); } There are a few good tutorials for handling this, while avoiding reflection. They take advantage of JAVA's lazy loading of static classes. The official Android blog has a post here: http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html and here is a great, detailed tutorial: http://devtcg.blogspot.com/2009/12/gracefully-supporting-multiple-android.html With that said, sdk 2.1 isn't terribly different than sdk 1.6, really. You can write most apps using 1.6, and should for now. Code modifications go through a lengthy deprecation period before being considered for removal. Should Google really feature-freeze a platform because a single phone got released?
The solution is simple. Google should provide the OS upgrades on their website and make the OS upgradable (Not necessarily rooted, just allow end users to upgrade themselves) Obviously some devices can't handle 2.0 and 2.1 and this will continue to be the case in the future, but Google should have a page with system upgrades and leave it up to the user to decide whether their device can handle it or not. When you buy an HP/Dell/Gateway/MSI/Asus/Lenovo/Apple computer you don't wait for the manufacturer to upgrade your operating system every time a new version comes out; you either download the upgrade through Windows Update or purchase the upgrade in the case of Macs. Why can't they just do this for smartphones? They are computers anyway!
I have an iPhone so my opinions are speculation. It seems to me that an Android phone is like using desktop linux 10-15 years ago. It was clumsy, with enough effort it could do everything needed and the product wasn't ready for all consumers. I wouldn't recommend linux to my grandmother a decade ago just like I wouldn't recommend and Android phone to her today. Over time the Andriod phones will (hopefully) be more fully featured & easier to use than the iPhone.
OPEN only works if you have a rigorous and well documented code management team. Take Linux for example, in RedHat, all code intended to be leveraged by other applications is fed up the tree into a core solution, and it becomes part of the approved code base, and inclusion/depreciation of code is communicated. When a radical shift occours, code is "branched" or "forked" and a separate product is the result (Fedora), which then takes on a life of it's own with it's own code submission process.
Now, if you have code you rely on from RedHat's base, there's no guarantee it will work the same under Ubuntu. The root code might be there, but it might not be in the same revision, might have additional bugs introduced by other parties, etc.
Android is a virtually unmanaged code base, except for the root tree under development exclusively by Google. manufacterers who partnered with Google to get Android on their devices took that "open" code base and ran with it, adding their own firmware and application changes, and in some cases disabling hardware other apps might use. those variations are not tracked and maintained by Google, thus the problem. It would be like having Dell release a SP for Windows XP without consulting with Microsoft...
There is no contest in life for which the unprepared have the advantage.
Well hopefully you'd create a factory method and return compass objects with a common interface instead of using a bastardized case switch, although even more hopefully, the Android SDK provides that functionality already.
https://www.eff.org/https-everywhere
If it provided that functionality, then the specialization wouldn't be needed - you'd just call HasCompass() and it would give you all the compass data necessary. The fact that the libraries are buggy is what causes the issue in the first place.
Breaking Into the Industry - A development log about starting a game studio.
Android supports various hardware directly in the SDK. Develop for 1.5 and it works in the later phones. The SDK also supports various screen sizes, hardware checks and many many other features that makes developing for various hardware a non issue.
The only way to avoid different hardware is to limit the hardware accepted. That would be insane considering the rapid development today in mobile hardware be it phones, netbooks, smartbooks, e-readers or pads. Googles solution is much nicer and works very well except for a few applications where they need hardware your gadget dont have. Like, not being able to run "Compass elite app" without having the friggin compass.
HTTP/1.1 400
Hey, look! It's Javascript!
----
Not to be confused with Col.
Almost every app uses single-touch mouse emulating input. Ooh, my pointer is a touchpad! The different form factor doesn't change the core functionality.
Every multitouch input to a PC I've seen is interperted by the driver as a meta-command (e.g. scroll), and passed to the app as a singletouch mouse with a scrollwheel.
Your ad here. Ask me how!
Looks to me like you have never had to write a installer or ensured that a application will run on multiple windows releases. If you
had you would actually realize that it is probably the most difficult part of the application release process. I have never
looked at the source to putty but I am rather positive it contains all sorts of hacks to make it work across the releases.
Got Code?
1) Go the Apple route. Control the operating system and the whole ecosystem.
2) Use something akin to Java and have interpreted byte code for apps.
Google doesn't control the whole ecosystem. But could they have all standard flavors of Android use Java? I would think so.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
But only some of the hardware does. My OS supports the "conquer world with nanobots" call, but only with world-conquering nanobot peripherals attached. Useful huh?
Your ad here. Ask me how!
This guy isn't a troll. He makes an excellent point.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
Flood is never a good thing. Flood of options? Meh.
What we need is irrigation. Irrigation of options. Yeah, that and tubes.
The oldies among us may remember this is also the same problem that Windows CE had in the beginning, mid 1990's. There were at least three different CPU platforms, four form factors with at least as many distinct input methods and an array of mutually incompatible screen setups.
In the early 2000's then Microsoft Decreed several standards for the hardware and the rom customisations. The OEMs whined but in the end it allowed the devices to unify somewhat, albeit painfully. The fact Windows Mobile 7 exists at all is because of this decision.
Yes, you can argue that Windows Mobile (the direct descendant of WinCE) is a failed state, but I think it would also be agree'd that it would have been dead long, long ago had MS not done what it did.
Google has the additional "problem" (if you will) of Android being open-source. With WinCE, Microsoft could be the ultimate gatekeeper but there is nothing stopping any device manufacturer from doing whatever the hell they want with Android. They may try to initiate some kind of "Google Certified" plan to signify that an OS variant meets certain interopability standards... but the LSB has tried to do that on the desktop and, well, has it had the traction everyone hoped?
This becomes one of the larger arguments for the 'Walled Garden' approach Apple has taken and I guess that's the choice you make: stability, predictability that comes with restrictions or variability and instability that comes with openness.
Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
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.
It's bad enough trying to target a iphone / ipod release and or device and that is from a single manufacturer.
Got Code?
The real issue here isn't an Android problem at all, it is the fact that manufacturers/carriers never upgrade the software. They have no incentive to, they already sold the product and made their money, why would they waste time/money making sure the new version will work? It actually works in their favor not to as the customers have to spend more money getting a new phone with new software. Until you actually own your phone and can upgrade it at your discretion this will continue to be a problem. Or buy something from Apple who actually understands this and has the clout to force it on the carriers.
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
Well I haven't programmed for the Android specifically; but my point was that these problems have been solved in a more general sense, which is abstraction and loose coupling. People tend to think of that as the role of the OS, and it is, but if they did a poor job of it, then you need to start treating the drivers as such, and add another layer of abstraction. It may take a bit longer on the front end, but you'll benefit on the back end through both reusability and ease of maintenance.
https://www.eff.org/https-everywhere
I'm not sure about the devices (I'm just working with the SDK and emulator right now), but the whole thing is like pulling teeth. Hello World took a bit of time, which I should considering the platform is, by necessity, complex, but I figured things would go smoothly after that. Usually it's a) get Hello World working, b) use the API docs, c) profit. But then I tried adding Internet access, GPS and image capture, the later two of which was unnecessarily complicated. I still can't get image capture working because the SDK example for that simply directs you to the Camera API docs and Eclipse can't resolve MediaStore.ACTION_IMAGE_CAPTURE, even though it's used in every example I can find online. Come one Google, one would think I could at least download an example app that uses key features like camera and GPS and get them to work without modification.
> Exactly. I don't know what the problem with all this is -- just code for the 1.5 API right now.
Unless, of course, you want to write a program that does anything with Bluetooth besides toggle it on and off...
All PCs have keyboard/mouse input.
Even an embedded kiosk machine with a touchscreen and no mouse or keyboard running XP Embedded, or that Windows Media Center computer with a remote and no mouse?
The different Droids have [keyboard or not]/[multitouch or singletouch].
Some Android apps need a physical keyboard, most do not. Or you can write your app to work with both - many of the emulators like Nesoid works with either your physical keyboard keys, or onscreen touch keys. Most apps don't care what kind of keyboard you have. If there's a text entry field, tap it and the onscreen keyboard slides out. Slide your keyboard open if you have one, and the onscreen keyboard goes away. The app really doesn't care which you use. How is this a problem for apps again?
And you are just wrong about multitouch - The Droid and Droid Eris both had support for multitouch in the OS at launch. It's just the stock apps didn't ship with support for pinch zoom. Most of the stock apps have this feature now, or Google is adding support. But many apps in the Marketplace have had multitouch pinch zoom for a long time, such as the Dolphin browser.
Most PCs run some flavor of Windows, so the OS is constant for ~5-7 years; the Droid is already on the second (incompatible) version of the OS. If you developed for Windows 95, you were good until XP. If you developed for XP, you were good until Vista. If you developed for Droid, oops, redo.
Really. So the virus scanner that you wrote that worked on Windows 95 worked on Windows 98, 98 SE, Me, and 2000?
This all depends on what your app does. If it's a virus scanner or something that requires low-level access to the OS, you're going to need to upgrade it every time you install a major update to your OS, even frequently Service Packs. Conversely, I've had simple utility apps that I started using on Win 95 and I'm still using in Win 7. Depends on what your app needs to do. I'm pretty sure a simple note-taking Android app will run on all Android versions - but if your app needs access to the 3D hardware (like Google Earth), then it's only going to run on a very few models - pretty similar to how PC games require a certain base hardware level.
The bottom line is PCs have essentially the same hardware, with a well-abstracted OS. Speed may vary, but most machines can do anything any other can. The Droids have so much different functionality it cannot be abstracted, so you cannot write-once run-everywhere. And until you can, the app market is going to be mcuh smaller. And since the only reason to get a smart-phone is to run apps, the Droid OS is in a state of flux.
Again, this all depends on what the app does. I have a Droid (Android 2.0.1), my wife has a Droid Eris (Android 1.6). We have a very similar set of apps installed on our phones. Besides some very advanced apps like Google Maps with Navigation that will only run on a phone with Android 1.6 or above, I have very few apps on my phone that she can't run on her phone. (And the user doesn't have to figure out if their version of Android is compatible - the Marketplace simply won't show apps that require 2.0 to a 1.5 user.) There's also some Windows 7-only apps out there too.
So tell me again how Windows is so much different and better than Android?
Write once — run nowhere. ;)
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Galen Gruman is the author of the Mac OS X Snow Leopard Bible, so it's a good bet he is biased towards Apple and against Android.
I have owned several Android devices and I haven't had significant compatibility problems. Some software takes a little while to get updated to the latest version of Android, but that's pretty much it.
Palm devices weren't completely 1-to-1 with Handspring devices. When Treo cellphones came out, compatibility was out the door.
Then Symbian had it's own thing and Nokia pushed out different S-versions.
Microsoft PPC, Windows Mobile, Windows CF? Hello?
Apple? I can't run apps on my iPod unless I paid the stupid 9.99 fee? And iTunes complains all the time from that... Look at the 2.1 to 3.0 SDK mess/update. Same deal!
Mameo? It's linux, it's been forked, etc...
Access?
OpenMoko?
Bada?
Brew?
J2ME? MIDP, CLDC, CDC..? What?
Yeah, if this guy thinks Android will make the mobile industry fragmented with devices, he must be smoking too much iPhone weeds. Seriously.
And with Android, it is worse because an application written for Android 2.1 may use OS features not available in 1.6 and there is no way to upgrade from 1.6 to 2.1 for almost every Android device with the exception of hacking the device which most users don't have the skills to do.
And with Windows, an application written for the 64-bit architecture won't run on a 32-bit processor, and an application that requires DirectX 11 won't work on hardware that doesn't support it. If you want to use the newer features, you have to target the newer platform. It's an age-old developer's conundrum... Should I target the new features or the wider audience?
You can argue that you can always upgrade the video card, but what if it's a laptop? What if it's a Dell Optiplex GX240 with a half-height AGP slot (I have one of those)?
You could always get a new phone too...
Heh...
I beg to differ with you on that score.
(Warning: Shameless Plug Alert!!)
Caster3D was developed within a Debian Lenny derived rootstrap within Scratchbox2. It was built intrinsically under Debian Lenny with libc symbol verison pinning, but will run on anything from around the Debian Sarge era forward in 32 or 64-bits (when you put the 32-bit compat runtimes on...which you'd need for most commercial applications that're not explicitly 64-bit at this time.). No software dependency resolution- just a capable 3D card, sound card, mouse and keyboard.
If you don't put effort into the development of the code, you can have the sorts of issues you refer to- but you don't HAVE to have those problems all the same. Through the tricks I use or something like Autopackage, you can accomplish the very thing I refer to.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Actually... This is the same problem. The API's provide what was available in hardware support when it was there for that version. There's hardware that isn't present in the iPhone when compared to what the GS offers- do you expect something that the GS provides to work with the iPhone? No? What's the difference here?
In the end, some pundit's opening his mouth, not realizing that the "incompatibilities" are more due to hardware choices coming out and the fact that there's been a few rapid revs so there's "issues" with some of the apps out there. Something designed for 1.6 will work in 2.0, but not the other way around- and it's the same with WinMo, Maemo/MeeGo, iPhone, etc. It doesn't matter if it's open source or closed source.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Oh, it trimmed my link out for some bizarre reason...
Here it is: http://www.casterthegame.com/
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
This isn't a debate about the black or white, this is a debate about the gray. Yes, both Windows and Android will lead you into a pickle if you try to do certain things, such as run a 64bit program in native 32bit Windows.
The point is not that "This never happens with Windows" (a black-or-white comparison) but rather "This happens quite less often with Windows".
The distinction is valid.
I do not respond to cowards. Especially anonymous ones.
Again, that is hardware. All we are talking about here is the operating system. We are not talking about "Android on architecture X vs architecture Y", just Android 2 vs Android 1.6 which is less than 6 months old and for which there is no upgrade path. Software, not hardware. Got it?
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
That just moves the big if chain into a set of classes. You still have to write all the code for the various incompatible functions.
Yes, if you are lucky there's an abstraction layer already, but sometimes you are implementing that layer because it's not normal functionality or you found a way to do something on previous iterations that no one else has thought of/bother with yet.
Which leaves you in the same place - huge test burden to make sure you don't break some obscure variant.
But this is common in unixland dev and it's not *that* big a deal. Though unixland dev has the advantage of usually doing it at compile time not run time.
I guess windows game dev was similar before the various graphics card vendors collapsed into two.
Well... that's Linux.
That's the world I've been in for a long time now, so it's not really a welcome...
Behind this cryptic topic:
http://androidforums.com/samsung-i7500/47548-firmware-i7500xefjb2.html
is hidden the key to running v1.6! It's not 2.1, but it's a step in the right direction.
Samsung has done big-time wrong by a lot of customers, but the community is brilliant.
"Good news, everyone!"
There's a REASON people spend $$$ on these devices rather than an unlocked $10 Nokia 6310 GSM on eBay. That reason is because THEY USE THE OTHER ADVERTISED FEATURES and they HAVE A REASONABLE EXPECTATION THAT IF THEY PAY FOR THESE FEATURES, THE FEATURES WILL WORK.
That is to say, it is VERY TROLLISH when the same people post, over and over again in smartphone discussions, "A phone is a phone!" and inevitably follow it with one of:
- "So STFU about the other features being broken, that's not what a phone is for."
- "So STFU and buy yourself a netbook." (Ahem, and see other replies in this thread.)
- "So STFU because this device sucks at making phone calls and is therefore worthless."
- "So only idiots will buy this overfeatured piece of crap, and as idiots, you should should not open your mouths."
It is a discussion about SMARTPHONES and the ADVERTISED FEATURES of these phones that their users presumably ACTUALLY WANT AND USE or they wouldn't have paid for them.
If, as you suggest, you are uninterested in anything OTHER than a phone to make calls, WHY THE HELL ARE YOU POSTING IN A DISCUSSION ABOUT SMARTPHONE FEATURES ANYWAY? Presumably your phone makes calls and does it well and that's all you want, and this article is therefore about a whole bunch of stuff that you don't want/don't care about, so it appears that you (and the original parent of this thread) are just trolling.
STOP . AMERICA . NOW
Some mice have two buttons - others (apple - often have only one),
I was suggesting this is a similar difference. As you further add, the mouse wheel is yet another mouse dimension - further creating diversity on the PC.
I agree that apple creates a strength by expanding the user input and making it core - I disagree that such is likely to overcome the explosive growth potential of an open platform.
We see.
It's not that hard. Only depend on APIs present in the base version you target. If you can take advantage of more recent ones then use GetProcAddress. People have been doing this for years.
Actually Win32 has been a perfectly capable API since the NT days so it's possible to write pretty much anything and have it working on NT and up.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
In the .deb package format, you specify dependencies, suggested packages, architecture ( i386, ppc, etc ) as well as the versions.
In a lot of cases, the .deb package for a library states that it cannot coexist with other versions of the same library. So if you require a different version of a system library than was included with the distro, tough poo for your users. Or has the major-version ABI become stable enough that I can run one binary on, say, Karmic and Hardy and not run into mutually exclusive library versions?
When will you fucksticks learn?
Android is a PLATFORM.
It is not the cellular saving grace from Google.
It is not the iPhone killer.
It is not a unified experience.
It is not a hardware specification.
Why the fuck do you morons expect Android to "save" you from the iPhone? Just don't buy an iPhone - there are plenty of fucking superior devices out there. You can develop for just about all of those devices, too! And you can even do it in a way that works for many of them, AND a way that leverages the unique features of each.
Fagsticks who can't be arsed to develop for more that one piece of hardware need to do something very simple - design your application in the best way possible. Don't fucking design useless application #486394 that is nothing buy a front end for a web service that uses the touchscreen. 99.9% of "apps" are complete shit. I have NO sympathy for the developers of those "apps". Real developers will make shit work, and successful, useful software drives hardware design.
The fact that mobile hardware is so diverse is DUE to the following:
Users have diverse desires.
Very few useful applications NEED something that isn't available on the majority of devices.
If you make an application that people want, and it requires that you own a duck, people will buy a fucking duck.
LOL, actually developing for Android is a joy compared to Windows. Android apps generally do not run on the hardware - they run on a java virtual machine, so a lot of the issues being discussed here are simply not true... compile once... run everywhere.
-- $G
No. But all general-purpose computers do. Note I use the word "all" in the conversational sense, not logical sense; if you insist on an annoying level of precision please read "all" as "the super-majority of".
Works well for surfing the web, less if you want realtime user-input. A smaller point, I grant. However, I believe the importance would come from keyboard shortcuts.
TFA said that the Droid required third-party apps to use multi-touch. I assumed that meant low-level third party drivers. Maybe I misunderstood the article.
Well, every virus scanner I've ever written had worked... Point well taken that some programs work at such a low-level that even intra-OS builds break the system. On the other hand, most basic functionality splits based on the Win95/WinXP/Vista lines.
Not Windows Mobile. Just desktop computing. And if you want to say that the variety of Droid devices is as consistent as the desktop computing environment in Windows... well, I just don't believe it. With very few exceptions, such as games and low-level OS extensions (e.g. virus-scanners), any XP machine can do anything any other XP machine can do.
Your ad here. Ask me how!
App upgrades are actually handled just dandy.. at least in the Android Market. Anything you downloaded via Android Market will show up, once updated in the market, as a notification of a new app. In fact, it's better than Windows and as good as Linux... as long as you got all your Linux apps via update-manager or something similar. It works, and it's properly centralized. As opposed to Windows, where, if you're not careful, you'll wind up with a few dozen "check for update" daemons. Yuk.
Far the OS ... yeah, they screwed the pooch on this. The problem is not understanding the process of OS release, but not understanding the fact that phone and CE companies don't have much of a clue about dealing with application processing platforms. If you got a DVD player back in the 1990s, there's a good chance it didn't support DVD-R, and worse yet, DVD+R. But this was not usually a shortcoming of the hardware design, but rather, bugs in the DVD reference code. I have a Pioneer DVD player around here somehere, not based on the Toshiba/DVD Forum reference code, which worked with all of those new formats. The CE companies simply looked upon this as a way to sell new DVD players.
With all that's evil about Apple these days, their distant personal computer heritage has them smart about OS upgrades. So virtually any iPhone can run the latest iPhoneOS. That's easier when you're centrally managed, but not that hard otherwise.
The key to this kind of upgrade is a truly modular OS. That's kind of the anthesis of Linux thinking... it wasn't all that long ago when "rebuild the kernel to add that new device" was kind of the answer to that thing you just added to your PC. Android really should have had a number of independent modules.
Module #1 is the HAL (hardware abstraction layer). Motorola and HTC author HALs, and build them into the smartphone,This is a standard, low-level interface to each chunk of hardware, done in a standard way. Nothing as complex as a device driver, this is basically a plug: storage devices all look the same, cameras, screens, etc.
Module #2 is the OS. This comes from Google. Using the HAL, every device can drop in that OS... it essentially plugs into the HAL on every phone. This would largely eliminate the need to make OS upgrades the hardware company's problem. New hardware supported in the OS would simply not mate with HAL objects.. no problems. Google pushed out 2.1 (or any other developer) and you can drop that new binary into any phone, with memory limits.
Module #3 is all apps. So the "home" screen, whether Google's or Motorola's or Sony's, would work on any phone.. just another app. Things like "MotoBlur" live here. You could drop Android 2.1 in any time you like after it's released, and then add in app updates.
-Dave Haynie
To whatever extent the original article is true, there are ways around any problems - just look at:
http://www.geeksphone.com/en/
If these guys can put together a working android phone in a short timeframe, as they appear to have done, and be looking ahead to their second model, and building a community, it shows that there can be a way forward for open source software in combination with hardware... In fact it makes 'computer companies' into hardware companies again through allowing the community to work on what it can easily - the software - and leaving the company to sort out the hardware - and do it at what is to my eyes a pretty compelling price.
In the 'phone' (aka mobile computing) world this is the equivalent to being able to go to ubuntu.com and order a ubuntu branded pc/laptop/netbook/MID/smartphone, and know that I'm going to get a device that works, is free (speech), and will work with other devices from the same company - is it not?
I've not written any android apps, but I know a bunch of people who have (on the javagaming website). I've not heard any issues with compatibility at all. When someone has an app to test, it appears to run on everyone's Android devices without too much hassle.
As I say, this is second hand, but these guys would be complaining if there was a problem here. And they ain't. Admittedly, these are actual developers and not industry schills, so what would they know? :o)
Why does it matter if you need to install some kde components to run a kde application. The package manager does it automatically so you dont have to do anything extra. Disk space isn't an issue, even with kde and gnome both installed a Ubuntu install is still much smaller than a vista or windows 7 install.
Ditto. I too haven't bought an Android phone yet because I've got no guarantees, promises or even allusions from the manufacturer that they will upgrade the firmware of the phone when a new Android version comes out.
The only reason I'm considering buying the Google Nexus is because Google sells the phone and supports the phone. Also, as Google has given the Google Nexus to its employees, there's a good chance it will keep getting updates for it's lifetime.
Note; if HTC were to come out and say "we'll make Android updates for the next X years for device Y" that would be cool for me too. I would just hate being stuck without updates.
Yeah, multitouch is exposed in the Android API, it's just that the built in apps didn't take advantage of it. TFA also failed to mention that an update for the Nexus One was released which added multitouch capabilities to those apps.
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
I'd encourage you to go on but I'm worried about your health. Also, you have inaccurately stated some of your points. I've been a Verizon customer since they came to my area about 10 years ago. I've had smartphones since they came out.
1) Yes, they have a 5G cap but I've never seen anyone get in trouble for going over it unless it was a ridiculous overage. As you mention AT&T has one as well.
2) This is true but you fail to mention that the pro-rating ALSO doubled from $5 per month to $10.
3) This is true but the limitation is the CDMA. Also, if you NEED the GPS while taking a call then you should hang up and fucking drive before you kill someone.
4) This is entirely not true. They stopped doing this years ago. Additionally smartphones NEVER had this restriction.
5) This is not true. Verizon rounds up to the nearest minute.
6) This is not true. This is controllable by phone from the Verizon control panel.
7) This is not true. You can see your "new every two" status in the Verizon control panel and a $100 discount is available long before you reach two years.
8) This is not true. It just isn't. Whoever told you this doesn't know what they're talking about and if you claim that it happened to you then I'm going to counter that you didn't understand what happened. With FOUR lines on my family share plan I do a fair bit of phone swapping and contract changes and I KNOW it doesn't work like this.
9) Probably true but it's like bitching that your car didn't come with a buggy whip. Who the heck needs ROLLOVER minutes?
10) Technically true but ignored by everyone without penalty. Since you claimed back in #1 that things done without penalty don't count then you're wrong on this one as well.
Any more notions I can disabuse you of?
If you have a problem with FIOS you've never had COX cable. At least with FIOS I'm not getting random dropouts or constantly being throttled, not to mention COX has a 60gb cap (I just installed win7, steam, and impulse. I probably downloaded 60gb just last night) and so far FIOS is "unlimited".
This is in stark contrast to a Mac where you will first download your app and then be told to manually sort out dependencies.
So just install fink, open Terminal, type "apt-get install kdenlive". Ta da!
When did the future switch from being a promise to a threat? -C. Palahniuk
My wife has Verizon service. She was able to call and get text messages disabled. No charges. It took her all of five minutes.
Point well taken that some programs work at such a low-level that even intra-OS builds break the system. On the other hand, most basic functionality splits based on the Win95/WinXP/Vista lines.
This is pretty much my entire point about Android in a nutshell:
SOME advanced Android apps are broken by intra-OS builds - exactly like Windows is. However, the majority of Android apps work just fine under any version of Android - again, exactly like how it works in Windows.
(BTW, I'm referring to desktop Windows here, not Windows Mobile.)
And if you want to say that the variety of Droid devices is as consistent as the desktop computing environment in Windows... well, I just don't believe it.
I count approximately 35 current Android devices on this page:
http://en.wikipedia.org/wiki/List_of_Android_devices
I'm pretty sure there's more than 35 unique desktop and laptop models of computers that run Windows. Each with their own unique mix of hardware and drivers. And yet, there are plenty of developers writing software for Windows. I fail to see how Android is any different.
With very few exceptions, such as games and low-level OS extensions (e.g. virus-scanners), any XP machine can do anything any other XP machine can do.
Again, that's pretty much what I'm saying: demanding apps that need low-level access to the hardware will generally break during any OS upgrade. Simple apps (which means most apps, both in Windows and Android) will probably work fine when the OS is updated. Meaning claims that Android is "too fragmented" are simply alarmist and unfounded.
If you have verizon and hate their standard Moto razr or krazr, get a droid instead. I've had mine for months now and love it. I can upload/download whatever I want onto the SDcard (music, video, apps) and can download whatever I want from the app market. Mostly I use it for pandora and music playing. But in the future, I hope to use it for server monitoring/maintence. (Please someone port Juniper's VPN client to droid!!)
Sure, I play ~$100/month but I think its money well spent. I get unlimited downloads + limited uploads and more notifications then I can deal with. I get to make my own apps and give them to my friends without anyone needing to get a development license from google or jailbreaking...
Verizon was desperate to get people back from the iphone so they FINALLY opened up their devices. at least the droid. The only current forseeable problem is that moto doesnt send us the 2.1 update like they promised. If it doesn't happen by the end of feburary, I'll probably just jailbreak the phone and follow one of the guides for installing a custom 2.1 image for the droid.
btw, I would recommend the insurance because I don't trust the hardware to last more then a year. But the great thing is that if the device does die, all of my contact info is still backed up onto google.
I'll have to scrap the info out of google but I doubt it'll be a huge problem...
It's a win-win for everyone (except ATT and apple)
Oh and before I forget, the SDcard on the android acts just like a memcard. You just copy media into it and the android media players just notice the new media and allow you to play it. The mp3 tags are parsed and scanned and you get all of the searching features you get with iTunes without all of the restrictions...
The package manager handles it? Really? In all disros? I think not.
You say disk space isn't an issue, but what if it is?
What about memory foot print? Remember, the system is going to load up all the libraries it needs into memory, so if you run a GNOME/GTK app, a KDE app, and WindowMaker, you have to load the KDE libs, the GTK/GNOME libs, and the WindowMaker libs.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
1) I LOVE the google maps+navigation features. I don't feel like I'm getting lost in the city anymore.
2) Being able to browse the web on the go is amazing. Now I can find a really great restaurant close to me or settle a debate via google while out and about.
3) Android can take advantage of wi-fi whenever its available. My massive use of pandora doesn't cause me agonizing overage charges because of this...
I was generalising to the major distros such as Debian, Ubuntu, Suse, Fedora. Basically every distribution that a normal user will use.
Loading a VM on a clean Ubuntu install showed that to install konqueror which clearly needs KDE libraries needs an extra 238mb or disk space. this would be just over 1% of a 20GB hard drive and these were standard back on 2000.
Claiming it is a problem compared to a Windows PC would mean going back to windows 2000 era.
I have run KDE applications on a gnome desktop with a machine with 512mb of ram. I didn't have problems with swapping too much. Yes it will use more memory but generally the memory usage isn't huge so on a modern machine (last 6 years maybe) there won't be any problems.
If you have an older computer you might need to run an older version of your software on it though.
Of course you can find contrived cases where the ram usage and disk space matters but in this case you are not comparing like with like. A modern linux distribution is equivalent to windows 7 so given a computer with windows 7 your points are not an issue if you installed linux on the same PC.
And with Android, it is worse because an application written for Android 2.1 may use OS features not available in 1.6 and there is no way to upgrade from 1.6 to 2.1 for almost every Android device with the exception of hacking the device which most users don't have the skills to do.
Bullshit, They have already announced (HTC/Rogers) 2.0/2.1 upgrade for a lot of phones out there. Coming in next couple of months. And yes I have a hacked HTC Magic running android 2.1.
Installing Konqueror on top of Windowmaker is a poor analogy since Windows doesn't offer the choice of alternative window managers or full desktop environments, but it's not fundamentally different from installing an application that requires a version of directx, python, or .net. I don't see how dependencies are a cause of (or synonym for) fragmentation, and on Linux the package manager transparently manages dependencies anyway. I don't really follow the relevance of this in relation to Android.
Verizon unlimited PDA plans have no cap, but don't include tethering.
Their "unlimited" aircard plan does have a cap (instituted several years ago) of 5GB, but you can do whatever the hell you want with those 5GB from the comfort of a real computer.
For reference, I beat the fuck out of the data plan on my Droid, abusing it whenever possible. It just works, at $30/mo.
Kid-proof tablet..
You have completely missed the whole point of the thread.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
A friend of mine wrote a blog response to this: http://cjannett.personal.asu.edu/wordpress/?p=15
This kind of criticism has been popping up repeatedly regarding Android. Most of these reports are speculative and seem to be ignoring the facts, which are that:
1) There are hardly any vendor specific Android SDKs, everybody gets their SDK from Google. Apparently this is not causing any problems with respect to compatibility between the included emulator and device compatibility. If this was an issue, people would be downloading vendor specific APIs to work around the problem. As it is, they are not. It's a non issue. It just works. :-) ). The failure of other vendors to address this issue is what has been driving Android growth in the past year.
2) Most speculative pieces like the hardly original one cited here on compatibility come without any concrete examples whatsoever: which popular Android applications are actually problematic? Where are the hordes of disgruntled users? What's the actual technical analysis of the underlying causes? Where are the device specific applications?
3) Barring documented differences, the Android platform is actually backwards compatible. So if you want to target Android 1.6-2.1, don't use any features introduced after 1.6 or make the use of those features optional.
4) So far the first available Android device, i.e. the G1, has been updated to the latest Android version. Not right away of course, but the fact is that most Android devices in the market are 1.6 or newer either because they shipped like that or because they have been upgraded at some point.
5) The predominant application development platform on the Android phone is Java. What you think you might know about compatibility and native platforms simply does not apply to a proper Java platform covered in unit tests like Android. By and large backwards compatibility is a complete non issue. See 2. If you have evidence suggesting otherwise, share it. If it's not backwards compatible, your unit tests fail and you fix the problem. It's that simple.
6) Most other vendors address this issue by not licensing their platforms to others (e.g. RIM) and shipping only a handful of devices (Apple) or regularly breaking compatibility (MS). Given the competition, Google is actually doing pretty decent shipping a platform that runs on dozens of devices from dozens of vendors. Windows mobile is the closest thing in terms of breadth and we all love windows mobile for its excellent compatibility track record right? (NOT
7) Of course there are bad devices out there and vendors with bad software update policies. SE shipping a 1.6 device at this point in time is illustrative of their poor strategy. Their inability to get this device out of the door is testimony to their incompetence. Their declining market share is well deserved. Don't blame Google for that though.
8) The practice of forking code, which is what some vendors do, is bad for compatibility and time to market. This is true for any piece of software. If you are going to get an Android device, make sure it is running Android 2.x and that the vendor in question has a track record of supporting their devices in the field with updates. Extensive vendor or operator specific customizations mean significant delays between getting updates on your device and increased dependence on a probably not so competent development team.
Jilles
Erm, the SDK usually hits the streets a couple of months before the firmware does (that's certainly the case with 1.6 and 2.0 - SDK was available about 8-10 weeks before the first devices with that OS version were released. And during that time many/most developers were able to test/update their apps to run with the new OS. So, for the example, by the time Cupcake was installed on most phones, most major Android apps had been upgraded to support it perfectly. Same goes for 2.0.
This process is exactly the same on iPhone as it is for Android - the market knows which OS versions an app supports, and devs get the SDK early and can upgrade the apps for max compatibility before the OS is released.
Plus, the SDK allows apps to target certain versions of the OS and use reflection to test if functionality is available on the device before using it (and degrade gracefully if it doesn't). And the Android auto-update meant that phone users were prompted to install the new update automatically. If devs don't choose to use those tools properly, then their app will fail; that's a loss to the developers, not Google, Android or the end users.
So basically, most of your post is irrelevant bunk.
I actually have had the unfortunate time period of having dealt with Cox, though it was years ago. I'm not disputing their service quality vs FIOS. I'm disputing their customer service practices and deceptive marketing.
There is no contest in life for which the unprepared have the advantage.
They would not let me do this for my wife, just 7 months ago. They technically told me I could, but there was a charge to disable it, and our plan, which included texts, could not be changed or discounted to remove the text plan without signing another 2 year contract.
There is no contest in life for which the unprepared have the advantage.
For insurance, i have a rider policy on my homeowners insurance, costs about $30 a year, and covers loss, theft, accidental, and incidental damage of any of my PEDs. There's a $100 deductible per incident (not per device). This is far cheaper than insurance from the provider. You should contact your insurer and see if they offer a similar rider policy.
There is no contest in life for which the unprepared have the advantage.
What -- Android lets you actually do something with Bluetooth now? I need to get caught up. :P
It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
Please read what you link. You just described the tethering plan, which involves some manner of telephone coupled in some fashion to some manner of computer in order to be useful.
I was talking about the PDA plan, which exists only on the handset, and is unlimited. Research it yourself, if you're so clever.
FWIW, my Droid does not officially support tethering with Verizon. The plan you linked is completely not-fucking-applicable to me.
Please try again.
Kid-proof tablet..
1. Each runs a version of Windows compatible to the same version on every other PC running the same version of Windows. This is not true of Android
Not true. For a start, a lot of software tends to be affected by service pack levels. Then there's other upgrades, other installed DLLs and helper drivers, actual hardware drivers whose behaviour varies, etc. That's not even getting into DirectX, which is more complicated than just taking into account the major number - sub-versions add new features, and there was at least one time period during which both major vendors used mutually-incompatible DirectX variants.
2. Regardless of the version of Windows each runs, there is an upgrade path to the latest version of Windows. The hardware may result in the system running so slow that the system is unusable, but it is doable. This is not true of Android devices.
That's also not true - if there aren't drivers for important hardware components that work on the latest version of Windows, you're screwed, and this tends to happen reasonably often. In fact, this is the same as Android.
The problem isn't inability to run old apps on new phones... it's the current inability of a substantial plurality of Android phones that aren't even SIX MONTHS OLD to run more and more apps that come out daily.
If there is forward compatibility, then developers have a simple option for making software that runs on all phones: stick to the older APIs. If they don't, it's either because they can't or because they don't see much of a market.
In contrast, the overwhelming majority of Android phone owners don't have that freedom. The bootloaders are locked, the hardware [yadda yadda yadda]
Who cares? It's a phone. You run maybe a dozen apps on it, and Android does that well. Many people have their phones less than a year before they upgrade.
MHO, Google's day of harsh reckoning is going to arrive in a couple of months
That's Steve Jobs's pipe dream. In reality, nobody really gives a damn.
For the price of a single iPhone, you can pay for two or three generations of Android phones if you really always must have the latest and greatest.
Sorry, but this is a tempest in a teapot.
Ah, yes wish a library into being. That'll work.
Actually, CPAN is your wishing ring. Want a library? It's there. All you have to do is take it and rewrite it in C. :)
i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]