Holo dark and light

A lot of work has gone into the UI for Ice Cream Sandwich, and Google has decided that manufacturers who want to have access to the Android Market will now have to let it shine -- the Holo theme, in its unmodified form, is now a requirement for devices that wish to use the Android Market. 

Calm down, calm down -- manufacturer skins like Blur and Sense will still be around. (You were worried about them, we know.) But menus, widgets, and settings dialogs will now have to follow the standards set up in Android 4.0 and above.

This means a lot to app developers.  Having a standard set of UI elements to draw from makes applications look and feel more integrated into the operating system, and now that everyone will have to use the same base they don't have to worry about coding their own.  Adam Powell, Android framework engineer, says:

Before Android 4.0 the variance in system themes from device to device could make it difficult to design an app with a single predictable look and feel. We set out to improve this situation for the developer community in Ice Cream Sandwich and beyond.

Nice work, fellows.  The Holo UI is unique, and stunning.  Let it shine!

Source: Android Developers Blog


Reader comments

Unmodified Holo theme now a requirement for devices with Android Market access


Very good news!

"Formally separating these theme families will also make future merges easier for manufacturers updating to a new platform version, helping more devices update more quickly.

It is about time Google started to do something to get things under control. This should of started with gingerbread if not sooner.

Good to see that Google understands that there is a problem and more importantly is beginning to take steps towards setting boundaries and standards for the Android user experience.

There's absolutely nothing wrong with the manufacturers skinning the UI to differentiate; but there needs to be rules when it comes down to the nuts and bolts of the user experience.

Quite frankly Google should require all manufacturers to install a toggle to deactivate any or all portions of their skin back to the stock UI if the owner of the phone so desires.

I agree.

Actually, why not have manufacturer UIs be simply uninstall-able, and re-install-able like any other .apk. I suspect the majority would opt to uninstall it to gain the space and the evolving new look of future android releases.

Any manufacturer/carrier applications (shovel-ware) should also have to be written such that they could use the stock components.

Of course this would mean your phone would go obsolete much later, which is exactly what the manufacturer don't want to see.

We need a handset owners bill of rights regarding hardware issues.

It would be amazing if Google invested some time into creating a powerful theme engine and requiring manufacturers to use the engine for UI changes. The T-mobile/CM7 theme engine is is great, but if Google could make one that does everything a manufacturer could want, then the only device specific changes would be framework changes. I'm sure Google could devise a way to ensure that HTC devices could only use Sense skins, Samsung devices could only use TouchWiz, and so on.

I'm completely talking out of my ass (No Android dev experience), but I'm confident Google could come up with a solution that would benefit everyone.

You need only look to linux to see that this could easily work.

Let manufacturers load the device specific drivers as binary blobs like linux loads wlan drivers, all of which provide for the same methods (entry points). That way they will be able to keep their proprietary chipsets and radios as secret as they need. (The FCC will never let end users tweak radio frequencies, so this is pretty much mandated for some chipsets in the phones).

So when do we start to see these changes? I guess I'm just confused. So all phones going forward will have this?

MIUI is a custom aosp rom just like Cyanogenmod so It can be whatever it wants. This is more directed towards the stock UI that manufacturers preinstall onto their devices.

Is there going to be some code in the market to ensure that the theme is still Holo? Or is Google just forcing carriers to launch devices with Holo in order to have gapps installed?

Not that I think this is a bad idea, but it will certainly add to the "Open platform except when Google decides otherwise" arguement.

The platform itself is still open, Google will simply not provide/allow their market on devices that do not comply.

It's open, but if you want anything good on it, then not so much. This is a good move for Google in terms of user experience, but Google's whole "open" marketing is total BS. If a Linux distro tried this, most of their users would freak out and leave.

I rather suspec the manufacturers are as tired of the arms race as is Google.

I suspect they would all just as soon not have to reinvent the radio button, the check box, or the data entry field.

By having this agreement they can avoid being blindsided by a competitor and always having to carry along the baggage of something they started using way back when the platform was in its infancy.

By having everything work with a reference set of widgets they can be assured the competition won't steal a march on them. Developers can have a more reliable working platform.

This speaks to the maturity of the platform. Ford and Chevy don't have to compete on spark plugs or lug nuts or oil. Some things are settled technology and there is simply no economic benefit to dukeing it out on the shape, color, or function of a checkbox.

Wrong. This just means that manufacturers are forced to let Android apps use the Holo theme.
This is easy to explain with MIUI. Many apps that look just like normal Android apps look MIUI-ish on MIUI ROMs.
That's because they don't include the UI elements, graphics, but instead just "reference" to themes included in Android.

Until now, manufacturers were allowed to modify these included UI elements. This is now forbidden, but manufacturers are still allowed to use custom themes, they just may not make third party apps look different, if the app developer decided to use the holo theme.

This may be hard to understand, I hope I explained it good enough.

The Verge correctly explained what a 'theme' on Android is, and interpreted the article correctly: Holo must be present, but it doesn't have to be used.

After so long, they finally did something right. At least now I can expect any app that is designed for Android 4.0 will look similar across all devices (even though screen fragmentation is still there).

I loved the holo theme and I thought they did the right choice to control slightly on the UI. I don't think this have anything conflicted with the openness of Android.

