It was a little more than 5 years ago when I was searching around for a post-Rails web framework that I spent some quality time with Seaside.

Seaside is a Smalltalk-based web framework that provides power and simplicity by maintaining state on the server.  Web apps in Seaside are a continuation of a calculation.  Answers provided by submissions of forms allow the computation to continue.

I did a few months of work in Seaside and was working on adding Ajax to Seaside.  However, deploying a Squeak virtual machine and living my life in a Smalltalk VM were sufficient barriers that I went looking for something "more normal" for me.

However, the few months I spent with Seaside was tremendously influential in the way I approached web frameworks.  You can see echoes of Seaside in Lift's CometActor's ask/answer paradigm (the ask/answer thing even made it to Goat Rodeo.)

Seaside uses GUIDs on the client to mark state on the server.  This simple concept is bedrock on Lift and has served Lift very well in terms of allowing developers to express complex, interactive apps very simply.  The bedrock of GUIDs also leads to much of Lift's security.

So, this Thanksgiving, I'd like to give thanks to Seaside and Avi Bryant for inspiration and a template of excellence.