Inside Instagram

Everybody knows that socialnetworking services thrive on constant interaction with a large and diverse community of users. The smartphone-based photo-sharing app Instagram has taken only two years to master this, securing over 50 million snappers worldwide and a highly publicised $1 billion (£638 million) takeover by Facebook.

A picture of cakes before Instagram processing.

Ironically, given its value according to Facebook, Instagram runs on a version of the free Linux operating system Ubuntu. Free doesn’t mean limited though: Instagram’s services are delivered by over 25 64-bit computers with powerful processors, each connected to the same server infrastructure that supports Amazon’s websites.

And the same picture after Instagram processing.

Day and night these computers manage the mass of descriptive information, or metadata, in user profiles and photos using another piece of free software called PostgreSQL. This database system gives Instagram users on-demand access to specific data, such as photo locations, using keywords and hashtags.

At the frontend, the Instagram app allows uploaded photographs to be modified using filters that produce effects such as converting colour to black and white or boosting contrast. When a user picks a filter, Instagram runs a mini-program called a script. This employs mathematical algorithms that determine which colours the pixels in a picture should be to create the desired result.

Instagram can even expand beyond the app thanks to its application programming interface (API). The API is essentially a software socket that allows third-party programs to plug in to core information including image metadata and tags. The results include cool extensions like This is Now (http://now.jit.su), a website delivering real-time feeds of Instagram photos from major cities around the world.

Written by Michael Simpson.