Search this site: 

 

Philip and Alex's Guide to Web Publishing

Philip Greenspun

San Diego: Academic Press, 1999; Pages: 577

Review © 2001 Branislav L. Slantchev

For anyone who has seen photo.net, Greenspun is a well-known and well-respected netizen. As a professor of computer science at MIT, he is also one with good credentials to talk about database-driven web sites. As the founder of several successful companies (i.e. ArsDigita), he can prove that his approach works in the business, as well as theoretical, world.

This book is excellent on several levels. First, as a design philosophy, it is a good defense of the online communities approach, so skillfully exploited by Amazon.com (and photo.net). Second, as a primer on building stable and successful web sites, Greenspun's field-tested ideas range from site organization (e.g. database), selection of software (server, interface, database), programming (Tcl), and to maintenance. This book should be a required reading for any web developer, especially the ones who think David Siegl knows anything about web publishing (he does not). Greenspun's book is all about functionality, and offers (working) code as examples. Note that there's an online version of the entire book, with additional source code, available for free.

The book also has some gems about the most socially efficient way to create and use software. Greenspun takes exception of the current model, which is simply a myriad of competitors producing incompatible software, with consumers left at the mercy of the software giants like Microsoft and Adobe. The author's vision is breathtaking in its implications (which is precisely why I don't see it happening soon). According to his model, software companies would not distribute software directly to consumers. Instead, consumers would subscribe (maybe even free) to a central software bank, use any of the programs available at that bank as often and as much as they want, and the makers of software get paid depending on how much time people spend in their programs. This would eliminate the proliferation of incompatible interfaces, the need to upgrade constantly, and even the ubiquitous and extremely wasteful desktop computer. It would also reduce the temptation, or even the ability, to pirate software. I wish I lived in a world like that.

These are the good things about the book. There are also some (very) bad ones. For example, I don't think that spicing up the book with irrelevant photographs actually adds anything to it. The author's claim that this would make a nice coffee-table book presupposes that his photographs are good (some are, but most are not). It cannot have been inexpensive to add all those color pictures, so at $44.95, one wonders how much could have been saved if the pictures weren't's there. And that's not just about money: dead trees are also important. Given the source code availability online, printing out page upon page of code is also wasteful. It seems the book could have been condensed into about a quarter of its length without losing any of its impact.

For a MIT computer science professor, Greenspun's approach to serving images is a maintenance horror---a single change in a file name necessitates changes in N documents (all that reference the image), the JPEGs at different resolutions, the corresponding TCL script, and the RDBMS entry! Wow! What is he thinking? He does mention that a more useful way would be to stuff everything in the RDBMS, but why didn't he do it in the first place? It is a better idea if the HTML referenced images by their number instead and then the server would handle everything else. No file names at all! (Sorry, with my CS background, I could not resist this.)

Greenspun's claim that a PhotoCD is cheaper than HD storage is nonsense. The cheapest PhotoCD would cost around $120 ($1 per image) and would store approximately 500MB of data. The last HDD I bought cost me $140 and was 30GB in size, which comes to 60 PhotoCDs for about the price of 1. Admittedly, the scanning is what costs with PCD but then again, that's not what he claimed.

Finally, I am happy Greenspun had this ``original'' idea to serve thumbnails with larger images linked to them. Wow! Except any web surfer would tell you that's what's expected of well-engineered sites anyway.

This quibbles aside, the book is a worthwhile read (I don't know about investment, go see the online version).

February 27, 2001. BLS


@BOOK{greenspun-99:web,
    TITLE     = {Philip and Alex's Guide to Web Publishing},
    AUTHOR    = {Philip Greenspun},
    YEAR      = {1999},
    PUBLISHER = {Academic Press},
    ADDRESS   = {San Diego},
    ISBN      = {1-55860-534-7},
    NOTE      = {Pp. 577}
}