The first problem is that the product should be suggested by the users, not thought up by the developers. If the users tell you what they need, they are more likely to buy it. This is called market-driven product development.
The second thing to keep in mind is that you will probably think your product is about three times as valuable as your competitor thinks your product is. And your customer will think your product is about a third as special as your competitor thinks your product is. So basically, your customer thinks your product is about one ninth as special and beautifully different as you do.
In my humble opinion, these are the mistakes the author made, not the ones he discussed in his piece.
Listening to users for ideas works well in plenty of scenarios, but there are also plenty of other scenarios where the users won't suggest something innovative because they don't have the same persective of opportunities as the developer. The best situation is where the developer is also a user of the product.
However in all three situations (idea by users/developer/user+developer) you can easily fail if nobody wants to pay for it. You can find millions of people who say they want a better messenger app and they have plenty of ideas of what features their dream app has. Will they pay for it though? Unlikely.
https://news.ycombinator.com/item?id=13421608