Hacker News new | ask | show | jobs
by pmjordan 6691 days ago
I can see what he's saying: to make a great product, basically consider market forces your local gradient, then follow the steepest descent. Surely, though, that suffers from the same problem as the classic version of the gradient descent algorithm: it's easy to get stuck in a local optimum. So I do think your starting point matters.

His example, gmail, suffers from this too. There were many webmail and offline email clients before gmail, the key to its success was its integration with an excellent search algorithm. Without that starting point, it would have most likely been pulled towards some local optimum which had already been discovered. Okay, so Google is full of search experts, so maybe internal market forces would have been different than those of the worldwide market. Most startups don't have that kind of micro-market which takes them to some kind of new optimium though.

Taking the algorithmic analogy further, in practice you would probably not want to do pure gradient descent if it feels like you're heading for a known local optimum, and instead stochastically/heuristically "go against the flow" and experiment with idiosyncratic features.

1 comments

I don't think getting stuck in a local optimum is as important as the speed with which you get there.

Techniques for finding a global optimum of a numerical function are expensive, time-consuming, and often find worse solutions before they find the best one. Do this in a startup, and your local-optimum-seeking competition will crush you.

Seems to me that thinking there is a better solution that your users don't know about (which led you to the local optimum) is exactly the lack of humility that Paul was warning against.

Sorry, I didn't actually mean you should try to go straight for the global optimum (I'd argue there's probably no such thing) - I'm just wondering about known local optima. Solutions that already exist. I don't necessarily know about startups, but in open source software, it seems that a lot of the time, there's some slick and cool new take on a problem. As it becomes popular, it eventually just grows in the direction of all the other solutions that are out there, becoming yet another bloated clone. It seems to me that if you find yourself going down that road, you should steer against that trend. Or should you?