The Benefits & Importance of Compatibility
Friday, September 14, 2012
We built Android to be an open source mobile platform freely available to anyone wishing to use it. In 2008, Android was released under the Apache open source license and we continue to develop and innovate the platform under the same open source license -- it is available to everyone at: http://source.android.com. This openness allows device manufacturers to customize Android and enable new user experiences, driving innovation and consumer choice.
As the lead developer and shepherd of the open platform, we realize that we have a responsibility to app developers -- those who invested in the platform by adopting it and building applications specifically for Android. These developers each contribute to making the platform better -- because when developers support a platform with their applications, the platform becomes better and more attractive to consumers. As more developers build great apps for Android, more consumers are likely to buy Android devices because of the availability of great software content (app titles like Fruit Ninja or Google Maps). As more delighted consumers adopt Android phones and tablets, it creates a larger audience for app developers to sell more apps. The result is a strategy that is good for developers (they sell more apps), good for device manufacturers (they sell more devices) and good for consumers (they get more features and innovation).
In biological terms, this is sometimes referred to as an ecosystem. In economic terms, this is known as a virtuous cycle -- a set of events that reinforces itself through a feedback loop. Each iteration of the cycle positively reinforces the previous one. These cycles will continue in the direction of their momentum until an external factor intervenes and breaks the cycle.
When we first contemplated Android and formed the Open Handset Alliance, we wanted to create an open virtuous cycle where all members of the ecosystem would benefit. We thought hard about what types of external factors could intervene to weaken the ecosystem as a whole. One important external factor we knew could do this was incompatibilities between implementations of Android. Let me explain:
Imagine a hypothetical situation where the platform on each phone sold was just a little bit different. Different enough where Google Maps would run normally on one phone but run terribly slow on another. Let's say, for sake of example, that Android implemented an API that put the phone to sleep for a fraction of a second to conserve battery life when nothing was moving on the screen. The API prototype for such a function might look like SystemClock.sleep(millis) where the parameter "millis" is the number of milliseconds to put the device to sleep for.
If one phone manufacturer implemented SystemClock.sleep() incorrectly, and interpreted the parameter as Seconds instead of Milliseconds, the phone would be put to sleep a thousand times longer than intended! This manufacturer’s phone would have a terrible time running Google Maps. If apps don’t run well across devices due to incompatibilities, consumers would leave the ecosystem, followed by developers. The end of the virtuous cycle.
We have never believed in a “one size fits all” strategy, so we found a way to enable differentiation for device manufactures while protecting developers and consumers from incompatibilities by offering a free "compatibility test suite" (CTS). CTS is a set of software tools that tests and exercises the platform to make sure that (for example) SystemClock.sleep(millis) actually puts the device to sleep for only milliseconds. Like Android, the test suite is freely available to everyone under the Apache open source license: http://source.android.com/compatibility/cts-intro.html
While Android remains free for anyone to use as they would like, only Android compatible devices benefit from the full Android ecosystem. By joining the Open Handset Alliance, each member contributes to and builds one Android platform -- not a bunch of incompatible versions. We’re grateful to the over 85 Open Handset Alliance members who have helped us build the Android ecosystem and continue to drive innovation at an incredible pace. Thanks to their support the Android ecosystem now has over 500 million Android-compatible devices and counting!
Posted by Andy Rubin, Senior Vice President of Mobile and Digital Content
As the lead developer and shepherd of the open platform, we realize that we have a responsibility to app developers -- those who invested in the platform by adopting it and building applications specifically for Android. These developers each contribute to making the platform better -- because when developers support a platform with their applications, the platform becomes better and more attractive to consumers. As more developers build great apps for Android, more consumers are likely to buy Android devices because of the availability of great software content (app titles like Fruit Ninja or Google Maps). As more delighted consumers adopt Android phones and tablets, it creates a larger audience for app developers to sell more apps. The result is a strategy that is good for developers (they sell more apps), good for device manufacturers (they sell more devices) and good for consumers (they get more features and innovation).
In biological terms, this is sometimes referred to as an ecosystem. In economic terms, this is known as a virtuous cycle -- a set of events that reinforces itself through a feedback loop. Each iteration of the cycle positively reinforces the previous one. These cycles will continue in the direction of their momentum until an external factor intervenes and breaks the cycle.
When we first contemplated Android and formed the Open Handset Alliance, we wanted to create an open virtuous cycle where all members of the ecosystem would benefit. We thought hard about what types of external factors could intervene to weaken the ecosystem as a whole. One important external factor we knew could do this was incompatibilities between implementations of Android. Let me explain:
Imagine a hypothetical situation where the platform on each phone sold was just a little bit different. Different enough where Google Maps would run normally on one phone but run terribly slow on another. Let's say, for sake of example, that Android implemented an API that put the phone to sleep for a fraction of a second to conserve battery life when nothing was moving on the screen. The API prototype for such a function might look like SystemClock.sleep(millis) where the parameter "millis" is the number of milliseconds to put the device to sleep for.
If one phone manufacturer implemented SystemClock.sleep() incorrectly, and interpreted the parameter as Seconds instead of Milliseconds, the phone would be put to sleep a thousand times longer than intended! This manufacturer’s phone would have a terrible time running Google Maps. If apps don’t run well across devices due to incompatibilities, consumers would leave the ecosystem, followed by developers. The end of the virtuous cycle.
We have never believed in a “one size fits all” strategy, so we found a way to enable differentiation for device manufactures while protecting developers and consumers from incompatibilities by offering a free "compatibility test suite" (CTS). CTS is a set of software tools that tests and exercises the platform to make sure that (for example) SystemClock.sleep(millis) actually puts the device to sleep for only milliseconds. Like Android, the test suite is freely available to everyone under the Apache open source license: http://source.android.com/compatibility/cts-intro.html
While Android remains free for anyone to use as they would like, only Android compatible devices benefit from the full Android ecosystem. By joining the Open Handset Alliance, each member contributes to and builds one Android platform -- not a bunch of incompatible versions. We’re grateful to the over 85 Open Handset Alliance members who have helped us build the Android ecosystem and continue to drive innovation at an incredible pace. Thanks to their support the Android ecosystem now has over 500 million Android-compatible devices and counting!
Posted by Andy Rubin, Senior Vice President of Mobile and Digital Content
I agree with it in 100%, and also think that those user interface should be optional, meaning that the user would have the choice to have it or not. Maybe manufacturer could provide packages that provide ways to enable those hardware(or only software) features that make that device have the differentiation factor among others.
ReplyDeleteI believe that openness and excess seems to me exaggerated and counterproductive. Not only the launcher, like many other things. The lauchers of each brand should pasar approval by Google in the sense of the experience is not too different and a user does not become disoriented when going from one brand to another. Then we have a serious problem in the building. Each constructor puts the micro USB input and headphone input right where he wants. The result? The brands that build docks audio, do not risk building a dock where the amount of compatible device is reduced. Apple was smart this item. The Android smartphones should have a standard micro USB input where the input and headphones were at the bottom and an equal distance from each other on all devices. Thus and so would almost instantly appear on the market tens or hundreds of audio docks, because builders would know that your dock would serve for all Android devices. In my opinion both inputs should be on the left. Gains would be different. First, it would be different from other competing brands. Second, all of which use a side pocket using the belt could use and listen to music at the same time. Third, an audio dock would allow watching movies and videos. Furthermore, leaving maximum freedom to manufacturers to make Android smartphones, in the case of high-end devices, which are the beacon system Andoid, Google should be able to give your opinion. The Samsung Galaxy S3 is currently the best Android smartphone, if not the best smartphone in the world. But minor changes such as having the frame side in a more noble material such as titanium, aluminum or steel, or until the rear cover on carbon, Kevlar or other metal, the air would hi end that SGS3 should have and have not. Here are those suggestions. I hope I helped.
ReplyDeletethank you