In his Secrets to Lightning-Fast Mobile Design presentation at the Warm Gun conference in San Francisco, CA Mike Krieger shared some of Instagram's secrets for lightning fast mobile app designs. Here’s my notes from his talk.
- Instagram reached 12 million users in 12 months on their iPhone app.
- The company’s slogan is fast, beautiful photo-sharing. Many people associate the service with beautiful but fast is probably the more important part and has lead to their astounding growth.
- Mobile experiences fill the gaps while we wait. Nobody wants to wait while they wait. Mobile needs to be fast.
- To make things on mobile feel really fast you need to invest in back-end and front-end design –in design and engineering. Design can be a speed feature.
- Perform options optimistically. Latency is likely to slow things down on mobile yet you want to make people feel productive. On Instagram, the like button turns red instantly when you tap it then the request gets sent. The same thing happens with following and leaving comments –people are instantly rewarded.
- In some cases your request will fail, deal with it then rather than up front as a delay.
- Adaptive pre-loading: think ahead of things and learn from what users are doing. Instagram used to load the entire page of photos in order. This is what the browser does naturally. Now they re-prioritize based on interest (where someone scrolls). This is a design decision you need to think about up front.
- Listen to what people are telling you with their taps and swipes. Mobile is like a magnifying glass on a small set of content and actions.
- Move bits when no one is watching. When someone hits the sign-up screen, suggested users are pulled up in the background. It will take users 20 seconds or so to sign up. You can move lots of bits around during that time.
- Upload is what got people most excited about the speed of Instagram early on. Most apps upload only after they have all the info they need. Instagram uploads right away while you fill in the rest of the information about your photo like captions and location. This is a non-optimal engineering solution but it makes the app feel much faster. It’s worth it even if you throw the photo away.