I realized that each one of these technologies set out to help people do something but consequently grew and changed over time. Each ultimately provided a way for large groups of people to talk about and think about very difficult problems:
- Microsoft Office: How do we communicate about work
- Photoshop: How do we create and manipulate images?
- Pac-Man: How do we play?
- Unix: How do we connect abstractions together to solve problems?
- Emacs: How do we write programs that control computers?
Computer people often talk about products. But each of these five have come to represent something else—an engagement with hard problems that are typically thought to be in the domain of philosophy, literature, or art, rather than programming. This software doesn’t just let people do things; it gives them a way to talk about and share what they did.