I am trying to transform Customer and Company as products, so I trick my mind to evolve them appropriately.
This reminds me of the quote by Henry Ford when he said if he had asked people what they wanted they would have told him "faster horses". Sometimes users don't know what they want till you give it to them.
I used to think like that, but this is a moving point. As long you finish a list of things that you deemed important, many others will replace the old ones and the list actually will never be empty. This feeling of fulfillment will never come.
So I'm doing differently this time in my startup (that was also my side project for a while). I created a funnel and measured everything. I cannot develop anything on top of my head (We, developers, are creative by nature, and it's easy to find a myriad of interesting new features). The new feature needs to come from data and user feedback only. No exceptions.
The funnel is completed and has being measured, then the project is completed. Everything beyond that is just optimization. This was a shift in my mind and I feel much better because I finished the project, instead of constantly open. And of course, this is not a mind tricky. The project is actually completed.
Please, please, if your site requires AJAX to work at all, then retry failed AJAX queries. Use exponential backoff or whatever but don't let the AJAX query fail once and the page be unusable.
This happens all the freaking time when I'm on dialup, and there's nothing more annoying than having filled out a form or series of forms only to have the submit button break because it used AJAX to do a sanity check and threw an exception because the server timed out after some absurdly short (dialup-wise) period of time while the client was sending the request.