Android needs to publish the distribution of third-party "skins"
Among the many reasons I haven't yet updated The Complete Android Guide are that I'm bad at managing my time, lazy, over-committed, and intimidated. But I don't have time to write about that today, or probably any time soon (see how I do that?). So today I'll name another major obstacle that I don't really have control over: my efforts are constantly under attack by Samsung, Motorola, Sony, and LG, and their misguided interface designers.
Google offers the core of its Android operating system for free to phone-makers and their carrier partners. If those manufacturers and carriers didn't modify the phone hardly at all, the phone interface would look like "stock Android," which Google uses on its own brand of Nexus phones and tablets. But Samsung and its competitors, working with the carriers, want to differentiate their individual phones, and they do so by adding things, as one might do with stickers on a laptop. So they add a "skin," a different interface layer, with third-party apps, unique "launchers" (where app shortcuts and widgets are kept), and their own widgets, dialers, gestures, and other modifications.
I don't think these tweaks add up to a net positive experience for Android users. More than that, they strand each owner of a skinned Android phone with a question or problem on their own, much smaller island. Samsung's own contact manager is different from Google's stock app. When you're irked at seeing triplicates of all your friends with Facebook accounts, that's a conversation you have to have with Samsung, or with a few increasingly precise Google searches. If Android 4.0 offers, for example, built-in Voice-over-IP calling, you have to hope that Samsung and your carrier port it forward into their own tested and released 4.0 update, if it arrives. And, as noted, people aiming to help you troubleshoot and improve your phone can be confounded by how different it is from what they expect.
Here's an example of how HTC's Sense skin affects the Android experience, as described in a review by The Verge of the Droid DNA, perhaps the best-reviewed phone out right now (with the possible exception of Google's own Nexus 4):
... For the most part, Sense tends to bury Android’s functions under layers of unnecessary UI elements, and it can be slower and more cumbersome to use as a result. For example, Google Now is buried under a long press of the home key, which is much less intuitive to access than the swipe up gesture used in stock Android 4.1. Additionally, Sense’s handling of the legacy menu button still found in many apps is less than elegant, and the DNA doesn’t have the ability to change the function of its dedicated multitasking key like the One X.
The review goes on to name seven pre-installed and non-removable apps, all of them benefiting Verizon or its promotional partners, all of them eating into the 11.5 GB of space available to users.
The final, equally maddening piece of this skin game is that not every Android phone made by the skin-makers has their own skins on them. Motorola, in particular, has released a few phones recently with stock Android interfaces. So you're never quite sure how many phones out there are running MotoBLUR, or a particular version of HTC Sense, or which variant of Samsung's widely variable TouchWiz. Besides would-be how-to helpers like me, I have to imagine app developers whose apps might hook into or conflict with certain Android functions would like to know just what users are seeing on their Android devices.
So, Google, I ask of you: in addition to collecting Android version, screen sizes, and OpenGL availability on the Android Developer Dashboards page, could you start collecting and publishing which "skin" is used? My "About phone" menu shows that you take in Android version, Kernel version, and Build number, all of them up to the firmware creator to fill in. Could you offer an option to report which "Interface version" is used, and then let us all know, for example, just how wide TouchWiz is actually distributed?
In the meantime, I'll be working on Section II, Part B, Sub-Section iii of the Message chapter, "How to download an attachment from an SMS message on HTC Sense."