Any software system is a service. A good service must satisfy the user s expectations. From the user s viewpoint, the first impression of a software system is its user interface (UI). Due to the fact that any software system should accept inputs, conduct computations, and display outputs, the user interface mainly performs two functions.