Google open source guru Chris DiBona has acknowledged that the company's freewheeling approach to building a mobile operating system can cause a few headaches for developers, with unfamiliar versions of its Android OS appearing on new phones with little warning. But, he says, that's not developers' main concern - nor Google's.
"It can be a little hard for developers, and sometimes, they have to adapt," DiBona said Wednesday morning during a taping the Ziff-Davis online TV show Cranky Geeks. Then DiBona held up his own Android phone - a new Nexus One, natch.
"This is going to sound really cynical, but the only thing that really matters is how many of these we ship - how many Android phones. There is a linear relationship between the number of phones you ship and the number of developers."
Developers are willing to tweak their apps for different devices, the thinking goes, as long as they can reach a wider audience. "As we ship more phones, there will be more apps. That's it," DiBona says.
DiBona: mobile is a numbers game
DiBona's comments echo those made by Eric Chu, Google's group manager for Android mobile platforms, at a conference San Francisco this past November. "Everybody talks about fragmentation as a bad thing, but I think you need to look at it from the perspective of the developer," Chu said. "How much work does the developer have to do to address the fragmentation? If there are a million devices and they're in three fragments, they don't care."
But unlike Chu, DiBona acknowledges that Google could give developers more warning about what's on the way from new versions of the OS. "We could do better," he told The Reg, when asked about developer roadmaps.
By contrast, the likes of Microsoft and Apple have NDA programs that allow developers to test a new platform before it officially ships. But Google is moving too fast for such things. Its primary aim is to get as many people as possible building Android phones. And that includes itself.
When Google unveiled the Nexus One on Tuesday morning, it also unveiled a new incarnation of Android, version 2.1. This version is not yet open sourced - though Google intends to open it up in the near future - and before Tuesday, when Google also began shipping phones to customers, developers had no idea what the new OS would look like.
DiBono points out that version 2.1 isn't all that different from 2.0. There are a handful of new features and a handful of new apps. Google gives it the same codename as version 2.0: Eclair. But this sort of sudden OS fragmentation, however small, happens repeatedly. When Google, Motorola, and Verizon unveiled the Droid, they also unveiled Android 2.0.
"Google pushes big snapshots of code to the open source tree only at certain times," mobile developer Jeff Haynie told The Reg. "It's not like, say, Mozilla. Everything Mozilla does is in the open. It's never a big surprise, like 'Hey. Here's this new piece of code called Android 2.0'"
Android 2.0 hit the web little more than a week before it turned up on live Motorola Droid phones, and Haynie's customers started complaining about broken applications.
Google strategy also sees certain manufacturers ship new versions of the OS before their competitors. Droid, which just shipped this fall, is still on Android 2.0, though co-Motorola chief executive Sanjay Jha said the company intends to upgrade as soon as possible.
What's more, Motorola must stomach the fact that Google is now a competitor as well as a partner, selling the HTC-manufactured Nexus One from its own online store. But like Jha himself, DiBona played down Motorola's issues. "We gave Motorola a huge heads up," he said - though he declined to say how much notice the company was given. According to sources speaking with GigaOm, both Verizon and Motorola are "particularly miffed" about Google's decision to sell its own handset.
Whatever the case, DiBona defends Google's decision to give some partners access to new code before others - and to let them offer their own UI. If it didn't do so, he tells The Reg, handset makers and wireless carriers would choose another OS - or create their own Android fork. That, of course, would lead to still more fragmentation.
The OS is designed for backwards compatibility and Google offers tools for testing compatibility. As Google's Chu put it: "Differentiation is actually a good thing. That's what the mobile industry is all about," he said.
"The question is how we can do it in such a way that we can [limit] additional work for developers and give them the right return on investment. We're doing everything we can in the underlying platform, in the SDK, and also in the Android Marketplace to minimize that work."
But DiBona told us that Google isn't doing everything it can do. Android has no governance model. There's no roadmap telling developers what they can expect down the time. And when we asked about a roadmap, he was honest - and we praise him for it. "We could do better," he said. ®