27 comments

[ 10.9 ms ] story [ 120 ms ] thread
LOL I'm using gogo inflight and it gave me a comic about Chicago.. Seems a couple dynamic frames or static based on geoip?
View source you can see each panel is a different frame and a little note in the source:

title="Umwelt is the idea that because their senses pick up on different things, different animals in the same ecosystem actually live in very different worlds. Everything about you shapes the world you inhabit--from your ideology to your glasses prescription to your web browser."

It's quite an impressive effort. Works on user-agent, referer, or geolocation (or possibly a mix)
Also, browser window width.
The amount of preparation work that must have gone into this is admirable. There are so many variations!
Here's a direct link for anyone who hasn't seen the comic yet. Try it on your mobile network and on different browsers

Valid for today: http://xkcd.com/

I got the snake one, which changes as I resize the browser window. I was pleased to see somewhere along the snake was the elephant it had eaten.
I started ready The Little Prince earlier this morning for the first time. The snake + elephant were in the first version of the comic that I saw. My mind was surely the most boggled of any visitor.
I fired up Chrome's dev tools to figure out how it works.

The JS that's doing the work is at http://imgs.xkcd.com/static/waldo.js. On page load, it sends a GET request to http://umwelt.xkcd.com/story/ghenkEggov8 with params w for the browser width in pixels, h for the height and r with the referrer. The rest of the qualifiers (geoloc and browser (user-agent)) can be determined on the server-side.

As a response, you get back JSON with the alt-text, image URL, and positioning info, which is then used to fetch and position the image.

Fun fact: the server-side is written in Haskell:

  $ wget -S http://umwelt.xkcd.com/story/ghenkEggov8
  --2012-04-01 11:26:41--      http://umwelt.xkcd.com/story/ghenkEggov8
  Resolving umwelt.xkcd.com... 208.118.225.100
  Connecting to umwelt.xkcd.com|208.118.225.100|:80...  connected.
  HTTP request sent, awaiting response... 
    HTTP/1.1 200 OK
    Server: Warp/1.1.0.1
    Content-Type: application/javascript
    Access-Control-Allow-Origin: *
    Transfer-Encoding: chunked
    Connection: close
http://hackage.haskell.org/package/warp/

Well done Randall and davean.

Is the IE9 version supposed to be a light at the end of a tunnel?
Safari seems to get the same thing, so probably not. When I saw it the phrase that came to mind was "cosmic sphincter".
It's fantastic, and I enjoyed the different combinations. But I don't really get the one I get, the white disk on black thing. White light at the end of the tunnel? The alt-text doesn't really help me, either.
Yeah, that's the only one I can get too, with either of my regular browsers and no matter who the referrer is. No clue.
Probably the default.
This guy's dedication continues to astound me.

Apparently he's still changing things - people who complain on the forum thread have noticed a few hours later that relevant fixed have been made.

(Also, I wonder how much was done by rpm and how much by davean.)

Tried Opera and Safari on the Mac and got a broken plugin graphic with "There does not exist - nor could their ever exist - a plugin capable of displaying this content"

alt text is "Umwelt is the idea that because their senses pick up on different things, different animals in the same ecosystem actually inhabit very different worlds."

Surprised there's no Wikipedia addition to Umwelt after today's xkcd. Or maybe there is but I just don't see it.
I See (Or perhaps a different sense) what you did there.
This should be an exhibit in a museum of modern art.

It gives people a taste of the "post-PC" world we are evolving towards. And there are some deeper stuff, too.

I would certainly count this as a great piece of art, not modern, not post-modern, just current.

Well done XKCD guys (and gals).