When I first visited Flickr back in February 2004, the site was primarily Flash-based IRC-style chat. There were social-networking-style features to keep you in touch with your friends, there were 'groups' to find people with similar interests, but the main focus of the site was the chatrooms. Flickr was, as far as I know, the first non-pornographic social networking service that allowed the networkees to interact in real time.
I'd been directed to the site from an IRC channel, so my obvious response was "Hey, we're already talking over there, why do we need to be talking here as well?" The only novel feature I could see was the 'shoebox' of images that you could upload to the site and share with other members, or paste into conversations.
The way things turned out, it looks like I wasn't the only user who thought that way.
Which brings us, in a round-about kind of way, to Joel Spolsky's advice to anyone looking to start a business:
Don’t start a business if you can’t explain what pain it solves, for whom, and why your product will eliminate this pain, and how the customer will pay to solve this pain.
Plausible advice, and I've said similar things myself in the past. But as Cameron points out, it's not necessarily good advice:
By the time you can explain what pain it solves, for whom, and why your product eliminated this pain, and how much the customers were actually willing to pay to solve this pain, the best years of the market will be behind you.
Joel himself doesn't seem to have followed his own advice when founding Fog Creek Software:
Fog Creek Software started in September 2000 based on the simple idea that if we built a company that was a great place to work, we would be able to attract great talent. And once we had great talent, we could succeed at just about any software project we found interesting.
In a linked article, he goes on to express his distrust of business models built around the idea for a product:
The trouble with build-a-better-mousetrap is that there's not a lot of evidence that it works. [...] There's a different way to think of software development. Imagine that the goal of your software company is not to solve some specific problem, but to be able to convert money to code through programmers.
Joel's latest advice still makes sense if you take "start a business" to mean "devising a product". It is a very good idea to know what pain you're creating the product to alleviate. Even then, though, it's a dishearteningly conservative approach. del.icio.us didn't solve any identifiable problem, it was just cool because it existed, and because lots of people joined in and found interesting new things to do with it.
Of course, hoping to come up with the next cool thing that solves problems even you didn't know were there when you started isn't necessarily the safest of business propositions, but if nobody did it then our industry would be entirely bereft of innovation. Consider the near-inevitable failure of your company as the price you pay to make tomorrow a better place for us all.
When you're building a business rather than just a product, though, you're much better off asking yourself what your survival plan is when your great founding idea tanks, or when (as happened to Flickr) you have to turn it 180° because the market has told you that you should be barking up this tree instead.