How to Create the (Almost) Perfect User-Centric App