Instead of a one-size-fits-all product, you often end up with a one-size-fits-none product. It leads to over-generalized products — and messaging! — that lacks any focus and emotion, two things you need when acquiring your initial user base. You can’t build everything for everyone, at least not at the start.
Indeed. I made exactly that mistake on my first startup: we built it for "small businesses online", without any specific customer in mind. As a result, when we finally launched, no one found it all that useful.
Another big problem with designing a product for "everyone" is it makes it impossible to focus your marketing efforts. Marketing effectively to "everyone" is much more difficult than marketing effectively to "programmers", which in turn is much more difficult than marketing to "ruby programmers", which in turn is more difficult than marketing to "ruby programmers who use Rails 3 and above". The more you expand the market, the more expensive it is to reach. A tight product focus enables a tight marketing focus.
There's a time and place for "thinking big". Sometimes, thinking big is the right thing to do (as always, context is everything). However, if it's your first startup, chances are you can't really execute a "huge idea" effectively anyway, so building something directly useful to a specific group of people is most likely a better approach at first.
If you read this far, you should follow my RSS feed here.