Here's my take.

First, I want you to remind yourself: most aim-for-the-stars product startups fail. Most product startups fail. Most products fail. When you commit yourself to a product, to the exclusion of all else, you are making a bet at long odds.

You have another option: you can build a business first, and a product second. I'd encourage you to think of your consulting work as business-building, and not as a time sink that is cannibalizing your product. If you're doing it well, even when you're writing lines of code for someone else, you're getting other benefits:

* You're building a team and learning to work well together

* You're learning basic business skills, like selling, and managing cash flow

* You're forging relationships with other businesses which you'll leverage throughout the life of your company

* You're getting exposed to the problems that (in your case) small-to-medium companies have with their IT, which will be fertile ground for product offerings

There are three other benefits to your approach, two of them obvious, and one of them much less so:

* First, you own your company. Like a lot of other people here, I've done the VC thing before, and it's not an exaggeration to say that when you do it, you're buying yourself a new kind of boss. A couple years from now, you're going to be glad you did it this way.

* Second, you've bought yourself a lot of time to slowly turn the dials until you find a product or service that works. Matasano's first product idea would not have worked had we taken it to market it. Even if we had gotten funded. In fact, especially if we had gotten funded. We watched 4-5 companies get funded with essentially the same product, and then got to watch them all run aground over 3-4 years. The safety net is not a minor benefit of this approach. I think it's pretty huge.

* Third, having something other than a product to contribute to the business with can be a win. I've said this on HN before: if you're new to startups, you may have deluded yourself into thinking that you'll be redlining your productivity for years and years on end, working 80 hour weeks and committing thousands of lines of code a day. No. You won't. You will burn out. If you don't, seek psychiatric help! A benefit to having a thriving consulting business is that when you hit your doldrums, you can go be billable and know you're making a major contribution to the company.

A couple bits of practical advice:

* Get an actual office.

* It's hard to do a product and a service at the same time. Grow the services business and hire full-time product people (full-time product devs are cheaper than devs who can be billable).

* Don't lowball your rate with a customer you intend to keep. It's very hard to raise rates with customers. Companie with more than a couple hundred employees have "procurements" people whose entire job is to make sure rates go down over time. Cut scope or schedule, not rate.

* Stay away from race-to-the-bottom services. Look for premium services. For instance, now seems to be a great time to be an iPhone developer, or a Rails/Django developer.

* Think of ways to increase the lifetime value of your customers. For instance, offer retainer-style maintenance agreements to all your customers, so they can get feature requests and minor bugfixes done on a predictable schedule. Something I've learned over the last couple years: many companies will pay for predictable schedules. You don't have to give "predictability" away for free.

* Read everything 'patio11 has to say about measuring and marketing a software business. Patrick has spent something like 5 hours a week nurturing a software business alongside a Japanese salaryman position (there is no more "full time" commitment in technology on the planet, outside of those factories in China where they assemble the iPods). He's about to quit his job, because his product --- which I don't think he's be offended if I summed up as "hello world hooked up to a random number generator" --- is beating his full-time salary. I mean it, go to SearchYC, start at his first post, read all the way to the most recent.

* Use bcrypt instead of SHA1 to hash your passwords.

* Pick a product you can develop incrementally. Pick a product you can host, with a web interface. Pick a product you can measure task completion in. I wish I could figure out a way Matasano could do what Patrick is doing, watching the lifecycle of his prospects from first touch on the website to "printing first bingo card". It's hard for us, because we work in security, and our users are touchy. Don't be like us. Pick a product you can measure like the Oceanian Thinkpol.

My biggest piece of advice is, don't shut off your consulting business. If IMVU can build a successful company with chatty online dress-up dolls and the lean startup methodology, imagine how much damage you can do with something that solves real problems for people. You are not running out of time. Build a business. Don't roll the dice on a product you haven't even tested yet.