Don is right on with his assessment here- there is simply no substitute for talking to customers, and more specifically _listening_ to customers.
When I asked him if he had talked to any security managers at retail stores, he said no, he wanted to wait until the product was completely done and could show off all the features that solve the problem. I will spare you the rest of the story, it goes downhill from here. If he had shown an early prototype to potential customers he could have gotten early feedback that would have improved the product immensely.
One of the real tensions when working on a 1.0 is deciding when to show it to potential users. 'When the product is complete' is certainly too late. But too early often makes it hard to really learn from the customers (particularly if you're really trying to do something innovative). Customers have to be able to see and experience the innovation to really understand and use the technology so you can gain insight from your analysis of their behavior.
So when is just right? When you have gotten enough of the 1.0 functional so the core concepts become manifest when people use the technology. When you can see the product and basically 'get it.' When you've gotten here, its time to start letting people see and use the technology, so you can fine tune it to address their needs.
Of course, all of this presumes that you have a rich enough understanding of customer problems to indentify a core innovation that solves a real problem. (And this usually comes from your own experience in some domain, or maybe from talking to customers about their problem. But probably it comes from your experience).
Okay, it's here. You can now go to