Viaweb FAQ

How did the editor handle client sessions?

There was one Lisp process for each user. When someone logged in to edit their site, we'd start up a new process and load all their data into memory. From that point they had an ongoing conversation with that process.

Because everything was already loaded into memory, we never had to read anything from disk or start up a process to respond to an HTTP request. All we had to do was evaluate a closure stored in memory.

What did you use for an HTTP server?

At first the editor had its own HTTP server, written in Common Lisp by Robert Morris. Later we switched to a version of Apache that he hacked to talk to Lisp.

What Lisp did you use?

Clisp.

Did you use real continuations to save state?

No, we used macros to fake them in Common Lisp, as described in On Lisp.

What database did you use?

We didn't use one. We just stored everything in files. The Unix file system is pretty good at not losing your data, especially if you put the files on a Netapp.

It is a common mistake to think of Web-based apps as interfaces to databases. Desktop apps aren't just interfaces to databases; why should Web-based apps be any different? The hard part is not where you store the data, but what the software does.

While we were doing Viaweb, we took a good deal of heat from pseudo-technical people like VCs and industry analysts for not using a database-- and for using cheap Intel boxes running FreeBSD as servers. But when we were getting bought by Yahoo, we found that they also just stored everything in files-- and all their servers were also cheap Intel boxes running FreeBSD.

(During the Bubble, Oracle used to run ads saying that Yahoo ran on Oracle software. I found this hard to believe, so I asked around. It turned out the Yahoo accounting department used Oracle.)

Was your co-founder the same Robert Morris who wrote the worm and is now a professor at MIT?

Yes.

Where did you get venture funding?

We got money from several private investors, what are known in the business as "angels." Our investors were pretty serious, almost VCs, but they weren't actually brand-name VC firms.

We did Viaweb very cheaply. We spent a total of about $2 million. We were just about breaking even when we got bought, so we would not have spent too much more.

How was "Viaweb" pronounced?

The official policy was that you could say either vee-a-web or vie-a-web. We all used the former, but everyone else, including the people at Yahoo, seemed to prefer the latter.

What would you do differently?

Technically, not much. I think the main thing we should have done that we didn't was start some kind of online store ourselves. We used the editor to make our own site, so we were pretty motivated to make it good. But we could only understand the e-commerce part of the software second-hand.