Skip to content

Building apps that work well on everyday phones

Not everyone has a new flagship phone and fast Wi-Fi. The principles we follow to keep apps fast and useful on budget Android phones and slow networks.

/ 1 min read

Many people use budget Android phones with limited storage and memory, and mobile data that is slow or costly at times. An app that feels smooth on a developer's new phone over office Wi-Fi can be slow, heavy and frustrating for them. We design for those conditions first.

Keep the download small

A large app takes longer to download, uses more data and competes for storage with photos and messages. Every library has to earn its place. Compress images, load features only when they are needed, and check the install size on every release.

Work offline when it makes sense

Connections drop. A study app should still open saved lessons on a bus, and a notes tool should save your work and sync later. Keeping the important parts on the device makes an app dependable instead of fragile.

Respect the user's data

  • Load lower-resolution images first, and fetch larger ones only when needed.
  • Avoid background downloads the user did not ask for.
  • Cache what has already been fetched instead of downloading it again.
  • Say clearly when something will use a lot of data, such as a video.

Test on real, modest devices

Emulators and new phones hide problems. Testing on older, lower-cost Android phones with a throttled network shows what people will actually experience: start-up time, scrolling, battery use, and how the app behaves when memory runs low.

Make Bangla look right

Bangla needs proper text shaping for conjuncts and vowel signs. Check every screen in Bangla, with the fonts that ship on common phones, and make sure nothing is cut off when a Bangla label runs longer than its English version.

Small, fast and honest

None of this is new. It is simply easy to skip when the people building an app use fast devices. Software is one of our research focus areas, and not skipping these steps is what that focus means in practice.

More from the blog

All posts