
Philip & Alex's Guide to Web Publishing
- 1st Edition - April 15, 1999
- Imprint: Morgan Kaufmann
- Author: Philip Greenspun
- Language: English
- Paperback ISBN:9 7 8 - 1 - 5 5 8 6 0 - 5 3 4 - 3
- eBook ISBN:9 7 8 - 0 - 0 8 - 0 5 1 3 7 5 - 1
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

Institutional subscription on ScienceDirect
Request a sales quoteFrom 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.
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.
*Includes 200 photographs from Greenspun's highly successful photo.net Web site.
*Presents a general theory of the issues in Web Publishing.
*Presents a general theory of the issues in Web Publishing.
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
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
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
- Edition: 1
- Published: April 15, 1999
- Imprint: Morgan Kaufmann
- Language: English
- Paperback ISBN: 9781558605343
- eBook ISBN: 9780080513751
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.