"But menus, widgets, and settings dialogs will now have to follow the standards set up in Android 4.0 and above."

Somewhat misleading. Menus, widgets, and settings dialogs can look like whatever OEMs what them to look like, for their customizations. Google isn't preventing theming, they ARE only forcing manufacturers that want Android Market access, to keep the Holo theme intact for application developers to use so there app has a consistent look whether its on a Android 4.0+ TouchWiz, Sense, or Blur device.

We all love that Android is open and let's devs do what they want, but it had gotten to the point where all the UIs were so different that it was affecting us. I definitely hope that this helps future devices continue to be updated more frequently. I hope Google continues to make it easier for all Android devices to be updated more often.

I have a monkey wrench! Should I throw it in? What if the manufacturers decide they want to keep their own themed menus, widgets and what not? What if the manufacturers decide to use Amazon App Store instead, or worse yet create their own Markets? Would other manufacturers want to follow suit? would we end up with "fragmented" Market Places. I just wanted to use the "F" word! Which App Store will win out?

Yeah I thought the manufacturers might start creating their own Android app markets too at first but I think they won't because they probably won't be able to compete with the Android and Amazon app markets... not this late in the game anyhow.

"But menus, widgets, and settings dialogs will now have to follow the standards set up in Android 4.0 and above."

That line from the article here is wrong. If you read the article on the Android Developers Blog, you'll find that all that's being done here is that in Android 4.0 all phones that have the Android Market are required to have the unmodified Holo theme present on the device.

That's it. The OEM doesn't even have to use it. It doesn't mean OEM skins will change or go away.

What this does it make it so developers can use that theme if they want and have their app look consistent across those devices.

I feel like this is fantastic news. I have always hated that the menus look different based on which OEM you have chosen. I also feel like this is a step in the right direction towards OEM skins not affecting proper updates, as much.

Does this have any effect on things like the WiMax driver on HTC phones being almost inextricably tied to the Sense framework? What will the results of this be, what will we be seeing change on the hardware?

i agree with google for the next generation high end phones to all have android 4.0 but i do like Htc sense on my Htc Evo 3d. I think they should make the manufacturer skins downloadable apps in the maket so if you want sense or w.e skin ontop of android 4.0 you still have the option. thats one thing i love about android and its that we have an option to how we want our phones down to every single aspect.

Would like to see some more structure in the basics also

Typical what I would like to see is an exit and log out option
For my country permanent days not an option
So data switched off most of day

Also memory usage and battery drain
Non e of the so called management tools does a permanent job

My few cents of opinion

A fun filled and successful year to all

As long as we got the source code,kernels , and unlocked bootloaders.. thats all that matters.. People hate when HTC and Samsung include their UI theme anyway.. so who cares if they take away the menus and widgets.. that just be one less app running in the background

It's not closed enough, its fine to be open source, thats why we all love Android. But right now there is to much fragmentation and Google is trying to change that. Its making it harder on developers having to code diffrently and a ton of other mess they have to deal with, consumers get confussed. Android needs standards.

Correct me if I'm wrong.. but after reading all these post and blogs across different forums.. This is what I picked up from my own common sense..

Since the theme only apply to Widgets, Menus etc.. I'm guessing that HTC can't use its HTC Sense Message app correct? it will have to be the stock Android messages?

Thats what I picked up at first read also. But this is not correct and they did not do a good job explainging. I believe this change only has to do with certin UI elements and menus. So when you go into "Settings" on an HTC device it has to look like the stock setting of 4.0 or higher. I believe same for apps made by the devlopers and also widgets.

Meuns, widgets. . . I guess.

Awesome, Awesome news!! I really had lots of troubles mainly with defy when I started developing for Android... Now it seem that we will be able to count with a beautiful standard design!
Thanks Google!

If I'm reading this right this basically makes manufacturer skins part of bloatware for Android market compatible phones and tablets (because the Holo theme must remain intact). Might explain why Samsung can't get ICS onto the Galaxy S and Tab.

But I guess it also means that it will be easier to have the stock UI run on devices running 4.0.3 (with access to the Android Market) because the manufacturer's skin will be in a neat bucket which can be removed after a root and bootloader unlock?

Good one Google! +1

Anything to promote consistency in the basic workings of the devices is needed. When you look at reviews for iPhone apps, they all just say either "this program is good" or "this program is bad". In the android market, you get "doesn't work on SGS2" or "awesome on my Motorola Photon, but looks like crap on my Galaxy Tab". In order to truly push the big red fruit company out of the way, this is an essential step in the right direction.

I love that Android is open source, but there does need to be some basic parameters set. They are not forcing you to make all droids look the same, only that all droids start off from the same basic starting point. With that, they can now tell all developers that they need a couple of basic building blocks in all apps like an exit button.

I'm very pleased about this. Google has always had great products as far as functionality was concerned but they were weaker in the UI department. Apple was just the opposite, their strength was stronger in the presentation over the product.

Now to cool the fanboism, both companies had great products with good ui's just each one had a stronger hand in each of the two categories.

That being said, I'm glad Google took a page out of Apple's playbook as far as more rigid control over the look and feel of the phone environment goes. It gives a feeling of overall consistency throughout the use of the product, which leads to a more pleasant user experience.

Thank you Google, this was needed for a while.