The first thing you need in building a startup is an Idea. Some people think that idea is worthless, but for me it is equally important as the execution that follows it and the team behind it. It sets your target so that you know where to focus. But don't fall in love with your idea, it can evolve and even change radically. You just need it to get started.
After having an idea, the next thing to come up with is a name. Having a name upfront is not required (you can use random name, e.g. "myproject", and change it later), but it simplifies a lot of things.
Name is important for:
- Presence: domain name, Twitter handle, etc. We'll get into this in a moment.
- Development artifacts: project directory, namespace (e.g., in Java, "com.myproject"), Redmine project, Basecamp account, etc.
Online presence that you need to secure
Domain nameBuy a domain from Google Apps, it's easier. You will get GMail-backed @myproject.com without setting up anything.
Handle in your target deploymentFor example, if you use Google App Engine, you might want to secure myproject.appspot.com. This is optional, as it will usually be masked by your domain name (e.g. myproject.com will be forwarded to myproject.appspot.com), but it's always nice to have some consistency.
Facebook PageFacebook requires that you have at least 25 fans before eligible for a username (that is, a facebook.com/myproject). Ask your friends to Like your page to secure it.
Twitter handleThis is obvious.
Blog (e.g. myproject.blogspot.com)Not necessary if you want to use your domain, e.g. blog.myproject.com.
Remember that choosing name is not urgent, but the sooner the better.