There’s this flood of new Android phones hitting the market; we’re starting to see some new form factors and hardware setups. I’m hearing concerns here and there about the market “splintering”, making the platform less attractive to developers. Only I don’t buy it. [Update: Yes, really.]
[Update:] Hah! Assorted bloggers including John Gruber and Russ Beattie, not to mention pretty well all my commenters, think either that I’m off-base on splintering or that Android is too little too late, some of the opinions ranging well into Android-is-already-a-pathetic-failure territory.
So, upon further review... I haven’t changed my mind. I respect some of those people but I still think that app incompatibility is not going to be that big a deal in Android-land, that there is way more right than wrong with the platform, and that its market share will grow steadily for at least the next two or three years.
There; stake in the ground. I’ve eaten my share of words in the course of my career, and it could happen again. But Android just smells good to me.
I’m pretty sure anybody who’s been to the mat with the Android APIs shares my unconcern. First of all, a high proportion of most apps is just lists of things to read and poke at; another high proportion of Android apps are decorated Google maps and camera views. I bet most of those will Just Work on pretty well any device out there. If you’re using elaborately graphical screens you could do that in such a way as to be broken by a different screen shape, but it seems to me that with just a little work you can keep that from happening.
Oh, and the executable file format is Dalvik bytecodes; independent of the underlying hardware.
Here’s what I think: First of all, Android is still one of the most important platforms out there for the next few years. Second, we still haven’t seen a truly great Android phone (the Droid’s not it). It’s going to be interesting.
Comment feed for ongoing:
From: Eric Vitiello (Nov 20 2009, at 16:34)
You said something that explains exactly why splintering is a problem: "but it seems to me that with just a little work you can keep that from happening". The problem is it's a little work to make it work for a different screen, it's a little work to make it work with/without certain hardware, it's a little work here, and a little work there, and it all adds up to too much work when there is a platform (i.e. The iPhone) that is consistent (at least much more consistent).
Disclaimer: I am an iPhone developer, and have yet to develop for the Android, so take all that with a block of salt.
In any case, the reality aside, it's all in the perception and hype that it is splintering that is the REAL problem.
[link]
From: Joe B (Nov 20 2009, at 17:11)
I am concerned actually, because there's fracturing today. There's Android devices out in the Canadian Market that aren't supported by the applications and frameworks I write because of this splintering. The Manufacturers by choosing to ship old versions of Android are causing a situation where you need to maintain a different version of your application per version. It's not as bad as per device, but it goes down the same path that Blackberry and Symbian have been down before.
I do agree that there needs to be a solid Android Device released, and I think that will come in the new year. However, the splintering will still continue to annoy anyone who has ships an app or a framework and wants a significantly wide audience.
[link]
From: John Cowan (Nov 20 2009, at 18:05)
Eventually someone will figure out how to run Android on the iPhone, and then all of you who don't have giant fingers will be really, really, really happy.
[link]
From: Mike Kozlowski (Nov 20 2009, at 18:29)
Relatedly, people have been critical of Palm for introducing the Pixi, its second WebOS phone, with a different screen resolution than the Pre.
Me, I think this is a brilliant long-term move (assuming Palm survives for the long-term). Because in the long term, smrtphones aren't going to be little niche devices that only appeal to latte-drinking, arugula-eating, Volvo-driving yuppies. Everyone's going to have one. And that means that there are going to be lots of different shapes and sizes of phone out there, because people have different preferences.
So WebOS and Android, by making this a design consideration for apps (and APIs that make resolution-independence easy), will have a graceful migration path to the future; whereas the iPhone ecosystem, which is built around a very monolithic conception of what an iPhone is, is going to have to stay niche or else introduce big breaking changes.
Could be that I'm wrong; could be that the iPhone will be so popular people will go along with those big breaking changes (lord knows Mac developers have dealt with nothing but big breaking changes for a decade now); but it still strikes me as an advantage for the more open platforms.
[link]
From: Simon Brocklehurst (Nov 21 2009, at 00:36)
Tim, Isn't the real problem here the one you alluded to? That is - there still isn't a great Android phone on the market.
Presumably, you think there will be such a phone at some point; but I'm not so sure. Why? Because if handset makers and network operators had even the first clue how to make a great phone, they'd already have done it. Remember, the iPhone was announced at the beginning of January 2007; and its design hasn't really changed since then. So, Apple's competition has had three years to overtake; but they still can't even *copy* Apple effectively, let alone come up with a revolutionary new idea that blows iPhone out of the water. I suggest that the only conclusion that can be drawn is that the companies that compete with Apple in the phone market don't know what they hell they're doing...
[link]
From: Eddie (Nov 21 2009, at 17:52)
Why does Paul Graham (of Y Combinator) think Android is an orphan? Here's the excerpt:
http://www.paulgraham.com/apple.html
Palm and RIM haven't a hope. The only credible contender is Android. But Android is an orphan; Google doesn't really care about it, not the way Apple cares about the iPhone. Apple cares about the iPhone the way Google cares about search.
[link]
From: Rich Sands (Nov 22 2009, at 06:56)
Platform fragmentation is always going to be an issue for developers. A little bit of work is still a little bit of work. Work costs $. It is fascinating to see the tug of war between the two models: Android: "We're open! Oh yeah... gotta port." iPhone: "Two choices - black or white. Just one API. But we're gonna control everything!" Apple are idiots for being so controlling about the App store process but that is a policy change they can effect anytime. Android will fragment no matter how much Google tries to stop it, and they're not trying real hard. I'm an open source believer but with rare exceptions, consumer-facing projects where UX is critical to success have struggled with all that freedom. Android seems to be following the same struggling path. Does anyone know if Android "skins" like Motorola's "Blur" (horrid name!) require porting to leverage all their features?
[link]
From: altrenda (Nov 22 2009, at 09:17)
It's funny to read all this splintering talk from non android users.
How about a list of programs that work on the the G1 but not the droid? or vice versa?
How many?
[link]
From: dogcow (Nov 22 2009, at 12:16)
altrenda posts: "It's funny to read all this splintering talk from non android users."
To try to dismiss the issue as being talk from "non android" users ("those damn iPhone fanatics!") is funny, but inaccurate.
Russ Beattie is an Android user.
http://www.russellbeattie.com/blog/android-is-splintering-just-not-how-you-think-it-is
Joe Bowser is an Android user.
http://blogs.nitobi.com/joe/2009/11/20/android-splintering/
And the devs on the Android-developer mailing list are, probably, android users.
http://osdir.com/ml/Android-Developers/2009-10/msg01559.html
I think Android's great advantage is that Google is patient, and very long-term in their outlook.
[link]
From: Jon Bell (Nov 22 2009, at 13:13)
I have first-hand experience that tells me this is a serious problem. And it's getting worse.
I had the "oh, whatever, just make a fluid layout" attitude also, and then I was struck down by reality. It was worse than I imagined.
[link]
From: Thomas (Nov 22 2009, at 13:57)
@dogcow--In Bowser's case, at least, he's not complaining about fragmentation due to hardware differences, only shipping OS versions. That's not nearly the same thing, especially since it's not isolated to Android (ask iPhone developers--even those just doing standard list-style apps--how the transition from OS 2.0 to 3.0 went...)
[link]
From: Ice Bat (Nov 22 2009, at 14:27)
As someone who has had a shipping app on Android for almost a year, I think I am qualified to let you know that reality disagrees with your post.
I have seen first hand that things that should work on all phones don't. Run the same code in OS 2.0 in the simulator, then run it on a Droid.
[link]
From: Scott (Nov 22 2009, at 14:48)
Splintering will be the thorn in Google's side if they don't do a better job of controlling the OS and platforms. If you make it easy (or fail to discourage) developers from creating platform specific apps, the same problem that has killed J2ME, Symbian, and other platforms will happen to Android.
[link]
From: Darwin (Nov 22 2009, at 16:40)
"First of all, a high proportion of most apps is just lists of things to read and poke at; another high proportion of Android apps are decorated Google maps and camera views. I bet most of those will Just Work on pretty well any device out there."
Thats just a really odd excuse to give. I would hope there are bigger plans for Android apps than that. Splintering is and will accelerate as an issue. Not to mention only 256MB available for apps. Which is still pretty unbelievable. It's also a slow OS. Google doesn't seem to be very motivated...well about anything to do with Android really but especially the level of UI and performance fine tuning that is needed. I also don't see Android in its current form being very appealing to your average consumer in the way the iPhone has. Look at the poor sales of the Droid and other Android phones. They aren't exactly setting the world on fire. That they are going to beat Blackberry and it's archaic OS and Palm with its terrible hardware is more an indictment of how bad those devices are instead of the value of the Android phones. They better get it together before iPhone makes it to other carriers. if the iPhone was on Verizon now how many people do you think would be buying Android phones? Yeah.
[link]
From: Scared Poet (Nov 22 2009, at 19:17)
"Second, we still haven’t seen a truly great Android phone (the Droid’s not it). It’s going to be interesting."
Really? Android has been out for over a year now and we're at 2.0. It's getting a bit long in the tooth for there not to be an "it" handset yet. And when that day does come, wouldn't its inordinate supposed awesomeness create a split between it and the current, apparently-inferior models? And how will that not contribute to fragmentation?
[link]
From: Mobile Dever (Nov 22 2009, at 19:34)
I also have first hand experience with shipping mobile applications on several platforms (J2ME,WinMO,RIM,Legacy Palm,iPhone).
Fragmentation is real and is a nightmare. You start off testing your app against an emulator, fix, then find out what's broken on the actual hardware and fix. Sometimes there is a problem in the actual firmware or the hardware and you have to write a workaround to get the app functioning to customer expectations. You file a bug. A few months down the road, the bug gets fixed along with another batch of bugs that are released in a firmware update. So QA upgrades the firmware on a test model and finds new bugs that the update caused. Now you kick and scream and write more work arounds. If you are detailed and have the time, you remove the workarounds that were fixed. Meanwhile, you are supposed to be adding new functionality to the application for the next version. This happens for just about every device I've ever worked with. And we haven't yet even talked about screen dimensions, hardware differences, security policy differences, etc. I live in this world, and it is a nightmare. I got into this stuff thinking that it would be fun being at the ground level as things got started. It is not fun. It is very stressful. When you realize that quality is sacrificed at every level (hardware, os, api, etc) in order to get things out the door just like you are doing, it's sometimes hard to believe any of this stuff works at all.
[link]
From: Justa Notherguy (Nov 27 2009, at 13:52)
Interesting insights, in this thread.:
@JoeB:
Glad to read of your concern for Canadian users, whose cell providers '[choose] to ship old versions of Android'. Unfortunately, the Canadian government seem less concerned. In fact, their regulations not only allow but _encourage_ carriers to maintain exactly such practices. Google didn't make Canada a technical backwater.
@Eric Vitiello; @Ice Bat; @Mobile Dever:
So, basically, app-development is a tricky, fiddly, and dynamic process? And this holds true on pretty much all platforms? No kidding? Hey, thanks for clearing that up. Maybe that's why so few independent devs manage to strike gold and, when they do, nearly always fail to do it again. :)
@Scared Poet
One year = 'long in the tooth'? So, by your reasoning, then I guess Windows is waaaay overdue for a 'killer device', huh? Gee, the poor buggers in Redmond - bless their hearts - likely don't realize how blind lucky they've been for, oh, ~20 years. Their success must be due to clean living...that Ballmer guy is a kharma machine. ;)
[link]