Poisson d'avril

April 02, 2004 11AM PST

Yesterday’s little prank seems to have gone over well. Interestingly, I never thought for a second we’d genuinely confuse anyone, but it sounds like a lot of that went around. Hard to say why it worked so well, I guess you take for granted a site’s chrome once you’ve visited enough. Thanks for being good sports about it, it was plenty of fun.

Doug has followed up with a detailed account of the steps we took, so here are a few notes of my own.

The Idea

We did start discussing this in January. A quick attempt back then showed us that it wasn’t impossible, but it would prove a little more difficult than simply swapping CSS files. And so it sat; busy lives, busy people.

We were supposed to take it further at SXSW, but between madly preparing for our Monday panels and the subsequent relief and enjoyment immediately following, we lost focus.

Cut to this past weekend, where we picked up again. I believe ‘down to the wire’ was the phrase that Doug originally used to describe our timeline. So true; I spent the past few evenings hacking imagery and swapping markup.

How did we go about it?

We initially thought about swapping CSS files. The net effect would have been a site-wide redesign for the day. Theoretically possible (you may not have realized it, but we’re both big fans of separate structure and presentation), but it proved to be more time-consuming than either of us were prepared for. It’s just a joke after all, not a critical business proposition, so we decided to minimize the time involved.

Instead we grabbed static archives of our home pages and hacked away. I caught myself modifying the markup structure quite a bit, and at one point almost decided to just drop my content in Doug’s structure and be done with it. In the end I ended up with a hybrid mix between my site and his markup-wise, and the CSS files are completely customized for this little project alone.

I should note that while our markup structure is different, some of that is because I feel my own structure is inherently wrong in spots. (My heading order in particular: post titles are <h3>’s, which just feels wrong now. Fixing that will have to wait for a redesign.) In other cases, we just have different pieces of content that demand different structure. You can’t standardize that which isn’t standard, after all.


I had to go back to my original .PSD files to re-create the graphics which was itself a challenge. The files go back to last year and due to gamma corrections and content adjustment along the way, they’re terribly out of synch with what’s currently on the site.

Another problem is my graphic editing policy, in that I have none. Editing one of the striped headers on the right involves opening up a previous one, blanking out the text, overlaying new text, and saving a new GIF. I have no problems with this process because I have a plethora of tricks to combat image degradation, but I know some of my processes are quirky and not conducive to later work by other designers. I ended up sending my original mockup PSD to Doug, for which I apologize: hey, if nothing else you got to see how bad it really is!


The home page redirect was easy. I added this to my root .htaccess file:

Redirect index.php 

Which basically directed all requests for the home page on to the permanently archived ‘cover’ spoof page. Since all the links on that page pointed back to real content on the site, it effectively functioned as this site’s home page for the day.

This is the way I’ve done it for past covers on Remembrance Day and Christmas last year. It’s how I’ll continue to do it for any covers in the future; I like the method because you can be sure as soon as seeing the page/URL that a) it’s not the home page, and b) you can link to that page without expecting it’ll change. Cool URIs don’t change, after all.


We launched about 10:30pm West Coast time on the 30th. Doug had gone quite a bit further than I by spoofing his individual post/comments page too. Jumping from my spoofed home page to my ‘real’ comments page for the post was disorienting, because two different styles were going on. Doing the same on Doug’s site was seamless. And jumping back and forth between two visually identical comments pages was too much. Clearly I had to do something.

A mad rush of CSS coding to pull the extra style back in for the forms (I stripped a bunch originally since it wasn’t needed), and a ton of Googling to aid with the redirects, and I finally got my own comments page working around 11:30 or midnight or so. Some of you saw the comments page before this happened. Oh well.

The Movable Type setup to do that was actually pretty easy. I created a new individual entry archive, and in my weblog config I added it to the existing one — the key here is to realize that even though you only set one default archive template, MT generates all templates you’ve attached. I didn’t know this until Doug told me how he set up his; it’s going to come in handy for more than just this one project.

So once MT was generating two templates, one for ‘regular’ posts and one for ‘April Fool’s’ posts (yes, this means I now have a second joke file for all 250-odd posts on my site I’ll have to clean up), the trick was redirecting just the one post on to the new file. I looked into .htaccess again, which Doug was apparently able to use, but for whatever reason I couldn’t get it working. In MT I threw into my standard template a custom PHP script that redirected if and only if the title of the post was ‘Sickening’. That did the trick. I considered leaving that one post formatted with the spoof template from now on, but instead we’ve both archived the post pages.


No doubt what aided the confusion is the RSS variable. Because a lot of people are reading our sites from newsreaders instead of in a browser, we figured the joke would be perpetuated/lost on some if they didn’t click through. We both worded the posts as salaciously as we could to encourage clicking. I ended up temporarily rigging MT to stop producing a new feed, and I hacked the URLs to point to the spoofed page as well. Some may not have got the full effect, and I’d hate to think there are some out there who now think Doug is a thief, albeit a highly-capable one, but I’d imagine it’s safe to assume most are in on the joke by now.


And the last piece of the puzzle was taking it all down after 24 hours. Easy as anything — I removed the home page redirect, dropped the PHP from my templates, re-established the RSS feeds, and now we’re back.

It was a fun little experiment, and if nothing else I’ve taken away the itch to finally finish the redesign I’ve had brewing for six months or so. We’ll see how that goes. Thanks for the laughs, and a big thanks to Doug for playing along.