Posts Tagged ‘rainbow’

Real-Time Flickr Pandas

Sunday, March 8th, 2009

I am constantly monitoring the Flickr API documentation pages for changes (let’s just say me and a couple of friends have been pounding the Flickr API quite a lot for the last three years or so).

About a month ago, I got a notification about two new methods about Pandas. WTF? Oh, cute panda, nice photos, maybe Yahoo emplyees have extra time on their hands.

I sent a question to Shamir Ramjan, the “Flickr guy for France” I know from Twitter:

What is flickr.panda.getPhotos? looks like an API easter-egg with pandas instead of rabbits… 

His initial reply was 

it’s public? this api call is linked to this mystical proj » http://spedr.com/2k791

I thought maybe Flickr is using some kind of an automated API documentation Zebra which uses reflection to produce the pages, but from what I’ve heard, Flickr’s PHP code does not even use classes (for performance reasons).

hmm anyway it’s available but I guess it’s not helpful at all w/o any documentation for 3rd party dev who need to Explore flickr.

 

Very suspicious. Flickr are up to something. From clues spread around the site and a little bit of JavaScript Beautifying, I figure there is a new set of API methods for pushing (real-time?) photostreams – currently under testing.

The new Flickr: Panda Explore page (screenshot above) displays a constant stream of photos… animated on top of “pandas vomiting rainbows” (according to the tags of the original photo). Below the photo, what appears to be a photo-credit link is actually two links.

Of Pandas and Rainbows” by “The Searcher” is the original photo the poor vomiting pandas were taken from, and a very touching call-for-action to “improve Explore” by not playing “you have to post 2 comments before adding to this group” anymore (Meh). Then the story continues to describe Magic Donkeys behind the Interestingness algorithm, selecting 500 interesting photos out of 7.2M a day (5K photos/min) [the Interestingness algorithm is actually much more dynamic and complicated than that] and ends with the real teaser. Why Pandas. If Explore is done by Donkeys. What’s Panda gotta do with it? “That’s a whole other secret.

The second link, naturally, brought me to the artist, The Searcher, aka Derek Chatwood. Derek is an amazing visual artist (I remember StumblingUpon his quite controversial political illustrations during the presidential campaign). My Interestingness level was rising.

Flickr and ImageKind have partnered up, so I have a small gallery of prints at ImageKind to share with everyone. and by “share” I mean “sell”. But I’ve kept the mark-up to a minimum, I mostly just want people to be able to get quality prints of my artwork, and they do exceptional work. So it’s all about you, basically.

I’m not really sure Flickr and ImageKind have officially partnered up, but there is nothing wrong in making money from these really fine illustrations, and it sounds like everybody wins (hat tips to everyone).

 

I went back to the vomiting pandas and the clues, and tried to figure out what this stream of images is. The flickr.panda.getPhotos is supposed to

Ask the Flickr Pandas for a list of recent public (and “safe”) photos.

Hmm. I’ve tested several of the photos, and none of them were featured in Explore. They weren’t all recent either (some were posted over a year ago). They don’t have extra-ordinary number of views or interactions. The only thing common was that they all looked aesthethic. They looked like “Explore Material” (this one was particulary nice to look at, but I wouldn’t consider it “safe”). What are the Flickr engineers testing here (except for the obvious load on their new JSON-pushing servers)?

Thinking of it, Shamir’s reply sounds a lot like a call for some hacking to get done.

 

Update: Must have missed that official Flickr explanation about the thing. Turns out these APIs are used to get recently interesting and recently geo-tagged photos. And they can’t guarentee the safety of the results.
What pushed me off track even more was the use of undocumented API methods like
flickr.streams.getStream in the Panda code.

Still, was fun playing detective and I think there is potential here for using the same API to enable pushing custom sets of photos in real-time (e.g. taken right now at a specific venue).