Something that I see all over the place in the technology industry, and even occasionally on the street, is the tendency for people to blame Google for all of their woes with Android. “Why won’t Google fix the Play Store,” “Why won’t Google fix updates,” and “Why won’t Google make things standard” are just some of the questions thrown out every day by those who find problems with the OS. And it is true: Android has its share of problems that need to be fixed, and it certainly isn’t perfect.
However, some people seem to think that Google is responsible for controlling and fixing every single problem with the Android OS, and that just isn’t the case. Google does have a lot of responsibility in making Android good, but what people don’t realize is that having a unified, coherent, and always identical experience isn’t the main point of Android; yet that is what causes the problems so many people have with the OS. Yes, it would be great if Android were a perfect platform, but the fact is this: Android was designed by Google to be a venue for them to offer services and serve adds. The most effective way to do this is to get Android on the largest number of devices possible, but also to keep the OS open source so that companies like Amazon can make products like the Kindle Fire. It is because of this goal – making an operating system that is open and can be deployed on all types of hardware and devices – that Android can’t always be exactly what people want it to be.
And what do people want Android to be? Well, as much as I don’t like to say it, people seem to want Android to be more like iOS. Bloggers and commentators want Android to look the same across all devices, they want all devices to be updated at the same time or at least very quickly, they want a coherent ecosystem, and they want a very standardized experience overall. Sensibly, Google wants these things too, at least the ones that will get them more customers and thus make them more money. However, although Android and iOS are very similar, Android has a completely different mission. Instead of creating a perfect customer experience like Apple’s, the primary goal of Android is to be a free and open OS that anyone can put on their devices and that can be easily customized, which sometimes gets in the way of user experience.
Let me explain it this way: sure, as far as I can tell, Google would love to have all Android devices, or at least all remotely current ones, updated to Ice Cream Sandwich. It would make for a much better user experience, easier app development, and ultimately more revenue for Google from Android customers. Unfortunately, there’s really no way that Google can ensure all devices get updated to the latest version without working closely with, and in some cases forcing, manufacturers to update their devices. It would not only be impractical for Google to work with every manufacturer, and on every device, for at least the length of a two year contract. It would also defeat part of the purpose of Android’s openness. No longer would manufacturers be able to just take and use Android; they would have to talk with Google and even have a support plan for the life of their device. So, while it would be nice if all Android devices could be updated in a timely manner, that is really up to the manufacturer. If Google wanted to make sure all Android devices were updated in a timely manner, they would have to sacrifice some of the openness that is such a big part of the platform.
Currently, they do the best they can instead under the circumstances. By releasing the Android source code, Google theoretically allows manufacturers and anyone else who makes Android devices to easily compile, build, and ultimately roll out a new version of Android for their devices. Unfortunately, few manufacturers do this, as they instead prefer to take the Android source code and customize it to their liking. Some manufacturers do a better job than others, but the fact is that customized versions of Android generally cause problems for the consumer. Once again, Google can’t really fix this without compromising the whole idea of Android. As long as the project is open source, manufacturers can take the code without Google’s approval and make custom versions. If Google were to close and control the source code, we wouldn’t have such awesome projects as CyanogenMod and AOKP. The approval process for the Play Store and other Google apps is Google’s small attempt at control of modifications by only granting Google approval to some devices. But they don’t have too much leverage, because you can make a successful Android device without the Play Store or Google approval. (Just look at the Kindle Fire.)
Moving on to the Market, (er, Play Store), we can see that Google doesn’t actually have too much control there either. Because their goal is to have an open marketplace where even things like root apps can be freely distributed, they don’t have any approval process. Because of this, many complain about “junk” apps getting in, or more importantly apps that pose a security risk. For the latter, Google quickly responds to problems as best as they can and takes the offending application off of the market, and has even created a “bouncer” to keep clearly malicious apps from ever making it into the store. For the former, though, the process is different. Unless an application violates a rule, it stays. It doesn’t matter if the app is completely worthless; if it isn’t harming anything, then it won’t be taken out. Yes, that results in a lot of junk cluttering up the app store, but the point of the Play Store isn’t to provide a cultivated experience. The simple truth is that the Google is trying to make the Play Store as open as possible to any app that doesn’t do anything malicious (except for the rare case where carriers take down apps), and simply doesn’t try to get rid of junk. Blocking so called “junk” apps is a delicate process, as we have seen with Apple’s App Store, because what some people consider junk is not the same as what others consider junk. So, the Google Play Store has a policy to let pretty much everything in unless the purpose is clearly to break the rules and steal data, and if users don’t want to sift through some less than perfect apps, then they can return to iOS and the carefully curated App Store.
This post is in no way meant to let Google off the hook for improving Android and making the user experience better, as that is always something that I think they should be doing. However, what I am trying to do here is to show users why Google can’t always take what seems to be an easy solution to Android’s problems. Android isn’t iOS, and so while the operating systems are similar, the approach taken for each one is very different. By making Android more open than iOS and giving its users freedom, Google also gives manufacturers freedom to do things like customize the UI, make non standard devices or Android versions, and even not update their devices. And unfortunately enough, there isn’t an easy way for Google to fix some of the major problems with Android fragmentation, UIs, and compatibility without compromising the philosophy of the Android Open Source Project. The only thing they can do is to lead by example with things like the Nexus line of devices (and hopefully take advantage of the Motorola deal as well), and hope for the best. The fact is, most of the problems people have with Android can be traced to the device manufacturers and distributors. So, what should they do about it? Well, I’ll get to that in a later article.