continuations

Services vs. Applications

October 10, 2003 21:34:03.323

The discussion with Daniel von Fange continues. Basically, his beef with continuations is precisely the same thing I like about them: that they allow you to build web applications as continuous, cohesive, stateful systems rather than a series of tiny, independent, interconnected parts.

I think we have to draw a crucial distinction here, between web applications and web content. What Daniel is talking about is effectively content: here's the URL you go to if you want to see so and so's profile. That's great, and very useful, and in fact what the web was designed to do - but it's not an application. At most it's a service: it has a simple, well defined set of inputs and outputs, has minimal user interaction, and can be used from many places.

My argument is that this content or service view of the web doesn't scale up to the application level. It's like unix commands - it's nice that you can string together cat and sort and grep to do useful things, and that these provide services that anyone can take advantage of. But even though the loose coupling is great, you're going to have a real hard time writing emacs as a shell script. Or even pine. At a certain point, you need a richer model of state, of components, and of control flow. Building a complex application by stringing together a series of simple stateless parts, at the level of granularity we're talking about (essentially one user interaction per part), is madness.

Conversely, continuations aren't that useful for building web sites that are largely content, even dynamic content, or simple services. I make this clear whenever I give a talk on Seaside: it is targeted purely towards large, workflow-intensive applications with a lot of non-trivial user interaction. The lower boundary of what I would use Seaside for is a webmail application, or maybe one of the more complex blog packages. Anything simpler than that probably should be a couple of stateless CGI scripts.

Comments

Ah

[Daniel Von Fange] October 10, 2003 23:22:18.402

Gotcha.

Yes but...

[Roger Whitney] October 23, 2003 15:08:47.451

But the problem is once one uses Seaside one wants its power for the simple stuff also. Why should I have to do the simple stuff the hard way?