Skip to main content

Philip & Alex's Guide to Web Publishing

  • 1st Edition - April 15, 1999
  • Latest edition
  • Author: Philip Greenspun
  • Language: English

From the author's preface:This book is a catalog of the mistakes that I've made while building more than 100 Web sites in the last five years. I wrote it in the hopes that others… Read more

Purchase options

Sorry, this title is not available for purchase in your country/region.

Description

From the author's preface:

This book is a catalog of the mistakes that I've made while building more than 100 Web sites in the last five years. I wrote it in the hopes that others won't have to repeat those mistakes.

For the manager in charge of a Web publication or service, this book gives you the big picture. It is designed to help you to affirmatively make the high-level decisions that determine whether a site will be manageable or unmanageable, profitable or unprofitable, popular or unpopular, reliable or unreliable. I don't expect you to be down in the trenches typing Oracle SQL queries. But you'll learn enough from this book to decide whether in fact you need a database, whom to hire as the high database priest, and whom to allow anywhere near the database.

For the literate computer scientist, I hope to expose the beautiful possibilities in Web service design. I want to inspire you to believe that this is the most interesting and exciting area in which we can work.

For the working Web designer or programmer, I want to arm you with a new vocabulary and mental framework for building sites. There can be more to life than making a client's bad ideas flesh with PhotoShop and Perl/CGI.

For the users of the world, I document a comprehensive open-source approach to building online communities and show a collaborative Web-based way that we can dig ourselves out of our desktop application morass.

Key features

*Includes 200 photographs from Greenspun's highly successful photo.net Web site.
*Presents a general theory of the issues in Web Publishing.

Readership

Webmasters, corporate intranet developers, programmers responsible for Web/database integration, and a general audience interested in the culture and philosophy of Web publishing.

Table of contents

Table of Contents




Preface




Chapter 1: Envisioning a Site That Won't Be Featured in Suck.com

You Can't Say "Web Publishing" without the Word "Publishing"

Ex. 1: Personal Home Page

Ex. 2: Camera Manufacturer

Ex. 3: Software Company

Ex. 4: University Research Lab

How Do You Know When You Are Done?

Become Illiterate (i.e. present multiple views)

Think of the Web As Primary

You Can't Do Web-based Service Without Programming

The Users Will Rebel

Summary




Chapter 2: So You Want to Join the World's Grubbiest Club: Internet Entrepreneurs

The Steam Engine and the Railroad

Four Ways to Make Money From Your Public Site

Travel Example

Real Estate Example

Medical Example

We Lose Money on Every Hit But Make It Up On Volume

We Lose Money on Every Hit But Get Some Kickbacks From Other Guys Who Lose Money Too.

My Site, The Cash Cow

A Surefire Way to Make Money (For Other People)

A Final Plea for Those With Public Sites

Let's Get Real

Friends of Mine Who Will Be Way Rich

How to Get Sort of Rich

Growing ArsDigita the Easy Way: Skim

Growing ArsDigita the Annoying Way: Sell Software

Growing ArsDigita the Sustainable Way: Teams

What Did We Decide?

Summary

More




Chapter 3: Scalable Systems for Online Communities

What is a Community?

Why Would We Want Online Communities?

Evolution of Public Communities

The Big Problem

The Big Solution

Buy or Build?

History of Business Data Processing

Why the Big Shift from Custom Programming to Packaged Apps?

How About the Web?

A Packaged Solution?

The ArsDigita Community System

Fundamentals

Module 1: User Database

Module 2: Content Database

Module 3: User/Content Map

Module 4: Member Value

Module 5: Reference/Clickthrough

Module 6: Banner Ads

Module 7: Publisher/Member Connections

Now the Hard Part

Summary

More




Chapter 4: Static Site Development

Draw a Site Map

Assemble and Structure Content

Make a Text-Only Site

Hire a Graphic Designer

Come Up With a Maintenance Plan

Overall Pitfall 1: Version/Source Control

Overall Pitfall 2: Over-optimism Regarding Computers

Are You Failing?

Are You Succeeding?

Summary

More




Chapter 5: Learn to Program HTML in 21 Minutes

"One of Our Local Webmasters"

You May Have Already Won $1 Million

Document Structure

Tarting Up Your Pages

Now That You Know How to Write HTML, Don't

It's Hard to Mess Up a Simple Page

Java and Shockwave--The BLINK Tag Writ Large

Richer User Interface

Real-time Response

Real-time Updates

Oh Yes, It Will Crash the User's Browser

Why Graphic Designers Just Don't Get It

An Information Designer Who Got It

My Personal Hero

Multi-Page Design and Flow

