Understanding Google’s Android Go Project from Google I/O 2017

Understanding Google's Android Go Project from Google I/O 2017

Recently, Google officially launched Android Oreo (the Go version, hereinafter referred to as Android Go), which is said to debut in the Indian market next year. What is Android Go? It is a streamlined version of the system based on Android Oreo that has been extensively modified to run smoothly on devices with 512MB or 1GB of RAM. According to Google, it is designed for low-end devices. However, it is intriguing that Google’s Android One, launched a few years ago, was also said to be designed for low-end devices. For more information, you can check the official websites of Android Go and Android One below.

  • https://www.android.com/one

  • https://www.android.com/versions/oreo-8-0/go-edition

In recent years, Google has continuously optimized the Android system, lowering the minimum device configuration requirements. However, news editors often interpret this as low-spec devices being able to run smoothly. I believe this idea is unrealistic. To understand why, we need to first understand the two laws: Moore’s Law and Andy’s Bill Law, as the development of software and hardware in the IT field cannot escape their influence.

The Two Laws

Moore’s Law was proposed by Gordon Moore, one of the founders of Intel, which states: when the price remains unchanged, the number of components that can be accommodated on an integrated circuit will double approximately every 18-24 months, and performance will also double. In simple terms, it means that for the same price, you will be able to buy devices with better performance in the future.

Andy’s Bill Law summarizes the relationship between software and hardware upgrades in the IT industry, which states: Andy gives, Bill takes away. Andy refers to former Intel CEO Andy Grove, while Bill refers to former Microsoft CEO Bill Gates. The meaning of this phrase is that the performance improvements in hardware are quickly consumed by software.

Producers and Consumers

From the perspective of hardware manufacturers, if the system does not effectively utilize hardware performance, the costs of continuing to develop higher-performance devices are unlikely to be borne by users, which may dampen manufacturers’ enthusiasm for research and production, leading to stagnation or even regression in the entire industry. Fortunately, reality does not work this way. From the perspective of software developers, the products they develop need to continuously add more complex functions during version iterations, which will consume the performance provided by the hardware. If we view performance as a resource, then hardware upgrades are about continuously producing resources, while software upgrades are about continuously consuming resources. This can be seen as a typical producer-consumer model.

Taking the Android smartphone market as an example, in the rapidly developing Android smartphone market today, major manufacturers almost launch at least two new models every year, and hardware configurations are getting higher and higher. If software does not consume hardware performance, then the demand for users to upgrade their devices will weaken. Some may argue that since software needs to fully consume hardware performance, smartphone manufacturers would want various poorly performing applications to run on their devices to increase sales. Over time, this would lead to devices aging quickly, and users would continuously have the need to upgrade. This is actually a misunderstanding of the statement that software fully consumes hardware performance.

Firstly, users cannot directly know the quality of a phone’s performance; they must experience it through using applications. If the performance of a particular application is too poor, users will abandon it after use, which is clearly not what software developers want. Therefore, software developers need to continuously optimize the application experience to retain users. If a phone becomes sluggish after installing many poorly performing applications, most users will think the phone’s configuration is too low. Consequently, when they upgrade their devices, they will not choose to buy from that brand again, leading to a loss of users for the smartphone manufacturer. When Android phones first emerged, various applications competed to stay alive, and users received a barrage of push notifications. New phones would become very sluggish after just a year and a half, causing frustration for both manufacturers and users. Later, manufacturers began implementing various anti-bloat strategies when customizing their ROMs, which is why today’s Android phones perform much better than a few years ago. The notion of software fully consuming hardware performance is about enabling software to achieve more complex functions, such as supporting VR, AR, and even AI, rather than indulging in various malicious behaviors.

Myths

Returning to the topic at the beginning of the article, Android Go is merely a streamlined version of the system designed to run on low-spec devices, and its functionality is very limited. To ensure users have a good experience, hardware upgrades are essential. When faced with news that claims the Android system has undergone various optimizations, and that there is no need to worry about phones lagging anymore, we can just smile and move on.

Previous Highlights

  • Openly maliciously defaming programmers, Jinshuju, can you have some dignity?

  • Tencent’s open-source Android UI framework – QMUI Android

  • Open-source compilation: Interesting Android animation interaction design

  • My views on paid knowledge consumption in the internet

If you like my articles, you can follow this public account by long-pressing, and you can also support me by liking and sharing.

Understanding Google's Android Go Project from Google I/O 2017

iOS Appreciation Channel

Understanding Google's Android Go Project from Google I/O 2017

Leave a Comment