Thursday, July 11, 2002

Baked, Not Fried

Aaron Swartz draws a clever distinction between "fried" sites -- sites built with server-side tools like Blogger or Vignette that custom-assemble each Web page for each reader, and "baked" sites -- sites built with tools like Tinderbox or MoveableType that anticipate what pages will be needed and build them in advance.

Frying is flexible and lets you add lots of garnishes easily -- personalized greetings, for example, need to be fried. Baked sites are easier to serve, with better performance and a better fit to the nature of the Web.

Swartz thinks that the key to baking is tracking dependencies -- figuring out what pages need to be freshly prepared when you make a change. That's really an implementation detail; if you're a fast baker, you can just bake the site fresh every day. (Tinderbox actually does track dependencies very cleverly, but doesn't make a fuss. It behaves just like it updates everything all the time, and is such a speedy baker that it never needs to think ahead.)

One of the most interesting questions, as Aaron observes, is preparing a tasty Web meal that combines baking and frying. In the simplest case, you might add a fried garnish to a baked site, like Jill Walker's use of Tagboard or Victor Lombardi's new SnorComments; in both cases, baking gives the writers good organizing tools (via Tinderbox) and crispy fried garnishes add flavor later. A more complex case is the Tinderbox-Wiki connection in Weblog Kitchen, where a deep-fried Wiki is swept daily into Tinderbox, edited and rebaked, and then sent back to the fry-shop.