Seaside : Posted by Avi at March 09, 2007 02:21 AM

There’s story in Primo Levi’s The Periodic Table (via, via) about a recipe for varnish that included a raw onion. Nobody at the varnish plant where he worked knew what its purpose was. It turned out that it had originally been used as a thermometer: if the onion fries, things were hot enough. Now, they had (and used) better thermometers, but they kept on throwing the onion in because that’s just what you did.

I think that web frameworks have a lot of onions in them. A lot of the design decisions that are unconsicously adopted by modern frameworks like Rails or Django were made 10 or 15 years ago. They were probably good decisions at the time, but we need to re-evaluate them now that we have new and better tools available to us.

That’s the thesis behind the Applied Web Heresies tutorial I’m giving at ETech later this month. It’s a follow up to the Web Heresies talk I gave at OSCON last July. Both of these talks are about Seaside, but they’re not about how or why you should run out and use Seaside yourself - there just aren’t that many prospective Smalltalkers out there. Instead, you might say they’re about Seaside’s recipe, and what new ingredients it gets to use after taking the bold step of chucking the onion into the compost pile. In the tutorial, I’m hoping that we’ll build some mini Seaside-style frameworks in Ruby, Python, and other dynamic languages. I don’t know how far we’ll get, but at least whatever we make will be onion-free.

As an appetizer, here are some things I think are onions: template systems, hidden fields, meaningful query parameters, and sessions stored in databases. Why? Because we have, but aren’t fully appreciating, these thermometers: CSS, RSS, fast CPUs with gigs of RAM, and smart load balancers. What new ingredients do we get to use? By far the spiciest of these is closures or blocks: it’s amazing how much pain they can take away once you’re committed to using them pervasively at the framework level.

I think it’ll be a fun tutorial, and I’m really looking forward to it. See you in San Diego.