This is a detailed essay by Paul Graham which gives an insight at how to generate good business ideas.
"The way to get startup ideas is not to try to think of startup ideas. It's to look for problems, preferably problems you have yourself.
The very best startup ideas tend to have three things in common: they're something the founders themselves want, that they themselves can build, and that few others realize are worth doing. Microsoft, Apple, Yahoo, Google, and Facebook all began this way"