Download Free PDF Ebooks Graphical User Interface Programming

Almost as long as there have been user interfaces, there have been special software systems and tools tohelp design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others have proven less successful at supporting the kinds of user interfaces people want to build. Virtually all applications today are built using some form of user interface tool [Myers 2000].
User interface (UI) software is often large, complex and difficult to implement, debug, and modify. As interfaces become easier to use, they become harder to create [Myers 1994]. Today, direct manipulation interfaces (also called “GUIs†for Graphical User Interfaces) are almost universal. These interfaces require that the programmer deal with elaborate graphics, multiple ways for giving the same command, multiple asynchronous input devices (usually a keyboard and a pointing device such as a mouse), a “mode free†interface where the user can give any command at virtually any time, and rapid “semantic feedback†where determining the appropriate response to user actions requires specialized information about the objects in the program. Interfaces on handheld devices, such as a Palm organizer or a Microsoft PocketPC device, use similar metaphors and implementation strategies. Tomorrow’s user interfaces will provide speech recognition, vision from cameras, 3-D, intelligent agents and integrated multi-media, and will probably be even more difficult to create. Furthermore, because user interface design is so difficult, the only reliable way to get good interfaces is to iteratively re-design (and therefore re-implement) the interfaces after user testing, which makes the implementation task even harder.
Fortunately, there has been significant progress in software tools to help with creating user interfaces, and today, virtually all user interface software is created using tools that make the implementation easier. For example, the MacApp system from Apple, one of the first GUI frameworks, was reported to reduce development time by a factor of four or five [Wilson 1990]. A study commissioned by NeXT claimed thatthe average application programmed using the NeXTStep environment wrote 83% fewer lines of code and took one-half the time compared to applications written using less advanced tools, and some applications were completed in one-tenth the time. Over 3 million programmers use Microsoft’s Visual Basic tool because it allows them to create GUIs for Windows significantly more quickly.
This chapter surveys user interface software tools, and explains the different types and classifications. However, it is now impossible to discuss all user interface tools, since there are so many, and new research tools are reported every year at conferences such as the annual ACM User Interface Software and Technology Symposium (UIST) and the ACM SIGCHI conference. There are also about three PhD theses on user interface tools every year. Therefore, this article provides an overview of the most popular approaches, rather than an exhaustive survey. It has been updated from previous versions (e.g., [Myers 1995]).
Download Free PDF Ebooks Graphical User Interface Programming
Posted in :