Google is making life a little easier for developers. Today a post on the official Android Developers Blog announced a new rule for OEMs that insist on skinning Ice Cream Sandwich: You must also include the unmodified ICS "Holo" Theme files. Regular users still have to deal with a skinned OS, but developers can opt out of the skinned parts for their app. Observe:
This is what developers currently have to deal with. Apps will look wildly different depending on what skin your phone has. On the left is Motoblur, on the right is stock ICS. It's the same APK, but everything looks different because apps take many parts of their UI from the OS. OEMs mess with these files, and the result is a consistency nightmare for developers.
This will fix all that. Google is requiring all ICS devices to have a set of stock UI parts that developers can access for their apps. The result is a nice, consistent look for apps across all devices. Developers will have one less headache to deal with.
Now I know what you're thinking. And you can just drop it right now. Google went out of their way to pour cold water on the idea of a full-on skin lockout:
We have no desire to restrict manufacturers from building their own themed experience across their devices.
Darn. Manufacturer skins will still be around, but developers can opt to not let them touch their apps. On the plus side though, updates for OEMs should be a little easier (and hopefully, faster):
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.
Translation: "Since there are now two sets of UI pieces on every skinned phone, skins and the stock UI are now separate. That should make updates a little easier on OEMs, because new Google files will no longer overwrite their skin files." I know its really easy to read this and think "Rom developers could easily activate a stock UI!", but the thing is, we don't know how much of the stock UI is covered in this new requirement. We'll have to see a completed, skinned ICS rom to find out. Cross your fingers.
Developers should hit up the source link for full instructions on how to opt out of UI skins in their apps. Consistency rules!