Design and Implementation of the GUI of a Software Tool for Structural Complexity Management
International Conference on Integration of Design, Engineering and Management for Innovation Porto, Portugal 2009.
We present a case-study in software redesign with focus on the graphical user interface. In the presentation we mainly discuss the role and the tasks of the UI designer. Other focuses of our representation are the project procedure and the communication between the designer and the programmers. The two main tasks of the designer are creating the UI specification and supervising the implementation. While the first task is dominated by creative work and regular presentations to management, the second task predominantly consists of communication and testing activities for the designer. In our presentation we also discuss the role and advantages of the applied software tools. At the beginning of the creation of the specification the designer created the vision of the user experience and the basic concept of the UI. In the following steps he transformed them into a specification for the new UI which was documented in the style guide. In the course of this task the designer’s activities changed from artistic to functional, from iterative to almost sequential. Moreover his activities became more efficient over time in terms of the produced results. The second main task is supervising the implementation the new UI. Here, the designer’s main activities are testing the implemented parts of the specification and communicating the test results to the programmers. We apply several software tools to support the communication processes e.g. bug-tracking software. However, the most effective tools apart from face-to-face discussions are annotated sketches and screenshots. This way most of the problems caused by the imprecision of language can be avoided. Thus, we believe that combining tools for annotating and creating sketches and/or screenshots together with bug-tracking software could make the UI project more efficient as less iteration due to misunderstandings would be required. This applies particularly to distributed project set-ups.