What to consider when building for mobile

Just a guy who loves to write code and watch anime.
Search for a command to run...

Just a guy who loves to write code and watch anime.
No comments yet. Be the first to comment.
Qualities that make outstanding builders.

Bipedal vs quadrupedal: how many legs This is about the number of legs the creature walks on. Bipedal. Two legs. Humans, ostriches, T-rex, kangaroos, most fantasy humanoids. Quadrupedal. Four legs. Do

Intro You hear "lerp" and "smoothstep" everywhere in game dev. They sound like math jargon. They're not. Both are small tools that do the same job: smoothly move from one value to another. The problem

What is Kinematics Kinematics is the math field. It's the study of how things move without worrying about forces (which would be dynamics). FK and IK are the two branches: forward kinematics and inver

Intro Textures are usually the biggest cost in a 3D scene. Memory, bandwidth, and load time all get eaten by them. Resizing them is the obvious lever. There's more. This post is about the less obvious

Mobile users switch between WiFi and cellular all the time. They might be in an elevator, on a train, or in a rural area. This means their connection comes and goes.
In many countries, users pay for each MB of data they use, which is another thing to keep in mind.
PS. This is also why SSR is good for mobile. All they need initially are HTML and CSS to start seeing things. As opposed to an SPA where once you get the JavaScript on the client, you start by fetching the initial data.
Phones run on batteries. Each animation, background process, and network request drains that battery. Users notice when an app makes their phone hot or kills their battery.
Fun fact: Modern browsers support checking battery via navigator.getBattery().
Phones also have less memory than computers. They can't keep tons of posts in memory like a desktop web app might.
People use phones differently than computers. They often use apps one-handed, while walking, or on a bumpy bus ride. Sessions are shorter but more frequent. Think of yourself opening Twitter throughout the day (not me ofc 🤣).
Think about using your phone on the train, you might check it for 2 minutes, put it away when your stop comes, then check again later.
Most people hold their phones at the bottom and use their thumbs. This means the bottom of the screen is easy to reach, but the top isn't.
Important buttons should be where thumbs can easily reach them.
Phone calls, text messages, and notifications interrupt users all the time. Your app needs to handle these gracefully.
When users come back to your app, they expect it to be right where they left off. When you close and open Twitter again, you're still on the same place of the feed.
Phone screens are small. Every pixel matters. You can't show as much content as on a desktop.
This means you need to prioritize. What's the most important thing users need to see? Show that first.
The goal is to show what's important and not confuse the user.
On desktop, you can hover over things. On mobile, you can't. Buttons need to be big enough for fingers to tap accurately.
Think about trying to tap a tiny link, it's frustrating. That's why mobile interfaces need bigger touch targets.
People use phones everywhere, bright sunlight, dark rooms, crowded trains. Your app needs to work in all these situations.
Colors need enough contrast to be readable in sunlight. Text needs to be large enough to read while walking.
iOS and Android users expect different things. Android has a back button, iOS doesn't. Sharing works differently on each platform.