Level 3 Web Applications
Marc Andreessen writes about the three different levels of web platforms in this recent blog posting.
I'd like to point out that, as far as I know, Viaweb, an online shop system build by Paul Graham and Robert Morris, was the first level 3 web platform according to the definition given by Andreessen:
A Level 3 platform's apps run inside the platform itself -- the platform provides the "runtime environment" within which the app's code runs.The DSL for Viaweb was called RTML and was implemented in Common Lisp. Customers could actually program their own shops instead of just configuring templates. I especially like this quote from Lisp in Web-Based Applications:
When one of the customer support people came to me with a report of a bug in the editor, I would load the code into the Lisp interpreter and log into the user's account. If I was able to reproduce the bug I'd get an actual break loop, telling me exactly what was going wrong. Often I could fix the code and release a fix right away. And when I say right away, I mean while the user was still on the phone.
Such fast turnaround on bug fixes put us into an impossibly tempting position. If we could catch and fix a bug while the user was still on the phone, it was very tempting for us to give the user the impression that they were imagining it. And so we sometimes (to their delight) had the customer support people tell the user to just try logging in again and see if they still had the problem. And of course when the user logged back in they'd get the newly released version of the software with the bug fixed, and everything would work fine. I realize this was a bit sneaky of us, but it was also a lot of fun.
Links:
- Beating the Averages by Paul Graham
- The Other Road Ahead by Paul Graham
- Lisp in Web-Based Applications by Paul Graham


