#2 is pretty helpful for me in terms of thinking about the problem. It seems really obvious now, but I tended to think of performance and usability as different buckets each to be optimized on their own. I just thought of better performance of an end to its own (faster stuff is JUST better, right?). Of course the reason performance is important is because it makes things more usable.