User Interface Design: Bridging the Gap from User Requirements to Design