This is not a troubleshooting question, it's more along the lines of a request for explanation so I may understand, conceptually, a few things. I've read a bunch of Wikipedia articles on Android, and so I've come to understand that Android is a Linux-based OS which includes its own libraries and API's. Also, Android versions x.x have their own "vanilla" interface. So Google releases Android 4.0 and it's a fully functioning OS with an interface. Then you have device manufacturers like Samsung or HTC who take this Android OS and do what with it? I'm not talking about adding bloatware or anything, but what exactly do they do with the OS to customize it? What, at the core of the OS do they tweak? I am asking this because I wonder sometimes why certain apps do not work with certain phones (or, for example, on my G-tab running CM 6.1). My thought was that the OEM's just change the appearance of the interface, but why then would some apps not work with certain phones just because of an interface issue, if all of the middleware, libraries, drivers, etc. remain the same? Also, for the sake of argument, if I were to develop an App, how much time would I spend troubleshooting and making it work with all the various OEM's versions of Android out there? I would love to learn more about this, so if anyone has a good resource for more programming information that isn't too terribly over a part-time nerd's head. Thanks in advance. You guys have helped me (as a lurker) numerous times with my G-tab and various things.