Tools are easy, products are hard

I learned a lesson these past few days: Starting something on the Internet has become frighteningly easy.

You can create a Google Code project, or a Google group, or an Yahoo group in seconds. Or if you have your own hosting, you can set up any number of Web applications in minutes. WordPress, MediaWiki, you name it: with practice, you can do it essentially without thinking. All the infrastructure required to launch an open source project (or the next great Web empire) can be set up literally on a whim... And therein lies the danger.

See, the fact that it's easy is a good thing. It allows you to focus on what you're actually trying to accomplish. But all the wikis and bug trackers and git repositories in the world can't help you decide exactly what that something is, or how to go about it, any more than a sheet of paper can help the writer actually write. They also can't make your team-mates get along -- they can only coordinate whatever communication already exists.

But playing with your shiny new tools is easy and fun. It also doesn't require hard decisions. No drudgery. That's for later in the project. For now, it's all in your head, so it still seems perfect. Oh wait, there's something I don't quite like about programming language X -- surely I can make my own which is almost the same only improved? Then my project will truly go smoothly.

If you ever wondered why there are hundreds of BASIC interpreters out there, and countless programming languages that nobody uses except maybe (maybe!) their creators, now you know. But that's another story.

Play is a good thing. But confusing play with work leads you nowhere. Don't fall into that trap. Do something real.

2011-03-31 (originally published on