What’s the right number? Of software platforms I mean, for devices which are real Internet citizens. At the moment, the volume players are iOS and Android. Microsoft and HP/Palm and RIM would each like to be the third, and one of them might succeed; conceivably more than one. Would that be good?
I’m biased: Internet loyalist, Android admirer and subsequently advocate, and finally Google employee. I like variety and competition and I think a hot competitive ecosystem is best for the Internet and for Google too. I like the fresh look-and-feel ideas in WebOS and WP7, and I’d like to like Blackberry since I’m Canadian. Given those biases, It’s still not obvious whether I should wish the up-and-comers well.
Let’s talk about some numbers.
One? · We’ve lived in single-platform worlds; most obviously the lengthy Windows desktop monoculture. Also the much shorter space starting in 2007 during which the iPhone was the only interesting mobile device.
There are excellent reasons to avoid this platform count. Economists, consumer advocates, and regulators are of one mind about its downsides. It’s a reason I reached for Android first chance I got, and was so pleased when I liked what I found.
Let me have fun playing devil’s advocate for a minute: During the Windows hegemony, if you were a quality desktop app developer working in a space that Microsoft didn’t want to invade, there was a lot to like. You only had to build one binary, for a platform that wasn’t bad at covering up hardware variation and worked hard to keep your apps running through OS updates.
But yeah, it sucked if you were a CIO paying the desktop tax, or a hardware builder trying to carve out a little margin, or a startup like Netscape trying to move the user-interface needle. I wouldn’t want to go back, and I fervently hope the mobile-platform space remains a competitive market.
Two? · Where we stand now. Anyone with an idea for a compelling mobile app is probably looking at releasing it on Android and iOS first, and working on the other contenders later. Most businesses and Web sites that want “their own app” outsource to a mobile-development shop, most of whom are unreligious. The notion of being an Apple-only or Android-only shop is becoming less and less tenable.
The situation is not, in my view, terrible. To start with, the ferocious Apple-Android competition is obviously making both sides’ products better.
The mobile business is multipolar; the interests of telephone companies, device builders, OS builders, and app developers all tug at each other in complex ways. Telephone companies like having access to Apple and Android devices so they’re not existentially tied to one hardware builder at the high end. Hardware makers like to have options and thus bargaining power with OS builders. Most app developers can see the benefits of a world in which there’s not just One Big App Storekeeper.
But on the other hand, they don’t like having to build their applications twice.
Three, or Even More? · The telephone companies wouldn’t complain if more platforms reached the top tier. They have room on their shelves for loads of handsets and tablets, and have learned how to manage all those SKUs. Nor would the handset makers; any one of them might choose to concentrate on just one or two operating systems, but having choices is good and then there are lots of these guys.
For app developers, though it starts to get ugly. Building software is hard and maintaining it is hard and doing it with multiple implementations sharing little common code makes both jobs harder. Two is worse than one and three is worse than two.
We already hear bitching about having to do it twice, and there’s lively interest in technologies like Titanium and PhoneGap, and the potential for sharing code across multiple platforms. The trade-offs and upsides and downsides of these things are complex moving targets and I’m a little too close to the story to be comfortable offering an opinion. But it’s hardly controversial to say that interest is lively.
There are a lot of factions on the field. But my heart’s on my sleeve; Developers are my tribe and I think, by and large, that what’s good for them is good for consumers and for the Internet too.
I think a multi-platform world is best place for my tribe; but too many platforms is painful. And I still don’t know what the cosmically correct number is.
Comment feed for ongoing:
From: JulesLt (Apr 27 2011, at 01:08)
Developers have always struggled between their desire to write once, in the language of their choice - for ' platform' to go away - and the desires of users for software that reflects their platform choice.
It's already frustrating to see mobile apps that do not support standard cut-and-paste (in some cases, this may be deliberate, to protect content, but not always).
We seemed doomed to repeat the 'schoolboy errors' of the past with each platform leap. I suspect two reasons for this - firstly, new platforms tend to be dominated by the young, and QED less experienced.
Secondly, it seems to be an aspect of software design that is ignored. How many University courses, or software companies, train their staff in platform conventions and differences - even those of Windows??
Historically, that would have meant also teaching MacOS and X-Windows, then OS X, Gnome and KDE conventions.
(I don't think this would be a bad thing. I've worked with UI designers who show a frustrating tendency to re-inventing 'a better wheel' - rather than understanding that even the derided Microsoft have spent more time researching UI problems and component design than they have!)
From: Otto (Apr 27 2011, at 01:17)
I love phonegap a great application for cross platform development.
I tried titanium, but to be honest it did feet my mind and going native make it more complex for few performance gains.
PhoneGap has been receiving strong support from Adobe which integrates it with it new dreamweaver CS5.5.
From: JulesLt (Apr 27 2011, at 04:11)
Another thought – a lot of commentators look at the historical success of the PC, seem to ignore the fact that through the PC era, there was a huge consumer market for games consoles, and software for those consoles, despite selling a tiny fraction of PC shipments.
What counted, there, was the ability of the console manufacturers to create a profitable (locked) market for developers to operate in – which is close to Apple’s model, and the Windows Phone model.
I wonder if this is actually going to be far more relevant than SDKs and skills. I know of at least one superb iOS games developer who is porting their applications to Windows Phone 7, because they’re being paid to do so, rather than in expectation of sales, and despite the majority of requests on his site being for an Android port – which he unfortunately does not feel would pay off (based on modeling sales against dev effort).
If Microsoft act as savvy publishers - cherry picking the porting of strong apps, and signing up games developers to be platform exclusive, then they could remain in the game. (Lest we forget, Bungie were originally developing Halo for the Mac - someone at Microsoft saw that opportunity).
And I suspect Sony are likely to establish their own Android+Playstation platform as a viable market, because – again – they have a good understanding about how to create a working ecosystem.
So my guess is that Android will dominate the ‘open’ market (knocking out RIM and WebOS) – but we’ll see a number of smaller closed platforms.
From: John Cowan (Apr 27 2011, at 07:20)
Having multiple platforms wouldn't be so bad if it weren't for the iMonopolists, who impose a web of legal, technical, and social restrictions to severely limit the ability to develop portable apps.
From: William Vambenepe (Apr 27 2011, at 09:10)
I know a guy who lives in the same city as you and used to be Director of Web Technology in some large company. You should talk to him one day, he can maybe help you with the issue of having multiple hardware/OS platforms and yet a mostly unified development environment... ;-)
Jokes aside, I sometimes wonder whether asking, in 2011, whether HP/Msft/RIM will catch-up with Apple/Google is a bit like all the discussions around 1999/2000 about whether WinCE will catch-up with Palm. Discussions in which Apple and Google were never even mentioned.
HP/Msft/RIM are in the direct line of sight, but who's in the peripheral vision?
From: Carl (Apr 27 2011, at 14:15)
This is incidental, but maybe tweak the settings on your hyphenation script. On my iPad, it turned Apple-Android into Apple-An-
droid. It was a bit distracting. Maybe the rule should be never hyphenate words that contain a dash already?
From: Matěj Cepl (Apr 28 2011, at 00:23)
Of course, the answer is ONE. Independent HTML applications running in your browser. That is whichever browser you install on your device. Or any device.
From: Rob (Apr 28 2011, at 05:26)
As any student of Highlander knows, there can only be One. Get a little Queen on, whip out your katana, and go for the Prize!
From: Bud Gibson (Apr 28 2011, at 08:42)
You talk about the market being multipolar between platform providers, carriers, etc., all of whom have their own interests.
I'd like to see the market become much more consumer-centric. Apple, which I don't like in many ways, is doing a lot to move the needle on the consumer dimension.
From: Scott Kantner (Apr 28 2011, at 09:32)
I think the right answer is simply "more than one." That yields the bulk of the important benefits you described over the entire set of interested parties. The market needs sufficient competition to keep everyone honest, and developers need options to mitigate their financial risk.
As a developer myself, I am going to pick the minimum number of platforms required to maintain both my profitability and my sanity.
From: Alex Cohn (May 08 2011, at 13:34)
Well, in terms of phone makers and cellular providers, Android itself is much more than one. And for app developers the challenge to support all the range of formfactors and versions is enouph of a headache. And for consumers, the difference between HTC and Motorola devices is convincing enough - though some folks think that Samsung Galaxy is exactly same as iPhone.
On the other hand, the mobile Web is essentially uniform, with ultimate dominance of WebKit. Behold wPhone with a different but HTML5 compliant browser, and making sure your website is equally useable for all smartphones becomes a non-trivial task, too.
For me, as a developer, this future is welcome: it's too easy to master a single tool for single target (remember Visual Basic?) The harder the task to deliver multiplatform product, the better will be my salary.