If you launch before you provide enough value, no one will care.
If you wait to launch, you are only doing yourself a disservice by delaying or prolonging the feedback cycle. You should be doing the opposite, figuring out how to make your feedback cycle as short as possible.
Worrying about competitors at this stage is dumb. You could only be so lucky as to have an idea good enough that someone would care enough to try to challenge you for it.
Yes. In general, you should release at the point when there is at least some set of users, however small, whose lives will be improved enough by whatever you've built that they'll start using it.
It's a myth that users who don't like your product in its alpha state won't like it later.
BUT: Make sure you signpost the site: this is beta software. Participate in our trials, help us improve it. That's really important.
Even if early users get annoyed because it's beta, they know you now. These are people squarely in the middle of your target market: they found you before you even released. ==> They want your product.
If you improve the software over the next 6-8 months and release a quality product, you will pop up on those same customers' radar screen, they'll want to see if you've made any progress.
It's commonly known in advertising that the quality of an ad affects purchasing decisions less than the frequency of an ad. It takes several exposures to a name, idea or product for someone to feel they know/understand it. Therefore, the more the better.
The poster below is an excellent example of this. He didn't like Pandora when he first tried it - now he's a paying member. With repeated exposure come clients.