Improving Web Performance over Low-end Smartphone in the Developing World
Mobile Internet access has become increasingly common in developing countries. According to the International Telecommunication Union. Despite the rising popularity of mobile Internet access in such regions, anecdotal evidence suggests that the common use of low-end smartphones and slow network connections often leads to poor user-perceived performance. Even worse, frequent memory bloat incidents (e.g., due to JavaScript allocating large objects) can lead to stalls and even crashes of web pages and other running applications (e.g., mobile browser). In this project, the aim was to (i) understand how low-end smartphones, commonly available in developing regions, impact user-perceived performance, (ii) identify bottleneck resources (e.g., memory, CPU, and network) in the page load process and understand how these bottlenecks may change over time based on device characteristics (e.g., memory sizes), network connectivity, and the web page structure and (iii) develop client-side techniques for optimising web performance by throttling the usage of memory-heavy resources (e.g., JavaScript) and processes.