« Case Study on Scaling PaaS infrastructure | Main | Thesis: Concurrent Programming for Scalable Web Architectures »
Thursday
Jun072012

3 Secrets to Lightning Fast Mobile Design at Instagram

In Secrets to Lightning Fast Mobile Design, Instagram co-founder Mike Krieger shares three strategies Instagram uses to outsmart high latency mobile networks and make mobile apps feel faster than they really are, which helped Instagram reach 12 million users in 12 months:

  • The motivation: "mobile experiences fill gaps while we wait. no one wants to wait while they wait"
  • Perform actions optimistically. Make the user feel productive. Likes, comments, and follows are registered on screen while the like operation is being sent in the background. 
  • Adaptively preload content. Load content before it's needed. Don't images according to time, it will take too long, instead re-prioritize based on interest. Show what the social network things is the most popular. Listen to what your user's flicks and taps are telling you.
  • Move bits when no-one is watching. Picture uploading starts before you share them, most apps wait until after the share screen. The rule is send data as soon as it's ready, then match it with user actions later. This doubles the number of requests, but the perceived performance is improved, even if a cancel is sent out later. Data is deleted on a cancel.

Smart and simple.

Related Articles

Reader Comments (5)

" Picture uploading starts before you share them, most apps wait until after the share screen. The rule is send data as soon as it's ready, then match it with user actions later"

so instagram is using my cell phone bandwidth to upload photos I may not choose to share? This may be nice for Instapgram's perceived speed, but as a user I am not amused.

June 8, 2012 | Unregistered CommenterGeoff

I think it rather means that the actual upload and the share screen (where you type stuff) are asynchronous to each other

June 11, 2012 | Unregistered CommenterDominik Jungowski

Does anyone know what servers they use?
and for the server side code, is it python or php?

June 19, 2012 | Unregistered CommenterAmie

@Amie You can read the following article that talks about what powers Instagram. It makes an interesting read for technically inclined.
What Powers Instagram
http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of

June 22, 2012 | Unregistered CommenterShrinidhi Shastri

"Picture uploading starts before you share them"
This can have a privacy/user trust concern.

October 9, 2020 | Unregistered CommenterRashmi

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>