Why there’s no one-size-fits-all approach to developing for the mobile web
There are now more than 5.15 billion mobile phone users in the world today, which means almost 70% of the world’s population has access to some sort of mobile device with access to the web. While many will wield the latest devices with the fastest CPUs, such as the iPhone 11 Pro, the majority of mobile phone owners globally will be using a low- or mid-tier device; in 2019, for example, more than a third of the 1.5 billion smartphones shipped fell into the mid-tier category, and a further 30% were classed as low-end devices.
This means we now have an incredibly broad spectrum of mobile devices, and while mobile CPU performance has become extremely powerful in recent years, the performance of these devices differs wildly. As illustrated by Alex Russell, a software engineer at Google who works on Chrome, Blink, and the broader web platform, mid-tier (~$300) Android devices now deliver the single-core performance of a 2014 iPhone and the multi-core performance of a 2015 iPhone. The cheapest handsets offer performance levels on par with 2012 and 2013 iPhones, respectively.
What’s more, Russell’s graph shows that the gap between the fastest and the slowest phone is getting wider, and the median is in fact going down.
This means that although we’re getting faster flagship phones every major device refresh cycle - the iPhone 11 Pro’s hexa-core Apple A13 Bionic processor is capable of delivering desktop PC levels of performance - it’s important to remember that given the high costs involved in manufacturing these chips, the vast majority of the global population cannot afford to access this kind of computing power, and unlikely will for many years to come. As illustrated by data from NationMaster, while those in Europe and the US have on average upwards of $3,000 in monthly disposable income, those in poorer parts of the world - such as Africa and parts of Asia - have less than $400 to spare.
While flagship devices continue to top popularity lists in the Western world - the Samsung Galaxy S8, which packs an octa-core Exynos 8895 processor, was the most popular Android device in both the UK and US in 2019 - it’s a different story in developing countries. The Samsung Galaxy J2 Prime (a sub-$200 device with MediaTek MT6737T processor) was the most popular device in Brazil, while the Sony Xperia E5 (a $200 handset with a MediaTek MT6735 chip) was the most sought-after handset in Nigeria.
The importance of these low- and mid-tier devices cannot be underestimated. While most - particularly those of us with access to ~$1,000 smartphones - take access to the mobile web for granted, research shows this access has a far more profound impact on those in developing countries; 97% of people in developing countries say mobile web access has been transformative in their lives (versus 78% in the richest countries), 52% say it has been a key change agent for how they work (versus 28%), 40% say that access to the mobile web has improved their earnings power (versus 17%), and 24% use the mobile web for educational purposes (versus 12%).
The impact that having access to the mobile web has on those that typically rely on low-end smartphones, along with the growing performance inequality gap in mobile CPUs, demonstrates that there’s not - and cannot be - a one-size-fits-all approach to developing for the mobile web. This, of course, is not an easy task; many web developers will likely have access to the highest-end devices and perhaps won’t be predisposed to the needs of those who don’t have access to the same levels of processing power, popular libraries such as React.js and Gatsby.js simply won’t do the job, and we’ve become accustomed to developing heavy-weight interfaces that simply are not suitable for low-end devices.
See Gatsbyjs.com performance example
However, we can’t rely on others to do the job for us either. Google and Facebook, for example, both offer solutions catered to low-end devices, but we shouldn’t lean on these companies to provide those in developing countries with access to the world’s information - that’s not good for society or people, and we can’t risk the internet becoming a so-called ‘Walled Garden’ that controls the end user's access to certain websites and services. As highlighted in a recent report from the UK’s Competition and Markets Authority (CMA), these two tech giants accounted for 80% of all digital advertising spending in the UK in 2019, leading to fears they have developed “such unassailable market positions that rivals can no longer compete on equal terms”. You can read our response to the CMA’s report here.
To keep the web open, and to ensure everyone is able to access it, it’s important you consider the models of devices you’re developing for and what levels of performance your users are able to achieve.
Naturally, some will argue against the relevance of exposing a user agent’s ‘Model’. Some Chromium engineers, for example, suggest that Client Hint ‘Sec-CH-UA-Model’ is unnecessary and that “perhaps Sec-CH-UA-Mobile is enough”. Others have raised similar concerns, including the W3C Privacy Interest Group (PING), which recently spoke of the “privacy concerns” associated with browser fingerprinting while failing to mention the many benefits it provides, nor the privacy risks posed by other web standards such as first-party cookies or user authentication mechanisms.
Despite the view held by some that online fingerprinting should be eliminated, it’s important to remember that collecting browser characteristics to create a unique identifier does not allow for privacy violations as it’s not correlated with personal data. What’s more, it’s clear that knowing only the category of device (such as “smartphone” or “PC”), and optimising for certain types of devices, isn’t enough given the widely varying levels of CPU performance.
Whilst privacy is important it should not automatically trump all other considerations such as performance and people’s access to information. A balanced debate is long overdue and essential before dominant vertically integrated trillion-dollar companies unilaterally change the web forever abusing privacy as a veil of legitimacy.