Five years ago many handsets were obsolete they day you bought them. I'll take fragmentation over slow progress any day. And I did for a year and a half.
In October 2008 I got a Google G1 the day it came out, replacing a tired Blackberry. This phone is the poster child for Android fragmentation, running a now-ancient version of the OS. But I could run most apps, and despite its relatively slow speed and limited non-SD memory, I believe it was the best alternative to an iPhone at the time.
Thanks to Google my new phone is an HTC Evo 4G. Same apps, same basic OS experience, only with the performance and phone features that make a G1 look like a toy. This is the platform I want: innovation as fast as possible on hardware and software at the same time. HTC is keeping up just fine and I'm betting developers will too.
Yes, but an iPhone 2G could reasonably run all apps except for a few hardware features not present (MMS, GPS, OpenGL ES 2.0, video camera) because it received all OS updates. And until iPhone OS 4.0 comes out that effectively end-of-lifes the 2G, one could be reasonably happy with the post-sale support of the original iPhone with two years of major upgrades, three including security/bug updates.
The thing that scares me off the Android platform is the OS fragmentation. The sheer fact that I have to hack my device to upgrade it mind-boggles me. The fact that the G1 is not receiving what is becoming the greatest OS upgrade for the Android a mere 1.5 years after release is discouraging beyond the least.
I have friend who still uses a first generation iPhone and is miserable. It does run the apps but the hardware is too slow for the experience to be any good.
Apple owns their stack top-to-bottom. They dictate how their devices are built, how carriers will work with them, and every aspect of the experience from start to finish. Comparing the G1 to the first iPhone on the basis of software compatibility ignores that Google and Apple operate in very different environments.
>>Comparing the G1 to the first iPhone on the basis of software compatibility ignores that Google and Apple operate in very different environments.
It should be ignored when comparing the devices. Consumers don't want to hear excuses for a flaw in the experience, they want the experience to not suck. Those environments are the result of very conscious choices by both organizations.
But agreed, the pre-3GS iPhone hardware frequently feels very laggy.
Do you know if that is specific to the iPhone HW? My 1st-gen iPod touch performs very well with iPhone OS 3, only stutters a bit when changing tracks while playing games.
I have heard of (not actually experienced as I do not have an Android phone) programs on the Android Market stating "You must have Android 2.0+ to run" or "Does not work on XXXXXX device with 1.5, but we're working on support!" While most users don't care, developers do. Because Apple offers the upgrades free through iTunes ("New update! Click here!"), the number of upgraded iPhones 2Gs with 3.0 (opposed to the 1.0) nears 100%. Thus most developers can just build against the latest OS, get to use the new APIs, and be okay.
However, I do admit the loss of the 2G upgrade changes things a bit, and I would like to see how Apple handles it. The easiest answer is that the App Store allows one to select devices that are incompatible with certain builds, however I would love to see a universal binary situation supporting the old OSs much like PPC/x86 or iPhone/iPad apps.
Indeed, only iPhone upgrades are "Free", because they're subsidized. But the majority of people don't seem to get that just because you're not paying something at that particular point in time doesn't mean you didn't incur that cost over a stretch of time. It's also why people still think of iPhones as being worth $200 when in fact they are worth $600, and why they get so angry when they get hit with the early termination fee.
I haven't had any issues with downloading incompatible apps (even with 1.5). I recently started Android development and decided to target 1.5 and haven't hit any roadblocks. The only issue I've encountered is that 1.5 doesn't support separate graphic directories for different resolutions (and automatically scales).
This was by far the biggest change and improvement with 1.6, and it's why I target 1.6 and consider that the new baseline. From 1.6 all the way to 2.2, however, there is little that really makes or breaks an app.
Xcode allows developers to build for multiple architectures (armv6 and armv7), and you can pick what features are required from the device for installation (for example, requiring a camera or microphone).
At the OS-version level, you can build applications to take advantage of the latest OS, but also be compatible with earlier versions (that’s how the universal applications for iPad, iPhone, and iPod touch work—their base SDK is 3.2, while their target is set to 3.1.3 or below). Additionally, it’s fairly easy to detect whether or not a certain API is available at runtime.
>I have heard of (not actually experienced as I do not have an Android phone) programs on the Android Market stating
When you open the market on a device it is pre-filtered to apps that work on your handset with your features, in your region, etc. Users don't have to read through and sigh at disclaimers.
Apps can even pre-filter by your screen size, whether you have a GPS, and so on.
The situation with Android is very similar to the Windows landscape: Lots of apps work perfectly fine back to Windows XP or before. Yet occasionally an app demands something particular on the newer variants so it becomes, for instance, Windows Vista+. Same idea with Android. That's just life of a quickly evolving ecosystem, and they've managed it well.
And remarkably many of the improvements have been ecosystem enhancements that benefit even apps target obsolete versions. The truth is that even today the platform API was so robust back on 1.6 (that was really the pivot point) that brand new apps still primarily target it.
Now that you have a free Evo 4G, are you at all interested in picking up an iPhone 4G?
I've been using a G1 for a year and the lack of quality apps for android (good design is rare) makes me want to pick up an iphone.
I've tried my coworkers Nexus One and its many times more usable than my G1 (pure speed) but it still lacks the apps and iPhone 4G will have comparable performance.
I'm happy with Android. All the applications I want or need are in the marketplace and app quality seems to be steadily increasing. The official Twitter app is a great example, it's gorgeous and highly functional. The integration with Google's services is excellent as you might expect, and I have a lot of data stored in that world.
Everyone I've shown the EVO to -- including half a dozen Googlers who use Nexus Ones -- have been struck by the size of the screen and feel of using the phone. It's strong competition for the iPhone.
I've been using Android for awhile, and at least at this point, I've hardly ever found a lack of apps to be a problem. The only problems I've found are slowness (I have a sprint hero).
The main benefits I found to the iPhone (for me) are its speed and smoothness (esp. in the browser). The drawbacks thoug (for me) didn't make up for the gains (terrible notification system, lack of task switching, and lack of linux support).
Apparently Froyo could make it possible for the G1 to be updated, because apps can be installed on the SD card. I wonder if they will actually provide an update.
I'm running Android 2.1 on the G1 courtesy of the cyanogen mod (http://www.cyanogenmod.com/). Its been very snappy and has surprisingly had minimal bugs for a beta release.
I see that the author of this article is not particularly reassured, and neither am I.
What I learned here is that Google employees are grandmasters at parsing. ("The fact that the phone you bought three months ago won't work with the software we launched today does not meet the technical definition of 'platform fragmentation'". Imagine my relief.)
I've also learned that, not surprisingly, Google engineers have no experience selling hardware. They seem to think they're still programming for the web, where you can push out ten new apps every week and people are happy about it. When a customer buys hardware they want some assurance that its makers will support it throughout its operational lifetime, and will not simply throw the unit over the wall, dust off their hands, and move on to the "more innovative" new product of the week.
My hypothesis is that Google will continue to find that the cellphone market has a natural rate of product obsolescence that is difficult to fight. The good news is that the entire installed base turns over every two to three years. (To a programmer who has to support ancient garbage like IE, this sounds too good to be true - three years is actually really fast.) The bad news is that, in the USA at least, you can't really make everyone buy a new phone more often than once every 12 to 18 months, because the subsidies don't come along more often than that. To "innovate" the hardware any faster just produces a mismatch between yourself and the customers. One party or the other is going to be uncomfortable, disoriented, and potentially resentful.
I dunno. One of Apple's big innovations with the iPhone was to take the carriers out the loop when it came to software updates. This remains a big benefit of their plug it into a computer strategy (aka "digital hub").
Google appears to be aiming for the same thing, but OTA and with a more carrot and stick approach. Look here's a shiny new version of Android with new features and better speed. Oh, you can't have it for 6 months because your phone vendor wants to muck around with it to no great purpose, well that's a shame, but don't get suckered next time you upgrade.
You seem to be claiming it's all about hardware (apparently all phones released so far can do 2.1 if updates are available), when it's really all about carrier and phone vendor relationships.
Personally if the maps app gets updated once a week then that strikes me as good for the customer, they shouldn't really have to care.
You're saying what I'm thinking. I have a (European) HTC Hero and HTC combined with T-Mobile make the crappiest, most sluggish update experience possible. I am very disappointed with them - so much that will probably buy an iPhone next time around.
Also HTC's Sense UI is a perfect case of what you call "phone vendor wants to muck around with it to no great purpose".
I also have a HTC Hero and exactly the same experience. I don't care for the Sense UI and next time I'll get a phone that runs the native Android UI (a Google phone or they should force that any phone with alternative UI's also can run the native UIso upgrades are possible) or an iPhone.
The future looks good for Android but there's still a lot of work to be done.
I agree: Carrier and vendor relationships are the root cause of the problem, not incompatible chips or anything.
Maybe I should have used a different word than hardware, but I'll stand by that word rather than replace it with some airy abstract phrase like total product experience. When I say "Google is now in the hardware business" what I mean is: The average customer buys the physical phone, the OS, the carrier, the contract, and the warranty as part of one big package. Unless the customer is among the 0.0001% of customers who read Make magazine, they don't buy the hardware and software separately, nor -- in the USA -- do they get to independently shop for a carrier. They buy a package, and they call that package a phone. They want the whole package to work and be supported. If the new version of the Maps app doesn't run on their phone, my guess is that this average customer doesn't say gosh, the hardware is compatible, the software could theoretically work, and the open-source maintainers are on my side, but it's too bad about my platform's dysfunctional carrier-vendor relationship. They say "gosh, my phone sucks now".
It's a problem for everyone. In Apple-land it manifests as "the iPhone has terrible reception and doesn't support tethering", though of course the iPhone hardware and software offer pretty good reception and do support tethering; it's AT&T that sucks. In Android-land it manifests as platform fragmentation: There is no one thing called Android; instead there are half a dozen little Androids no two of which are alike.
Fragmentation killed J2ME development for me. It was impossible to keep doing it as an Indie, because you needed to test your app on hundreds of devices.
So I worry a lot about this aspect for Android, but I have some hopes that it won't become as much of an issue.
The main reason is that all Android phones still have the same software basis. They have the same virtual machine and so on (except for the OS versions, but there won't be hundreds that soon). So the issue of having different bugs on every phone should be greatly reduced.
Another thing I hope is that it will be easier to do refunds, so I would worry less about pissing off customers when my app doesn't work on their phone. (I don't actually know how refunds work for Androids, but there must be a way?).
With the most common payment channel for J2ME apps, premium SMS, it was very difficult to do refunds. Typically you would only learn what phone the customer has after he sent the SMS, by which point it would have been to late to tell him that the app won't actually work for him.
Anyway, I just decide to be optimistic about Android for now.
The Android market allows users to refund within 24 hours of the purchase once per app. So if they buy and discover it doesn't work on their phone, they just open the market up and select "Uninstall and refund."
"Devices going obsolete in months and new operating systems released on weekly cycles make it difficult for even Google's best partners to keep pace."
I don't have an Android mobile but I do have a first generation iPhone. The day iPhone OS 4 was announced and I learned most of the features wouldn't be available for my iPhone it was like it lost all its utility and I immediately thought of it as obsolete.
It's stupid because it's a perfectly working device even without the latest updates but it's been really hard to keep those thoughts away. It's like I need a new iPhone (and I don't!).
All this to say I wonder how people with an Android mobile deal with this kind of thinking since there's a new Android OS version twice a year against a new iPhone OS version every two years.
I'm sure most people don't care about OS updates but most of us here do, right?
> I don't have an Android mobile but I do have a first generation iPhone. The day iPhone OS 4 was announced and I learned most of the features wouldn't be available for my iPhone it was like it lost all its utility and I immediately thought of it as obsolete.
Coming from someone who've own a Windows Mobile device, I'd say three years of software support and two major OS update, with the third coming in an upcoming months, is enough to satisfy me even if I don't get all the features.
Several years ago, I bought an O2-branded [HTC Magician](http://en.wikipedia.org/wiki/HTC_Magician) and throughout its life, has exactly one update that not only not fixing most bugs but also introduce more stability issue to it.
From that moment on, I refuse to buy anything without some kind of guarantee that I'd receive at least a year of software support. When my old WM device broke, the choice at the time were iPhone 3GS and Motorola Droid. Uncertain with software updates, I decided to go with a 3GS.
That said, the choice would be much harder today even though I'd still choose an iPhone, because I'm not sure at this point if Google is willing to provide any update for the Nexus One three years from now, even without most of the new features.
Developers certainly care about OS updates. What frustrates me the most about Android fragmentation, and a really essential difference between the Android and iPhone platform, is that you can still buy a new phone running 1.5! You can't buy a new iPhone running OS 2.
I know it's not what you're talking about, but the way you've written that has just given me a rush of nostalgia for OS2, the awesome OS stabbed in the back by MS. My first encounter with the BOFH was in a friends OS2 magazine.
The support will come in only if one of android running phones leap frogs the existing mobiles by a huge margin. That would compel google to shift to a strategy that would include 'marriage' with a device and less chaotic market presence.
Google is better at dealing with uncertain or probabilistic business strategies. They have more faith in fragmented strategies.
Apple is linear because it can afford to be. And it has paid off so far.
Learning from other consumer markets like cars makes me believe android powered phones will offer consumers choice.
However I do believe the Rolls Royce of the mobile market will be the iPhone for sometime to come.
The iPhone was not only a revolution in hardware and experience, the concept of regular software updates that made the phone significantly faster and better was a great feat too.
But there's no reason this should only happen every year. Google is a capable dev house and far less cautious releasing new software. We all like google and the web and open source because it allows extremely fast and transparent iterative updates.
I don't think google will or should slow down improving android. I'd hope the hardware manufacturers experiment with shipping their own vanilla android devices and learn exactly what customers and the market flock to.
Don't forget a Moto Droid is still a badass phone despite what iPhone 4 or froyo offer. If you want the cutting edge you can install hacked firmware. Or buy a nexus one. Or wait until your carrier will help subsidize a whole new phone just like we've always done. There's no problem here as a consumer or for google as a os vendor.
I have a Verizon Eris now for few weeks. I just upgraded to 2.1 and it's been better, but the total feel is not as good as the 15 min I spent with iPhone (latest model).
Eris is cool phone but buttons respond slowly. I know it's not the Droid or Incredible but it shouldn't be so laggy.
I now have pinch/zoom but it's so NOT smooth. Feels like graphics stutter. The turn by turn NAV is the best part.
But I'm coming from Windows Mobile with Verizon Touch and it sucked!!! This touch keyboard is much better than WinMo but iPhone is still better.
The Eris has no help on the phone itself and it took me a while to figure it out. The iPhone I had
mastered in the store in 10 min.
I'm stuck for two years and depressed about it since I want the new iPhone, even though have not seen it.
Take that phone back tomorrow. You have 60 days, I think. I had an Eris for about a week too. I just sent it back and bought a 3GS on Craigslist. You could even trade it in for the Incredible, which you'll be much happier with.
Firstly, the issue to 'free' and what that means in terms of what we can expect from a company which gives us something for 'free'.
The dynamic involved in getting something for nothing in modern society, is incredibly complex. In almost every situation, when a company gives something for free, the transaction holds a huge amount of value for the company in question. In a sense we are paying them, but they are able to hold us (the consumer) to ransom, because we didn't pay any money for the privilege.
Perhaps - due to this - there is going to come a time when, companies and people, elect to obtain a certain level of service by dipping into their wallets? Maybe a swing back to the days of paid models would be actually be beneficial to the consumer?
Secondly - I think this is interesting because Android is an open-source OS, and I've found that open-source OSs generally look after users with legacy hardware. That old 486 box you had in the early nineties could potentially still run Linux and be secure.
Bearing this in mind - why does Android have to be any different .. and will it remain different for the foreseeable future?
I got a G1 17 months ago on T-Mobile in the UK. During this time it has been upgraded OTA to 1.1, 1.5 and then 1.6. Also during this time, I've never come across an app which required a version of Android which I don't have. I'm not disputing they exist, just that they're very rare.
Next month, my contract comes up for renewal and I'll probably get a Desire. I think it will come with 2.1, but will be upgraded OTA to 2.2 shortly afterwards. I expect it will have several more upgrades before my contract comes up for renewal again.
I don't see what the problem is. I don't feel as though I have an obsolete device and it still runs all the apps I've tried for it...
The platform fragmentation itself wouldn't be so bad if Google had some baseline quality standards on the Android Market. Google hides their own applications for 1.x users that are 2.x only. Why don't third party apps behave this way too? Even if they don't want to force developers to support phones that were brand new 6 months ago they could at least save the end user the frustration of blind luck compatibility.
In October 2008 I got a Google G1 the day it came out, replacing a tired Blackberry. This phone is the poster child for Android fragmentation, running a now-ancient version of the OS. But I could run most apps, and despite its relatively slow speed and limited non-SD memory, I believe it was the best alternative to an iPhone at the time.
Thanks to Google my new phone is an HTC Evo 4G. Same apps, same basic OS experience, only with the performance and phone features that make a G1 look like a toy. This is the platform I want: innovation as fast as possible on hardware and software at the same time. HTC is keeping up just fine and I'm betting developers will too.