Two weeks ago, I summoned the Lazyweb for a way to automatically generate a slideshow of Wikipedia revision history. I wanted it so badly, I offered $50. Other people felt the same and kicked in an additional $200 (among other nice prizes)!
Four outstanding entries were entered: Dan Phiffer’s Wikipedia Animate, Corey’s WikiDiff, John Resig’s AniWiki and Colin Hill’s BetterHistory.
The winner? Dan Phiffer’s Wikipedia Animate. (If you haven’t used it, watch Jon Udell’s brief screencast to see it in action.)
Although John Resig’s AniWiki entry had several innovations, Dan wins because of the elegant Wikipedia integration and the ease of use. Dan’s entry was the first to use a slider for navigation, allowing you to scrub across revisions with changes reflected in real-time, and I like the ability to switch between selected arbitrary ranges using the existing Wikipedia buttons or the entire revision history. It looks like a seamless part of Wikipedia. He’ll receive $200, one Flickr Pro account, a $20 Threadless gift certificate, and the Socialtext Starter package.
Second place goes to John Resig’s innovative AniWiki. Although I didn’t like the slideshow navigation as much, I was blown away by his graphical chart of activity over time and the visual diffs written entirely in Javascript. (Dan Phiffer later incorporated John’s Javascript diff algorithm into his own code.) For his excellent work, John will receive $50 and a Flickr Pro account.
These scripts raise an interesting question about the ethics and etiquette of user scripts, since they all generate multiple page requests to Wikipedia. There was some debate about this on the Greasemonkey discussion list.
I think Dan’s entry was an excellent compromise, as the only one that doesn’t automatically load any extra pages without explicit user action (i.e. clicking a button). Not to pick on Corey’s otherwise excellent entry, but the Greasemonkey script loaded (at least) 30 revisions in the background when viewing every Wikipedia entry, whether you wanted the history or not. No matter what the solution, anyone animating the history of a wiki entry with hundreds (or thousands) of revisions could seriously impact the server’s performance. What’s great for users isn’t always great for the website creator.
Anyway, thanks to everyone for participating. Go, Lazyweb!
Congrats to Dan!
“It looks like a seamless part of Wikipedia.” – I completely agree, he did an excellent job creating a highly useful tool. I hope to see lots of updates in the future!
An excellent contest resulting in a really fun tool that has already reduced my productivity, and threatens to make it worse.
Thanks for the great work.
Thanks everyone! It was a lot of fun.
I managed to totally miss those discussions on the Greasemonkey mailing list, but I wonder if a partial solution might be to provide some kind of history export mechanism. At least this would allow people to host the animations on their own bandwidth rather than on Wikipedia’s.
Awesome script, Dan! I like it so much I’ve kept it running alongside my entry. ; ) The others are great too, but I like how unobtrusive yours is.
There actually is a sort of “history export” at this page already. If you uncheck the box below the text area, it returns all the current and older revisions in XML format. Downloading that could decrease the load on Wikipedia’s servers, because it wouldn’t be necessary to render the wikicode as html. On the other hand, I can imagine articles like “George W. Bush” being hundreds of megabytes. Every time someone vandalizes the page, it makes another copy. I’m pretty sure the exports are compressed, though.
Also, I should mention that the bit about the excessive page loads isn’t 100% correct. BetterHistory doesn’t change the displayed revision unless you drag the slider, so it makes the same number of requests as the usual interface. It doesn’t animate either, though. (It didn’t seem important when everyone else did that so well!!)
At any rate, great scripts, everyone.
I’ve had a great time toying with these scripts, thanks guys.
In partial response to the server-load issue, it should be noted that you can just download the entire old history, which is only a 35 gigabyte file (~50 blown up), and install it on your own computer (which i’ve done).
Certainly, WP has more bandwidth than CPU atm…but really…is it offset by that much?
oh wow these scripts are amazing. i love all of them for their own mannerisms, but the winner surely deserves the cash.
i just paypal’d my contribution to dan. awesome job.
Money sent to Dan! Congratulations. Now make it create a grid of who’s worked on the wikipedia entry, so you can flag jerks or put commentary next to them so you track them.
Just sent the dough to John. Great contest!
This doesn’t seem to work with the new version of MediaWiki. I see the button, but it never animates the changes.
If you uncheck the box below the text area, it returns all the current and older revisions in XML format. Downloading that could decrease the load on Wikipedia’s servers, because it wouldn’t be necessary to render the wikicode as html.
Oh, such an excellent scripts!!!!
Wow. There goes my productivity for the next few days. For the most fun, check out the lamest edit wars.
I cant get it to work at all. I see no buttons. I see no check boxes. Oh well!
You should use the API, for example, here are the last 50 revisions of the Main Page, retrieved in a server friendly way.
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Main%20Page&rvlimit=50&rvprop=timestamp|user|comment|content