It would be hard to imagine a worse model for user interface development than HTTP. Would you use a GUI framework where every event from every widget in your application was handed to you at once, periodically, as a large hashtable full of strings? Where every time a single piece of data changed you had to regenerate a textual description of the entire interface? Where the event-based architecture was so strict that you couldn't ever, under any circumstances, open a modal dialog box and wait for it to return an answer? Those are the costs of using the web browser as a client platform, and, by and large, we accept them. The dominant paradigms of web development -- CGI, Servlets, Server Pages -- do very little to hide or circumvent the low level realities of HTTP, and as a result, web applications are fragile, verbose, and ill-suited to reuse. Seaside solves these problems. Seaside is a framework for developing sophisticated web applications. In this talk I will present some of its unique features, such as its approach to session management: unlike servlet models that require a separate handler for each page or request, Seaside models an entire user session as a continuous piece of code, with natural, linear control flow. Furthermore I will create a small web-application as a demo together with the audience and present a complex production web-site that has been built using Seaside.