Google has posted a bit of new info to the Android Developers blog that is probably less of a big deal than people are making it into, but still worth looking at. The post details a requirement that all manufacturers include in their Android 4.0 (Ice Cream Sandwich) devices the default Holo theme. They don’t have to use the theme, they just have to have the data composing it on the phone.
This is less a blow aimed at third-party UIs and more a general integrity check that ensures apps and services will have the choice to provide a consistent face to the user across many devices.
Imagine you are designing an app that finds nearby restaurants and pulls recommendations from your social stream – or something. You have your default buttons, your text fields, your animations, and so on that you make yourself a nice little interface with. For some time, it has been the case that a theme like Sense or TouchWiz could pre-empt those default UI items and substitute their own — a color scheme or set of icons consistent with the rest of the theme. This practice probably wasn’t very common (I have no data to support this but I haven’t run into it much) but it’s potentially destructive to apps that are designed with care.
Google will now require manufacturers to include in their distribution, custom or not, the original Holo theme files. It is up to app developers to determine whether they are used or not. You can signal whether you want your app to use whatever UI items are the default on the phone (so, Sense on an HTC phone if they were to put out a Sense-based ICS device), or you can choose to force the elements to be in the Holo theme provided by Google.
This allows developers to be totally sure their app will look the way they want it to look, while at the same time allowing manufacturers the freedom to create custom launchers, themes, widgets, and so on. It just prevents those manufacturers from affecting and possibly breaking (though, again, I haven’t heard this is a major problem) apps that use and rely on default theme elements.
Those are the immediate effects. But imagine you’re a developer. There’s little reason not to put the flag requiring the use of Holo. Your app may look a little different from some others on a themed device, but UIs on Android are already all over the place, and really, most people won’t notice (though I wish they would) that the text field in one app has a grey gradient and in another there’s a blue one. Choosing Holo guarantees your app will look the same on every compatible device. It’s just consistency at a different level.
None of this means that a certain look will be required on an Android device, even for access to the core Google apps and Market. I’m not sure they even could (launchers and themes could easily run atop the default). But it does show Google acknowledging that a consistent UI is a plus and making that an easier play for devs.