.NET Zone is brought to you in partnership with:

Krishna Kumar is a software development manager from New Hampshire. He writes on topics related to software development, programming, project management, and business management. Krishna is a DZone MVB and is not an employee of DZone and has posted 41 posts at DZone. You can read more from them at their website. View Full User Profile

Validation Through Rejection

06.10.2012
| 5360 views |
  • submit to reddit

This is the wrong way to go about product focus:

I’d rather use a service that has a strong, single-minded vision, even if some of the decisions aren’t exactly how I’d want them, than a washed-out, milquetoast service created by committee, designed to meet market demand, that tries to make everybody happy.

Another way to put it: if someone out there doesn’t hate your product, it’s probably not worth using.


As always, there is an element of truth here. Trying to please everyone by adding features indiscriminately can result in a product that does nothing well. It is essentially a matter of logistics. You generally do not have the resources (time, money, capable staff) to address every requirement properly (when there are too many of them) and ensure that they integrate well with other features in your product. This is especially true when you are a startup. You have to choose your battles wisely.

However…

  1. Having a strong, single-minded vision may make for a very useful product, but is not necessarily a predictor of market success. For example, the Flip Video camera was a splendid piece of equipment that did one job exceedingly well: recording high-resolution videos. Yet, it did not fulfill enough expectations for Cisco to keep it alive after its expensive acquisition. In contrast, we have smart “phones” that not only allow you to make calls, but do a million other functions, but people cannot stop buying them.
  2. When you have a specialized product at the lower end of the price scale, your more expensive competitor can eat into your business by providing a similar offering with the security of a bigger brand. Small companies sometimes have the good luck (or foresight) to fly below the radar of their bigger competitors, who are sometimes full of hubris that they dismiss new threats instead of going directly after them. A ruthless larger company can be very difficult to fight off, because they can use pricing or partnership strategies or even employ lawyers to go after you on IP rights violations.
  3. When you are at the high end, the competition (in technology) can make inroads with cost-conscious customers who are more interested in saving some money instead of having the best. What remains is a decreasing pool of the professional users who demand high quality and the status-conscious buyers. You may be able to survive if prices in your product sector drop (this is true of the electronics market), but that may also mean lower margins.

Every product should continue to expand vertically and horizontally. Vertically in the sense that core functions, wherever possible, must be improved. For example, a new model of a car should try to provide greater fuel efficiency, more power and more comfort. But there should be horizontal expansion too to stave off competition from substitute goods. Sometimes you get a new product, such as the crossover SUV, because of the added features. The extent of how much vertical and horizontal changes you should make is dependent on the market situation.

There is a fundamental logical error in saying that if someone doesn’t like something, it is worth having. In the example, the author himself (Andy Baio) hates “washed-out services created by committee”, but even though there is at least one hater, he doesn’t think they are worth using. Weird logic. Also, if everyone hates your product, is it really worth having? This kind of argument is very similar to the defense employed by politicians in scandal distress: “They are attacking me because they know I am right.”

Unfortunately, the logical way to phrase this is not very exciting because you cannot just explain that in one sentence. If someone out here doesn’t hate your product, maybe your product is really that good. Or maybe they don’t know about your product or even know about it — you need to do more marketing. If someone out here does hate your product, make sure to find someone who does not. If you cannot, come back and try to satisfy the person who hated your product enough to tell you. And so on.

Published at DZone with permission of Krishna Kumar, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Fahmeed Nawaz replied on Tue, 2012/06/12 - 10:27am

what you are looking for is an ORM framework.
There are at least 2 available right now: Morphia and Spring data.
They will map your POJOs to DBObject and vice versa.

If you are looking for a quick mapping, there is also a feature in the driver using DBCollection.setObjectClass and setInternalClass.
But the limitation is that your POJO must implement the DBObject interface (implement map style methods).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.