✍️ Essay
✓ Link checked
Free
Advanced
Why we picked it
Alex Russell, a Chrome engineer, puts hard numbers on what most of the world's phones can actually do, and the gap between them and the laptop on your desk is brutal. He picks a specific budget Android device and a slow network as the baseline you should build to, then shows how much JavaScript and page weight that budget really leaves you. If you only read one thing to recalibrate your sense of what is fast, read this.
From
Infrequently Noted (Alex Russell)
by Alex Russell
Long read
- A quarter of your users are on devices slower than the baseline you should target
- Set an explicit byte and CPU budget per screen, then hold the line
- The fastest device in the room is a terrible proxy for your real user
Open
infrequently.org →
📄 Article
✓ Link checked
India
Free
Intermediate
Why we picked it
Flipkart serves exactly your users, many on 2G in smaller Indian cities, and this case study shows a fast mobile web app tripling time on site versus their old mobile experience. It is proof that a light web page can win in low bandwidth conditions where a heavy native app struggles. Useful data to counter the reflex that real products need an app.
From
web.dev (Google)
- 63% of users arrived over 2G, so speed mattered most
- The fast web app tripled time on site
- Add to home screen gave app like access with no install
Open
web.dev →
📄 Article
✓ Link checked
Free
Intermediate
Why we picked it
A small download is the first thing a data conscious user notices, and the official guide is the practical how to: app bundles, R8 shrinking, WebP images, vector drawables, and stripping unused resources. Each technique is a real megabyte off your install size. Work through it once and your app becomes a lighter, easier yes for someone counting their data.
From
Android Developers
by Android Developers
Reference
- Publish an Android App Bundle so users download only what their device needs
- Convert images to WebP and use vector drawables to cut resource weight
- Run R8 and remove unused resources to shrink the code itself
Open
developer.android.com →
📄 Article
✓ Link checked
Free
Intermediate
Why we picked it
This is the developer side of the entry level phone: an OS tuned for 4GB RAM and under, with guidance on optimizing your app to run smoothly there. If a real slice of your users are on Go edition or similar low RAM devices, this tells you the hardware limits you are actually designing against. Pair it with the app size guide for a full low end checklist.
From
Android Developers
by Android Developers
Guide hub
- Know the RAM and storage floor your real users live on
- Test on a low RAM device, not just an emulator on a fast machine
- Optimize startup and memory so the app does not get killed in the background
Open
developer.android.com →
📄 Article
✓ Link checked
Free
Beginner
Why we picked it
Facebook made its engineers spend an hour every Tuesday on a simulated 2G connection so they would feel what most of their users feel. The lesson is simple and worth stealing: you cannot design for a slow network you never experience. Read it, then make throttled testing a habit on your own team.
From
Engineering at Meta
by Meta Engineering
Short read
- You build better when you regularly use your product on a bad connection
- On 2G a single page can take a minute or more to load
- Make slow network testing a routine, not a one off before launch
Open
engineering.fb.com →
📄 Article
✓ Link checked
Free
Advanced
Why we picked it
Instead of shipping the same heavy page to everyone, you can detect the connection and serve lighter images or defer non essential loads on slow links. This guide shows how using the effective connection type signal, with code. It is the practical route to one product that behaves well on both a fast and a 2G phone.
From
web.dev (Google)
by Google Chrome team
15 min read
- Detect slow-2g, 2g, 3g, or 4g and adapt what you send
- Serve low resolution media and defer big downloads on weak links
- React when the connection changes rather than deciding once at load
Open
web.dev →
📄 Article
✓ Link checked
Free
Advanced
Why we picked it
A focused, code first companion on reading the user's connection (and even their data saver preference) and adjusting what you load. Osmani keeps it concrete: swap a video for an image, skip a preload, respect someone who has asked to save data. Handy when you want the exact API and a working pattern rather than the concept.
From
AddyOsmani.com
by Addy Osmani
12 min read
- Respect the user's explicit data saver preference when it is set
- Downgrade heavy media gracefully instead of blocking the page
- Adaptive loading keeps one codebase working across network conditions
Open
addyosmani.com →
📄 Article
✓ Link checked
Free
Beginner
Why we picked it
This is Google's own field research on building for people coming online in markets like India, and it names the exact constraints you are up against: a 40 to 60 dollar phone with 512MB of RAM, a network that flips between 3G, 2G and nothing, and 250MB of prepaid data for the whole month. It is the clearest single primer on why a metro-built app breaks for a first-time user, and it stays concrete instead of preaching. Read it as a starting point for how you scope features, not as a checklist to blindly copy.
From
Google Design
by Google Design (Next Billion Users team)
~12 min read
- Assume slow or intermittent connectivity as the default state, not the exception: design offline-first and let the app degrade gracefully when the network drops.
- Data is expensive and rationed, so every megabyte you ship (heavy images, autoplay, background sync) is a real cost the user notices.
- Many users are new to touchscreens and English, so patterns you take for granted (swipe, hamburger menus, English CTAs) need rethinking for people building outside the big startup hubs.
Open
design.google →
✍️ Essay
✓ Link checked
India
Free
Intermediate
Why we picked it
Before you optimize a byte, you need to know who you are building for, and Pai's India1, India2, India3 framing is the clearest map of the Indian market you will find. He explains the English tax and why the vernacular, low trust, price sensitive India2 user behaves so differently from the metro user founders usually resemble. This is the market context that makes the technical advice matter.
From
SajithPai.com
by Sajith Pai
Long read
- India is several distinct markets, and India2 is not a smaller India1
- Language and trust barriers can matter more than raw speed
- Design in the user's own language rather than translating English later
Open
sajithpai.com →
📄 Article
Free
Intermediate
Why we picked it
Every kilobyte of JavaScript costs far more on a cheap phone than on your machine, because the phone has to download it and then grind through parsing it on a weak CPU. Osmani shows the 2 to 5x difference in parse time between a flagship and an average phone, and gives concrete ways to ship less. This is the case for keeping your app light, backed by measurements rather than opinion.
From
Addy Osmani (Dev Channel, Medium)
by Addy Osmani
20 min read
- Download size and CPU parse time both punish low end devices twice over
- Ship less code first, then defer and split what remains
- Measure on a real budget phone, not on your dev machine
Open
medium.com →
📄 Article
India
Free
Advanced
Why we picked it
A first hand engineering account of why Flipkart, an app first Indian company, rebuilt the mobile web to reach users on weak networks and low end phones. It is candid about the constraints your users live with and the tradeoffs the team made. Read it when you want the practitioner view, not the case study gloss.
From
Medium (Progressive Web Apps)
by Aditya Punjani
- An app first Indian company chose to reinvest in the web
- Low end phones and weak networks drove the decision
- Real tradeoffs from a team serving your exact users
Open
medium.com →