I don't know what's the matter with us web developers. We have the luxury of being able to release a product and improve it many times without any concernc. We are luckier than software developers who must ship their product through an update mechanism and we are much luckier than any other engineer, who simply cannot improve the product much when it's built.
Yet we stick to the old concept of developing and developing, not shipping till it's "really" ready. This "ready" means a shitload of features nobody will use, a ui most of the users cannot grasp and a long time till any user can experience your application.
I would bet serious money on the fact that most developers agree to this and yet won't do it. One thing which always comes up is the set of critical features. To me, there is not one feature which is critical. Just get up the first page and get it out there. Set up a signup page for beta users. Start implementing the first feature, create an account for yourself and start using it. If you think it's worth trying for somebody else, let them have access to it.
If you start implementing a new feature, get it out there and just let a selected group of users access it. See what happens. You can polish it later. You can add the missing subfeature later. Nobody will stop using your service just because there is some object which cannot be deleted right now. Or updated. Nobody will stop using it because there are some design flaws.
People will stop using your product when they wait 1 month for a set of features and then get crappy functionality they don't need.
On the other hand, people will love you when they feel they are in control: They mention some improvement and the next they it's there. It may not be perfect, but they can achieve their goal. They can use it and see what can be improved.
Or, as the guys at opbeat say: Fuck it, ship it!