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:
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.
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.
You can adjust the blend mode, amount, and number of pictures.
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:
I have some additional features planned if I can find the time to implement them:
- Share to Facebook, Twitter, Tumblr, blah blah blah.
- Allow users to search by hashtag
- More pictures!
The code is under active revision, you can find it here