Get your idea out as soon as you can because people will give you great advice on how to improve it even before you launch it.
You should keep the specifics secret until you have something to show. This is more to ward off the "Chandler phenomenon" (where you raise unrealistic expectations which suck all the fun out of development) than to ward off the "Facebook phenomenon" (where somebody steals your idea and runs with it). In my experience, the Chandler phenomenon kills many more startups. You don't really want to be in a position where you've told people your startup will do X, Y, and Z, and then find that X is useless, Y is unusable, and Z is technologically impossible.
There is a place for secret sauce, it's just that the existence of the startup and it's business model is not likely to be it. Few attacks succeed as brilliantly as a surprise attack. If some part of your idea is novel, but fairly easy replicated, for example the Air's touchpad, I would keep that under wraps to extend your advantage.
It's a frustrating thing, too, because I think NDAs at this stage are just silly, and I need to find at least one other person to work on this with me (preferably local to DFW). But keeping my hand close to my chest is the natural defensive reaction. It's hard to get over.
Keeping the idea close is partly out of concern that someone with better timing will run with it, but also that I don't want to write about how cool it is until it's stable and complete enough for a public release.
As an aside, am also looking for hackers to join forces with, but in Austin for the fall.
I definitely feel torn between sharing by idea with the world (shouting from the mountain tops) versus keeping my mouth shut, thinking my silence can provide strategic value.
The "secret sauce" reference of the parent comment would seem to be directed specifically at this part. Don't bother to hide that you're making a new kind of (social network for cats|online word processor|whatever your concept is), but don't necessarily share the interesting part until you're ready to show it off.
The only one I can think of is being afraid of people "stealing" your concept. If that's the case, either the business is built around a weak concept or you don't work hard enough.
I suppose my question is, "Is that why everyone else keeps things secret so long, or is there some better reason?"
Most of the YC startups seem to stay in "stealth mode" for a long while.
In fact, that's already the case - but why tell them? Let them think they still have a business, until we take it from them :-)
Daniel
Edit: Oh, it's worth pointing out that we're only applying this "stealth" to situations that might leak to our competitors - e.g. talking to people in the industry, or posting on online discussion forums :-) In person, I always explain what we do, without a second thought.
That's a bit of an oversimplification. Contrary to popular Web 2.0 belief, first mover advantage is real in some sectors.
The only issue now is that someone will come out with something better, which is always a threat no matter what stage you're in.
Another way to look at it is like this: As soon as you've got a company started, tell everyone, and tell them what need you're going to fill. You don't necessarily have to tell them how you plan on doing it, but let them know it's going to be done. If you're working on a way for people to sort and manage email overload, tell them. You don't have to tell them "We're using x algorithm to reduce emails and change the way people view the traditional inbox."
Bottom line, sell the value as soon as you can, and sell the method as soon as you have something.
"The Marimba Phenomenon ... everybody checks out your code, and it's not good yet. These people will be permanently convinced that your code is simple and inadequate, even if you improve it drastically later."