TY - JOUR
T1 - JSAnalyzer
T2 - A Web Developer Tool for Simplifying Mobile Web Pages through Non-critical JavaScript Elimination
AU - Chaqfeh, Moumena
AU - Coke, Russell
AU - Hu, Jacinta
AU - Hashmi, Waleed
AU - Subramanian, Lakshmi
AU - Rahwan, Talal
AU - Zaki, Yasir
N1 - Publisher Copyright:
© 2022 Association for Computing Machinery.
PY - 2022/11/16
Y1 - 2022/11/16
N2 - The amount of JavaScript used in web pages has substantially grown in the past decade, leading to large and complex pages that are computationally intensive for handheld mobile devices. Due to the increasing usage of these devices to access today's web, and to accommodate the needs of a large number of mobile web users who solely rely on low-end devices, we propose "JSAnalyzer,"an easy-to-use tool that enables web developers to quickly optimize JavaScript usage in their pages and to generate simpler versions of these pages for mobile web users. JSAnalyzer is motivated by the widespread use of non-critical JavaScript elements, i.e., those that have negligible (if any) impact on the page's visual content and interactive functionality. JSAnalyzer allows the developer to selectively enable or disable JavaScript elements in any given page while visually observing their impact on the page to (1) accurately identify any non-critical JavaScript elements and (2) create a simplified page with these elements removed. Our quantitative evaluation shows that, given a low-end mobile phone, JSAnalyzer achieves an increase of nearly 90% in Google's lighthouse performance score while reducing the page load time by 30%. A qualitative study of 22 users shows that the lighter pages produced by JSAnalyzer maintain more than 90% visual similarity compared to the original pages. Moreover, JSAnalyzer was evaluated by 69 developers, showing that it scores nearly 90% in terms of usefulness and usability while retaining the page's content and functionality. Finally, we show that JSAnalyzer outperforms state-of-the-art solutions in terms of timing speedups and resource savings.
AB - The amount of JavaScript used in web pages has substantially grown in the past decade, leading to large and complex pages that are computationally intensive for handheld mobile devices. Due to the increasing usage of these devices to access today's web, and to accommodate the needs of a large number of mobile web users who solely rely on low-end devices, we propose "JSAnalyzer,"an easy-to-use tool that enables web developers to quickly optimize JavaScript usage in their pages and to generate simpler versions of these pages for mobile web users. JSAnalyzer is motivated by the widespread use of non-critical JavaScript elements, i.e., those that have negligible (if any) impact on the page's visual content and interactive functionality. JSAnalyzer allows the developer to selectively enable or disable JavaScript elements in any given page while visually observing their impact on the page to (1) accurately identify any non-critical JavaScript elements and (2) create a simplified page with these elements removed. Our quantitative evaluation shows that, given a low-end mobile phone, JSAnalyzer achieves an increase of nearly 90% in Google's lighthouse performance score while reducing the page load time by 30%. A qualitative study of 22 users shows that the lighter pages produced by JSAnalyzer maintain more than 90% visual similarity compared to the original pages. Moreover, JSAnalyzer was evaluated by 69 developers, showing that it scores nearly 90% in terms of usefulness and usability while retaining the page's content and functionality. Finally, we show that JSAnalyzer outperforms state-of-the-art solutions in terms of timing speedups and resource savings.
KW - Mobile web
KW - non-critical Javascript
KW - user experience
UR - http://www.scopus.com/inward/record.url?scp=85141438031&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85141438031&partnerID=8YFLogxK
U2 - 10.1145/3550358
DO - 10.1145/3550358
M3 - Article
AN - SCOPUS:85141438031
SN - 1559-1131
VL - 16
JO - ACM Transactions on the Web
JF - ACM Transactions on the Web
IS - 4
M1 - 3550358
ER -