Kent Beck describes the book's theory of market segments like this:
- Enthusiasts — will try new things for the sake of novely
- Innovators — will try new-ish things for the sake of business improvement in spite of some risks
- Early majority — will adopt proven products provided there is no perceived risk
- Late majority — will follow in adopting established products
- Laggards — the name says it all
He then goes on to highlight these observations of Moore's with regard to high-tech products:
- The gap between innovators and the early majority is particularly wide (the “chasm” of the book title), stymying many promising innovations
- Marketing is fundamentally word of mouth, but people in one segment don’t converse with people in other segments. This creates a chicken-and-egg problem in gaining traction in a segment.
- Messages that work for one segment don’t work for the next. The time to switch is when a product seems to be gaining momentum, because that segment will soon be exhausted.
Eric Sink adds:
One of the ideas in [the] book is that new innovations don't go mainstream until they become a "whole product".
Now Kent is talking about JUnit Max and Eric is talking about Distributed Version Control Systems (like git, Mercurial, and Bazaar) but this got me thinking again about Seaside's positioning and how to grow our user community. I think GLASS, by providing integrated persistence, is a big positive step towards making Seaside seem like a "whole product". But what else is missing? Deployment/admin tools and documentation spring to my mind and I'm hoping to make a start on the latter with some of the posts on this blog. But what else?
Growing support by major Smalltalk vendors helps reduce the apparent risk within a small segment of the market but, for many people, Smalltalk itself is seen as a major risk. So part of making Seaside less appealing would involve either de-emphasizing its use of Smalltalk (not really going to work—people will notice eventually) or reducing the apparent risk of Smalltalk itself. That's no small task and the vendors, I'm certain, have this at the front of their minds. Still if anyone has any thoughts on how Seaside in particular can contribute to that effort, I would love to hear them.
One of the major perceived risks associated with Smalltalk, of course, is the relatively small number of developers using it. Thus we have a feedback loop there: more users means less risk, which means more users, and so on.
So three important questions, I think, are:
- What does Seaside need in order to be considered a complete product?
- What can Seaside do (other than growing the community) to reduce the perceived risk of adoption?
- What can Seaside do (other than reducing perceived risk) to grow the community?
No answers yet; just questions. If you have any thoughts, please share.