Summary

More




Chapter 6: Adding Images to Your Site

Images On the Web Can Look Better Than On a Magazine Page

Start By Thinking About Building an Image Library

Using Kodak PhotoCD to Manage Your Library

Delivering Your Library to the Web

Creating JPEGs from PhotoCD Image Pacs

Using Photoshop

Batch Processing

Organizing JPEGs on Your Web Server

Adding Images to Your Web Pages

Alternatives to the JPEG format

Alternatives to PhotoCD

Alternatives to Film

Digital Watermarking

My Personal Approach to Copyright

Summary

More




Chapter 7: Publicizing Your Site (Without Irritating Everyone on the Net)

Search Engines


How Search Engines Look to the User

How Search Engines Work

Component 1: The Crawler (or "How to Get Listed by a Search Engine")

Component 2: The Full-Text Indexer

Component 3: User Query Processor

How to Stand Tall in the Search Engines

Advertising

How Many Users Are You Getting from Search Engines?

Improving Your Pages' Chances Honestly (and Dishonestly
)
And Now the Dishonest Part

Hiding Your Content From Search Engines (Intentionally)

Hiding Your Content From Search Engines (By Mistake)

Web Directories

How About the New York Times and CNN?

Final Tip

Summary

More




Chapter 8: So You Want to Run Your Own Server

Being a User on a Remote Machine

Your Machine/Their Network

Your Machine/Your Network

My Personal Choice

Choosing a Computer

Unix

Which Brand of Unix Box?

Running your Unix System

Unix Inspiration

Windows NT

Unix Versus NT

Final Hardware Selection Note

How Much Capacity?

Server Software

API

RDBMS Connectivity

Support and Source Code Availability

Availability of Shrink-wrap Plug-Ins

Speed

AOLserver

Apache

Microsoft IIS/ASP

Connectivity

ISDN

Your First T1

Cable Modems and ADSL

The Big Picture

More




Chapter 9: User Tracking

Learning from Server Logs

Case Studies

Case Studies Conclusions

Let's Back Up for a Minute

Enter the Log Analyzer

Unix Shell Tools

My First Log Analyzer: wwwstat

My Second Log Analyzer: Web Reporter

Relational Database-backed Tools

Object Database-back Tools

Personalization

Reader Ratings: A Big Mistake?

Client-Side Personalization

Quiet Server-Side Personalization

Summary

More




Chapter 10: Sites That Are Really Programs

Step 1: Document or Program?

Step 2: Choose a Computer Language

Server-Parsed HTML

HTML as a Programming Language

Trouble in Paradise

Step 3: Choose a Program Invocation Mechanism

Step 4: Choose a Web Server Program to Support the First Three Choices

Example 1: Redirect

Example 2: Customizing Access

Example 3: Aid to Evaluating Your Accomplishments (Randomizing a Page)

Example 4: Focal Length Calculator (taking data from users)

Example 5: Bill Gates Personal Wealth Clock (taking data from foreign servers)

Example 6: AOLserver Dynamic Pages

Example 7: Active Server Pages

Summary

More




Chapter 11: Sites That Are Really Databases

The Hard Part

Step 1: The Data Model

Step 2: Legal Transactions

Step 3: Mapping Transactions onto Web Forms

The Easy Part

Prototyping the Site, My Theory

Prototyping the Site, The Reality

Do I Need a College Education to Understand Your System?

Why Don't Customers Wise Up?

Is There a Better Way?

Just Say No to Middleware

Summary

More




Chapter 12: Database Management Systems

What's Wrong With a File System (And Also What's Right)

What Do You Need for Transaction Processing?

Finding Your Data (and Fast)

Enter the Relational Database

How Does the DBMS Thing Work?

SQL the Hard Way

Brave New World

Braver New World

Choosing an RDBMS Vendor

Cost/Complexity to Administer

Lock Management System

Full-text Indexing Option

Maximum Length of VARCHAR Data Type

Paying an RDBMS Vendor

Performance

Don't Forget to Back Up

Summary

More




Chapter 13: Interfacing a Relational Database to the Web

How Does an RDBMS talk to the Rest of the World?

How to Make Really Fast RDBMS-backed Web Sites

CORBA: MiddleWare Meets VaporWare

Complexity (or "It Probably Won't Work")

What If It Did Work?

Aren't Objects the Way to Go?

Security

What Does This Stuff Look Like?

Application Servers

Problem 1: Compilation

Problem 2: Java Runs Inside the DBMS now

Problem 3: Non-Standard API

One Nice Thing

Server-Side Web/RDBMS Products that Work

AOLserver

Apache

Microsoft Active Server Pages

