Good user interface design is difficult.