Bringing you Nervous Music since October 2003



seanmcg's My


I am seanmcg on and you can add me to your network.



Muxtape 2

"When New York Was New York"

Get Songbird



A random selection from my archive:



Roberto Bolaño, The Savage Detectives


My Wishlist

Moment of Zen


Moment of Zen (inspired by Tim's Koans)

Courtesy of Timmay

Blog posts are no longer happening here. Visit for the latest updates.

    follow me on Twitter

    Friday, June 24, 2005

    Drag and drop like a big kid

    I think I've mentioned AJAX here before. It stands for Asynchronous Javascript And XML. Big *yawn* I know. It's a web technology that's been around for a while, but it's finally making a splash. In short, it allows you to do roundtrips to a website's database without the constant need for refreshing. For a sample, use Google Maps. See how slick it loads when you enter an address? That's XMLHTTP at work. It's all over the place in 37signals' products like Basecamp, Ta-Da Lists and Backpack too.

    More and more developers are getting excited about the possibilities of AJAX and how it can improve an online experience. I'm setting some goals now for a website relaunch at work, and I'm thinking of injecting some of this cool new (standards compliant!) technology into the project.

    If you're a fan of Transmit, the FTP client by Panic, then you've seen this sort of thing before. But check out It's a cinch to begin working with its Prototype Javascript library and you can start building drag and drop widgets in no time.

    I can certainly see this being overused like other hip technologies (e.g., I'm not a big fan of Flash when it's used for navigation). I would want to find a legitimate use for it rather than pulling a "see what I can do" stunt. However I feel there's some real substance to all of this and it's going to play a substantial role on websites for years to come. I really need to redesign our customer accounts and I can see AJAX playing a role in the project. If you've seen other cool applications of AJAX, let me know!