Don't Switch

Things That I Left Out and Why

Bring in 'Da Noise, Bring in 'Da Junk

Canned Web Server Admin Pages

Spreadsheet-like Access

Forms Builders

Connecting

ODBC

Summary

More




Chapter 14: Ecommerce

Step 1: Decide if You're Serious and Responsible

Step 2: Think About Your Accounting System

Step 3: Where Do You Park the Database?

Step 4: Lifetime Customer Value Management

Case Study: MIT Press

Decision 1: How Much to Change the Business?

Decision 2: Shopping Baskets?

Choosing Technology

Moving the Legacy Data

Integrating the Graphics

Maintaining the Service

Could We Do it in 1998 with Packaged Junkware?

For the Hard-core Nerd

MIT Press Summary

Mundane Details: Running Credit Cards

Drop a Dime

Two Server Architectures

A Gazillion Vendors

An Annoying Future: The SET Protocol

An Extra Layer of Transactions

Reload 5 Times = 5 Orders?

Case Study: ArsDigita, LLC

No modem

Deciding between ICOMS-style and CyberCash-style

Our Honeymoon with CyberCash

The End of the HoneyMoon?

Disputed Charges

Fees

Sales Tax

Accounting

ArsDigita Shoppe

The Finite-State Machine for Orders

Address Verification Service

Integrity

Going Live

ArsDigita Summary

Something Interesting

Summary

More




Chapter 15: Case Studies

Case 1: The Mailing List

Step 1: The Data Model

Step 2: Legal Transactions

Step 3: Mapping Transactions onto Web Forms

Case 2: The Mailing List

Case 3: The Birthday Reminder System

Step 1: The Data Model

Step 2: Legal Transactions

Step 3: Mapping Transactions onto Web Forms

Step 4: Writing Code to Process Those Forms

Step 5: Step 5?

My Concurrency Question

Answer From a Friend Who Works at Oracle

My Conclusion

Case 4: The Bulletin Board

The Nuts and Bolts (not)

Microsoft Helps Defend Against Bozos

Case 5: Brutal Truth Industries

The Data Model

The New Player

The New Answer

Statistics

Adriane's Mom

Case 6: Uptime

How Does it Work (The Big Picture)

Is Uptime Up?

What I Learned About the Internet

What I Learned About Operating an Internet Service

Summary

More




Chapter 16: Better Living Through Chemistry

Two Ways of Looking at a Blackbird

Who Won?

Government Regulation Protecting You

Is Information Power?

Would 750 MB of Data Help You Out?

Personalization

Sending FAXes

Making it Fast

The Bottom Line

Influencing Decision Makers

Our Solution

What if I Don't Want to Talk to My Politicians?

How Does it Work? (short)

How Does it Work? (long)

Database Triggers

PL/SQL

Oops-proof Batch Upload

User Authentication

Something Else I Learned

Summary

More




Chapter 17: A Future So Bright You'll Need to Wear Sunglasses

Delenda est Desktop Apps

Should Software Development Be Cheap?

What is a Big Company?

Should Software Really Be Sold Like Tables and Chairs?

A Better Way

New World Order

A Less Radical Approach

Privacy

We Have a Network: We Can Do Better

Your User's Browser: a GE Range

Product Engineering: Theory versus Reality

What Kinds of Things Can Happen in a Networked House?

What Does This Mean to Me as a Web Publisher?

Collaboratively Exchanged Data Models

Collaboratively Evolved Data Models

Delenda est Junkware

The Last Word




Glossary

Product details

  • Edition: 1
  • Latest edition
  • Published: May 1, 1999
  • Language: English

About the author

PG

Philip Greenspun

Philip Greenspun has been in and around the Massachusetts Institute of Technology since 1979. He alternates between teaching traditional electrical engineering classes and teaching “Software Engineering for Web Applications”, a course that he co-developed with Hal Abelson. This has been a successful course at MIT and is being used by computer science departments at 20 other universities around the world. Greenspun is the author of two textbooks used at MIT, including Internet Application Workbook. Greenspun is an instrument-rated private pilot and has flown his Diamond Star across most of the North American continent and two-thirds of the Caribbean islands. In the mid-1990s, Greenspun founded the Scalable Systems for Online Communities research group at MIT and spun it out into ArsDigita, which he grew into a profitable $20 million (revenue) open-source enterprise software company. The software is best known for its support of public online communities, such as www.scorecard.org and www.photo.net, which started as Philip Greenspun’s home page and grew to serve 500,000 users educating each other to become better photographers.
Affiliations and expertise
MIT, Cambridge, Massachusetts, U.S.A.