What does it take to make an app good?