Grant Muller

Instagram Gets Surreal

A year ago on a trip to NYC I had the chance to view a piece of art by Jason Salavon that averaged portraits together into one portrait. The results are uncanny. A portrait is so predictable that the shape of the objects and negative space of the painting are so obviously a portrait that even expressed as the average of several it still reads as a portrait. Its as though you took off your glasses and stood far enough away that the face simply became blurred. Salavon has similar works, such as the average of Every Playboy Centerfold, and 100 Special Moments. Kids with Santa is particularly cool:

Kids With Santa

Salavon’s work inspired me to create something similar.

Instagram receives thousands of photographs a day. They’re liked, and some become very popular. Enough so that they hit the ‘most popular’ page on Instagram. I asked, what does the average ‘most popular’ Instagram photo look like? I started by using my client key to download a group of them and average it up with ImageJ. I quickly realized that the most popular list changes. Frequently.

To truly capture what the average most popular photograph on instagram looks like it must be done realtime, at the request of the user and in the moment. I wanted to try some client-side image-processing with Javascript so I set out to create a beautiful time-waster that would allow a user to get the most recent popular photographs on instagram, choose a blend mode, and see the average photo right now. The result was Surrealgram:

Screen Shot 2013-09-30 at 10.48.40 PM

Surrealgram uses my forks of some existing software, like Pixastic and connect-image-proxy, along with a jquery-mobile and backbone interface, with a super-slim node.js backend to handle proxied image requests (until Instagram supports CORS). Technology selection followed the sacred rule of “this is what I want to play with right now”. Using it is simple:

Go to surrealgram.com

The latest ‘most popular’ photos will load automatically. Check out the result.

To get the latest photographs, click ‘Refresh’

To change the blend options, click the toolbar in the top right-hand corner.

optionsbutton

You can adjust the blend mode, amount, and number of pictures.

options

16 is currently the max, but I’m working to get that up without angering the instagram infrastructure.

Save your photo. This can unfortunately only be done on a desktop browser for now.

It was a few hours of work, but its become and addiction to play with. Check out some of my surrealgrams:

DogBridge

Flight

Sunglasses

I have some additional features planned if I can find the time to implement them:

  1. Share to Facebook, Twitter, Tumblr, blah blah blah.
  2. Allow users to search by hashtag
  3. More pictures!

The code is under active revision, you can find it here