Google introduces ‘Holo Theme Family’ to end Android Fragmentation

The term Android Fragmentation refers to three main things.  One, Android currently has 5 OS versions on devices (Donut, Eclair, Froyo, Gingerbread, and Ice Cream Sandwich).  Two, Android devices come in various sizes, from small phones to TVs. Three, device manufacturers are branching their own versions of Android with custom skins and software.“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.” – Adam Powell, an Android Framework engineerIn order to address the above issues, Google has introduced Holo Theme Family.  Google is requesting manufacturers to include the code for Holo theme in all of the Android devices. Devices without the Holo theme will lose the ability to access Android Market! This means that menus, widgets, and settings dialogs will now have to follow the standard Holo theme setup in Android 4.0 and beyond. There are three main themes that can be used by manufacturers: theme.holo, theme.holo.light, and theme.holo.darkactionbar.

Mr. Powell also stated, “In Android 4.0, Holo is different. We’ve made the inclusion of the unmodified Holo theme family a compatibility requirement for devices running Android 4.0 and forward. If the device has Android Market it will have the Holo themes as they were originally designed.”

This is a great news for developers as the applications will look and feel like integrated part of the operating system with a standard set of UI elements. Thus, no additional coding will be required as everyone will be using a standard set of UI elements.  This sounds like something that should have been implemented since the beginning but managing dozen manufacturers and countless number of devices is no easy task.  It is good that Google has finally stepped up to end the Android Fragmentation.

Source: android-developers via AndroidCentral