I know it's naive, but I thought that coming up with a great idea was the main stumbling block for a startup.
This is incredibly wrong.
I am constantly plagued by ideas. And coupled with a short attention span, this means I'm constantly bouncing from one idea to the next, unwilling to follow through because I've come up with a 'better' idea already. And everyone knows they don't give out awards to people with the largest amount of half-executed ideas, so this situation is far from ideal.
So in the spirit of "do as I say, not as I do" I present the following points on getting your app that little bit closer to public beta.
Make commitments that are hard to break
If you're really pumped that this is the killer idea, this is what you're going to do next — tell everyone. Blog about your idea and allow people to follow through the stages of development. By creating expectations in others, you will be less likely to pull out.
Pare down your idea to its core
So your idea is a fantastic mashup of a social network which allows people to create tracks together via user-generated content. Well, good for you. All that social networking fluff is probably superfluous anyway, and you're just going to get hung up on whether to call it a "poke" or a "nudge"... concentrate on the essentials. Make a framework which gives users all the tools they need to combine their various musical elements, and build from that.
If the scope of your app is incredibly massive, face it, it's probably not going to happen. Even if you can plan a logical roadmap for all the various areas, you need to know your own weaknesses. Are you going to be bored in six months? Then plan to have the core functionality completed in three.
Of course, being realistic also means that if you know there's just no way you'd ever be able to manage this particular idea — scrap it. There's no shame in saying, "I just couldn't manage it at the moment". It won't be long before another idea strikes you, and this one might just be more realistic.
Once your app performs its purpose, release it into the wild. Don't continue fiddling with it, worried about layout or styles or semantics. Once your app is live, and you have some community feedback, it's likely you'll want to tweak it to reflect feedback anyway. And you can't mould your app to be more useful to your users when it's just sitting on your local drive.
Of course, it's one thing to plan to do things, and quite another to follow that plan. Hopefully I can take a bit of my own advice, and my tech blog gets off the ground before I get bored or disillusioned.To top