Abstract
Almost as long as there have been user interfaces, there have been special software systems and tools to help 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. This article discusses the different kinds of user interface software tools, and investigates why some approaches have worked and others have not. Many examples of commercial and research systems are included. Finally, current research directions and open issues in the field are discussed.
- ADOBE SYSTEMS 1985. Postscript Language Reference Manual. Addison-Wesley, Reading, Mass. Google Scholar
- APPLE COMPUTER 1985. Inside Macintosh. Addison-Wesley, Reading, Mass.Google Scholar
- BLY, S. A. AND ROSENBERG, J.K. 1986. A comparison of tiled and overlapping windows. In Human Factors in Computing Systems, Proceedings SIGCHI'86 (Boston, Mass., Apr.). ACM, New York, 101 106. Google Scholar
- BOOZ ALLEN AND HAMILTON 1992. NeXTStep vs. other development environments. Booz Alien and Hamilton, Inc. Report available from NEXT, Inc.Google Scholar
- BORNING, A. 1981. The programming language aspects of Thinglab. A constraint-oriented simulation laboratory. ACM Trans. Program. Lang. Syst. 3, 4 (Oct.), 353-387. Google Scholar
- BORNING, A. AND DUISBERG, R. 1986. Constraint-based tools for building user interfaces. ACM Trans. Graph. 5, 4 (Oct.), 345-374. Google Scholar
- BORNING, A. 1986. Defining constraints graphically. In Human Factors in Computing Systems, Proceedings SIGCHI'86. ACM, New York, 137-143. Google Scholar
- BUXTON, W., LAMB, M. R., SHERMAN, n., AND SMITH, K.C. 1983. Towards a comprehensive user interface management system. Comput. Graph. 17, 3, 35-42. Google Scholar
- BYRNE, M. D., WOOD, S. D., SUKAVm~A, P., FOLEY, J. D., AND KmRAS, D.E. 1994. Automating interface evaluation. In Human Factors in Computing Systems, Proceedings SIGCHI'94. ACM, New York, 232 237. Google Scholar
- CARDELLI, L. 1988. Building user interfaces by direct manipulation. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'88 (Banff, Alberta, Canada, Oct.). ACM, New York, 152-166. Google Scholar
- CARDELLI, L. AND PIKE, R. 1985. Squeak: A language for communicating with mice. In SIG- GRAPH '85. Comput. Graph. 19, 3 (July), 199-204. Google Scholar
- CHIMERA, R. 1993. Evaluation of platform independent user interface builders. Tech. Rep. Working Paper 93-09, Human-Computer Interaction Laboratory, Univ. of Maryland.Google Scholar
- DEPALMA, D. A. AND WOODmNG, S.D. 1993. Client/server power tools futures. Softw. Strat. Rep. 4, i (Apr.), 2-13. This is available only from Forrester Research, Cambridge, Mass.Google Scholar
- F~SHER, G. L., BussE, D. E., AND WOLBER, D. A. 1992. Adding rule-based reasoning to a demonstrational interface builder. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'92 (Monterey, Ca., Nov.). ACM, New York, 89 97. Google Scholar
- FLECCHIA, M. A. AND BERGEEON, R.D. 1987. Specifying complex dialogs in ALGAE. In Human Factors in Computing Systems, CHI + GI'87 (Toronto, Ont., Canada, Apr.). ACM, New York, 229-234. Google Scholar
- FRANK, M. R. AND FOLEY, J.D. 1993. Model-based user interface design by example and by interview. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'93 (Atlanta, Ga., Nov.). ACM, New York, 129-137. Google Scholar
- GASKINS, T. 1992. PEXlib Programming Manual. O'Reilly and Associates, Inc., Sebastopol, Calif. Google Scholar
- GLEICHER, M., 1993. A graphics toolkit based on differential constraints. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'93 (Atlanta, Ga., Nov.). ACM, New York, 109-120. Google Scholar
- GREEN, M. 1986. A survey of three dialog models. ACM Trans. Graph. 5, 3 (July), 244-275. Google Scholar
- GUIMARAES, N. M., CORREIA, N. M., AND CARMO, T.A. 1992. Programming time in multimedia user interfaces. In ACM SIGGRAPH Symposzum on User Interface Software and Technology, Proceedings UIST'92 (Monterey, Ca., Nov.). ACM, New York, 125-134. Google Scholar
- HARTSON, H. R. AND HIX, D. 1989. Human-computer interface development: Concepts and systems for its management. ACM Comput. Surv. 21, I (Mar.), 5-92. Google Scholar
- HARTSON, H. R., SIOCHL A. C., AND HIx, D. 1990. The UAN: A user-oriented representation for direct manipulation interface designs. ACM Trans. Inf. Syst. 8, 3 (July), 181-203. Google Scholar
- HAYES, r. J., SZEKELY, r. A., AND LERNER, a.A. 1985. Design alternatives for user interface management systems based on experience with COUSIN. In Human Factors in Computtng Systems, Proceedings SIGCHI'85 (San Francisco, Ca., Apr.). ACM, New York, 169 175. Google Scholar
- HENDERSON, D. h., JR. 1986. The Trillium user interface design environment. In Human Factors in Computing Systems, Proceedings SIGCHI'86. ACM, New York, 221-227. Google Scholar
- HILL, R. D. 1993. The Rendezvous constraint maintenance system. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'93 (Atlanta, Ga., Nov.). ACM, New York, 225-234. Google Scholar
- HILL, R. D. 1986. Supporting concurrency, communication and synchronization in humancomputer interaction The Sassafras UIMS. ACM Trans. Graph. 5, 3 (July), 179-210. Google Scholar
- HILL, R. D., BRINCK, T., PATTERSON, J. F., ROHALL, S. L., AND WINNER, W. T. 1993. The Rendezvous language and architecture. Commun. ACM 36, I (Jan.), 62-67. Google Scholar
- HIX, D. 1989. A procedure for evaluating human-computer interface development tools. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'89 (Williamsburg, Va., Nov.). ACM, New York, 53-61. Google Scholar
- HUDSON, S.E. 1993. User interface specification using an enhanced spreadsheet model. Tech. Rep. GIT-GVU-93-20, Georgia Tech Graphics, Visualization and Usability Center.Google Scholar
- HUDSON, S. E. ~-~u STASKO, J.T. 1993. Animation support in a user interface toolkit: Flexible, robust, and reusable abstractions. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'93 (Atlanta, Ga., Nov.). ACM, New York, 57-67. Google Scholar
- INGALLS, D. H.H. 1981. The Smalltalk graphics kernel. Byte Mag. 6, 8 (Aug.), 168-194.Google Scholar
- JACOB, R. J.K. 1986. A specification language for direct manipulation interfaces. ACM Trans. Graph. 5, 4 (Oct.), 283 317. Google Scholar
- JOHNSON, J. A., NARDI, B. A., ZARMER, C. L., ANn MILLER, J.R. 1993. ACE: Building interactive graphical applications. Commun. ACM 36, 4 (Apr.), 41-55. Google Scholar
- KARRER, A. AND SCACCm, W. 1990. Requirements for an extensible object-oriented tree/graph editor. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceed- ~ngs UIST'90 (Snowbird, Utah, Oct.). ACM, New York, 84-91. Google Scholar
- KIM, W. C. AND FOLEY, J.D. 1993. Providing high4evel control and expert assistance in the user interface presentation design. In Human Factors in Computing Systems, Proceedings INTERCHI'93 (Amsterdam, The Netherlands, Apr.). ACM, New York, 430-437. Google Scholar
- LANDAY, J. A. AND MYERS, B.A. 1995. Interactive sketching for the early stages of user interface design. In Human Factors in Computing Systems, Proceedings of SIGCHI '95. ACM, New York. Google Scholar
- LINTON, M. A., VLtSSIDES, J. M., AND CALDER, P.R. 1989. Composing user interfaces with InterViews. IEEE Comput. 22, 2 (Feb.), 8-22. Google Scholar
- MCCORMACK, J. AND ASENTE, P. 1988. An overview of the X toolkit. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'88 (Banff, Alberta, Canada, Oct.). ACM, New York, 46-55. Google Scholar
- MYERS, B.A. 1994. Challenges of HCI design and implementation. ACM Interactions 1, 1. Google Scholar
- MYERS, B. A. (ED.). 1992a. Languages for Developing User Interfaces. Jones and Bartlett, Boston. Google Scholar
- MYERS, B.A. 1992b. Demonstrational interfaces: A step beyond direct manipulation. IEEE Comput. 25, 8 (Aug.), 61-73. Google Scholar
- MYERS, B.A. 1991a. Separating application code from toolkits: Eliminating the spaghetti of call-backs. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'91, (Hilton Head, SC, Nov.). ACM, New York, 211-220. Google Scholar
- MYERS, B.A. 1991b. Graphical techniques in a spreadsheet for specifying user interfaces. In Human Factors in Computing Systems, Proceedings SIGCHI'91 (New Orleans, La., Apr.). ACM, New York, 243-249. Google Scholar
- MYERS, B.A. 1990a. A new model for handling input. ACM Trans. Inf. Syst. 8, 3 (July), 289-320. Google Scholar
- MYERS, B.A. 1990b. All the Widgets. SIGGRAPH Vid. Rev. 57.Google Scholar
- MYERS, B.A. 1990c. Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1, i (Mar.), 97-123.Google Scholar
- MYERS, B.A. 1989. User interface tools: Introduction and survey. IEEE Softw. 6, I (Jan.), 15-23. Google Scholar
- MYERS, B.A. 1988a. A taxonomy of user interfaces for window managers. IEEE Comput. Graph. Appl. 8, 5 (Sept.), 65-84. Google Scholar
- MYERS, B.A. 1988b. Creating User Interfaces by Demonstration. Academic Press, Boston. Google Scholar
- MYERS, B. A. 1986. A complete and efficient implementation of covered windows. IEEE Comput. 19, 9 (Sept.), 57-67. Google Scholar
- MYERS, B.A. 1984. The user interface for Sapphire. IEEE Comput. Graph. Appl. 4, 12 (Dec.), 13-23.Google Scholar
- MYERS, B. A. AND ROSSON, M.B. 1992. Survey on user interface programming. In Human Factors in Computing Systems, Proceedings SIGCHI'92 (Monterey, Ca., May). ACM, New York, 195-202. Google Scholar
- MYERS, B. A. AND VANDER ZANDEN, B. 1992. Environment for rapid creation of interactive design tools. Int. J. Comput. Graph. 8, 2 (Feb.), 94-116. Google Scholar
- MYERS, B. A., SMITH, D. C., AND Horn% B. 1992a. Report of the 'End-User Programming' working group. In Languages for Developing User Interfaces. Jones and Bartlett, Boston, 343-366. Google Scholar
- MYERS, B. A., GIUSE, D., AND VANDER ZANDEN, B. 1992b. Declarative programming in a prototype-instance system: Object-oriented programming without writing methods. Sigplan Not. 27, 10 (Oct.), 184-200. Google Scholar
- MYERS, B. A., GIUSE, D. A., DANNENBERG, R. B., VANDER ZANDEN, B., KOSBIE, D. S., PER~IN, E., MICKISH, A., AND MARCHAL, P. 1990. Garnet: Comprehensive support for graphical, highlyinteractive user interfaces. IEEE Comput. 23, 11 (Nov.), 71-85. Google Scholar
- MYERS, B. A., McDANIEL, R. G., AND KOSBIE, D. S. 1993. Marquise: Creating complete user interfaces by demonstration. In Human Factors in Computing Systems, Proceedings INTER- CHI'93, (Amsterdam, The Netherlands, Apr.). ACM, New York, 293-300. Google Scholar
- MYERS, B. A., VANDER ZANDEN, B., DANNENBERG, R.B. 1989. Creating graphical interactive application objects by demonstration. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'89 (Williamsburg, Va., Nov.). ACM, New York, 95-104. Google Scholar
- NECHES, e., FOLEY, J., SZEKELY, F., SUKAVIRIYA, P., Luo, P., KOVACEVIC, S., AND HUDSON, S. 1993. Knowledgeable development environments using shared design models. In Proceedings of the 1993 International Workshop on Intelligent User Interfaces. ACM, New York, 63-70. Google Scholar
- NEWBERY, F.J. 1988. An interface description language for graph editors. In 1988 IEEE Workshop on Visual Languages. IEEE Computer Society, Washington, D.C., 144-149.Google Scholar
- NEWMAN, W.M. 1968. A system for interactive graphical programming. In AFIPS Spring Joint Computer Conference. AFIPS, Montvale, N.J., 47-54.Google Scholar
- NIELSEN, J. 1993. Noncommand user interfaces. Commun. ACM 36, 4 (Apr.), 83-99. Google Scholar
- OLSEN, D. R., JR. 1992. User Interface Management Systems: Models and Algorithms. Morgan Kaufmann, San Mateo, Calif. Google Scholar
- OLSEN, D. R., JR. 1989. A programming language basis for user interface management. In Human Factors in Computing Systems, Proceedings SIGCHI'89 (Austin, Tex., Apr.). ACM, New York, 171-176. Google Scholar
- OLSEN, D. R., JR. 1987. Larger issues in user interface management. Comput. Graph. 21, 2 (Apr.), 134-137. Google Scholar
- OLSEN, U. a., JR. 1986. Mike: The Menu Interaction Kontrol Environment. ACM Trans. Graph. 5, 4 (Oct.), 318-344. Google Scholar
- OLSEN, D. R., JR. AND DEMPSEY, E.P. 1983. Syngraph: A graphical user interface generator. In SIGGRAPH '83. Comput. Graph. 17, 3 (July), 43-50. Google Scholar
- OLSEN, D. R., JR. AND HALVERSEN, B. W. 1988. Interface usage measurements in a user interface management system. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'88 (Banff, Alberta, Canada, Oct.). ACM, New York, 102-108. Google Scholar
- OLSEN, D. R., JR., FOLEY, J. D., HUDSON, S. E., MmLER, J. AND MYERS, B. 1993. Research directions for user interface software tools. Behav. Inf. Tech. 12, 2 (Mar.-Apr.), 80-97.Google Scholar
- OUSTERHOUT, J. K. 1991. An Xll toolkit based on the Tcl language. In Winter USENIX. USENIX Assoc., Berkeley, Calif., 105-115.Google Scholar
- PALEY, A. J., HANSEN, W., KAZAR, M., SHERMAN, M., WADLOW, M., NEUEUNDORFFER, T., STERN, Z., BADISI~, M., Ar/D PI~TI~I~D, T. lO~8. T~ Andrew t,oolklt An o~~rvlew. In Procecdir~gs of Winter Usenix Technieal Conference (Dallas, Tex., Feb.). USENIX Assoc., Berkeley, Califi, 9-21.Google Scholar
- PAUSCH, R., CONWAY, M., AND DELINE, R. 1992. Lesson learned from SUIT, the Simple User Interface Toolkit. ACM Trans. Inf. Syst. 10, 4 (Oct.), 320-344. Google Scholar
- PIKE, R. 1983. Graphics in overlapping bitmap layers. ACM Trans. Graph. 2, 2 (Apr.), 135-160. Also in Computer Graphics: SIGGRAPH'83 Conference Proceedings, 1983. pp. 331-355. Google Scholar
- RUSSO, P. AND BOOR, S. 1993. How fluent is your interface? Designing for international users. In Human Factors m Computing Systems, Proceedings INTERCHI'93 (Amsterdam, Apr.). ACM, New York, 342-347. Google Scholar
- SAMUELSON, P. 1993. The ups and downs of look and feel. Commun. ACM 36, 4 (Apr.), 29-35. Google Scholar
- SCHEIFLER, R. W. AND GETTYS, J. 1986. The X Window System. ACM Trans. Graph. 5, 2 (Apt.l, 79-109. Google Scholar
- SCHMUCKER, K.J. 1986. MacApp: An application framework. Byte 11, 8 (Aug.), 189-193.Google Scholar
- SCHULERT, A. J., ROGERS, G. T., AND HAMmTON, J.A. 1985. ADM-A Dialogue Manager. In Human Factors in Computing Systems, Proceedings SIGCHI'85. ACM, New York, 177-183. Google Scholar
- SINGH, G. AND GREEN, M. 1989. Chisel: A system for creating highly interactive screen layouts. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'89. ACM, New York, 86-94. Google Scholar
- SINGH, G. AND GREEN, M. 1988. Designing the interface designer's interface. In ACM SIG- GRAPH Symposium on User Interface Software and Technology, Proceedings UIST'88 (Banff, Alberta, Canada, Oct.). ACM, New York, 109-116. Google Scholar
- SMITH, D. C., IREY, C., K~MBALL, R., VERPLANK, B., AND HARSLEM, E. 1982. Designing the Star user interface. Byte 7, 4 (Apr.), 242-282.Google Scholar
- STALLMAN, R.M. 1979. Emacs: The extensible, customizable, self~documenting display editor. Tech. Rep. 519, MIT Artificial Intelligence Lab, Cambridge, Mass. Google Scholar
- STEVENS, A., ROBERTS, B., AND STEAD, L. 1983. The use of a sophisticated graphics interface in computer-assisted instruction. IEEE Comput. Graph. Appl. 3, 2 (Mar./Apr.), 25-31.Google Scholar
- STRAUSS, P. S. AND CAREY, R. 1992. An object-oriented 3D graphics toolkit. In SIGGRAPH '92. Comput. Graph. 26, 2, 341-349. Google Scholar
- SUKAVIRIYA, P. AND FOLEY, J.D. 1990. Coupling a UI framework with automatic generation of context-sensitive animated help. In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'90 (Snowbird, Utah, Oct.). ACM, New York, 152-166. Google Scholar
- SUKAVIR1YA, N., KOVACEVIC, S., FOLEY, J., MYERS, B., OLSEN, D., AND SCHNEIDER-HUFSCHMIDT, M. 1994. Model-based user interfaces: What is it and why should I care? In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'94. ACM, New York, 133-135. Google Scholar
- SUKAVIRIYA, P., FOLEY, J. D., AND GRIFFITH, T. 1993. A second generation user interface design environment: The model and the runtime architecture. In Human Factors in Computing Systems, Proceedings INTERCHI'93 (Amsterdam, Apr.). ACM, New York, 375-382. Google Scholar
- SUTHERLAND, I. E., 1963. SketchPad: A man-machine graphical communication system. In AFIPS Spring Joint Computer Conference. AFIPS, Montvale, N.J., 329-346.Google Scholar
- SWINEHART, D., ZELLWEGER, P., BEACH, R., AND HAGMANN, R. 1986. A structural view of the Cedar programming environment. ACM Trans. Program. Lang. Syst. 8, 4 (Oct.), 419-490. Google Scholar
- SZEKELY, P., Luo, P., AND NECHES, R. 1993. Beyond interface builders: Model-based interface tools. In Human Factors in Computing Systems, Proceedings INTERCHI'93 (Amsterdam, Apr.). 383-390. Google Scholar
- TEITELMAN, W. 1979. A display oriented programmer's assistant. Int. J. Man Mach. Stud. 1I, 157-187. Also Xerox PARC Tech. Rep. CSL-77-3, Palo Alto, CA, March 8, 1977.Google Scholar
- TESLER, L. 1981. The Smalltalk environment. Byte Mag. 6, 8 (Aug.), 90 147.Google Scholar
- VANDER ZANDEN, B. AND MYERS, B.h. 1990. Automatic, look-and-feel independent dialog creation for graphical user interfaces. In Human Factors in Computtng Systems, Proceedings SIGCHI'90, (Seattle, Wash., Apr.). ACM, New York, 27-34. Google Scholar
- VLISSIDES, J. M. AND LINTON, M.A. 1990. Unidraw: A framework for building domain-specific graphical editors. ACM Trans. Inf. Syst. 8, 3 (July), 204-236. Google Scholar
- VLISSIDES, J. M. AND TANG, S. 1991. A Unidraw-based user interface builder. In ACM SIG- GRAPH Symposium on User Interface Software and Technology, Proceedings UIST'91. ACM, New York, 201-210. Google Scholar
- WERNECKE, J. 1994. The Inventor Mentor. Addison-Wesley, Reading, Mass.Google Scholar
- WIECHA, C., BENNETT, W., BOLES, S., GOULD, J., AND GREENE, S. 1990. ITS: A tool for rapidly developing interactive applications. ACM Trans. Inf. Syst. 8, 3 (July), 204-236. Google Scholar
- WIECHA, C., BOIES, S., GREEN, M., HUDSON, S., AND MYERS, B. 1989. Direct manipulation of programming: How should we design interfaces? In ACM SIGGRAPH Symposium on User Interface Software and Technology, Proceedings UIST'89 (Williamsburg, Va., Nov.). ACM, New York, 124-126. Google Scholar
- WILDE, N. AND LEWIS, C. 1990. Spreadsheet-based interactive graphics: From prototype to tool. In Human Factors in Computing Systems, Proceedings SIGCHI'90. ACM, New York, 153-159. Google Scholar
- WILSON, D. 1990. Programming with MacApp. Addison-Wesley, Reading, Mass. Google Scholar
- X BUSINESS GROUP. 1994. Interface Development Technology. X Business Group, Inc., Fremont, Calif.Google Scholar
- ZELEZNIK, R. C., CONNER, D., WLOKA, M., ALIAGA, D., HUAN6, N., HUBBARD, P., KNEP, B., KAUFMAN, H., HUGHES, J., AND VAN DAM, A. 1991. An object-oriented framework for the integration of interactive animation techniques. In SIGGRAPH '91. Comput. Graph. 25, 4 (July), 105-112. Google Scholar
Index Terms
- User interface software tools
Recommendations
Past, present, and future of user interface software tools
Special issue on human-computer interaction in the new millennium, Part 1A user interface software tool helps developers design and implement the user interface. Research on past tools has had enormous impact on today's developers—virtually all applications today are built using some form of user interface tool. In this ...
The amulet user interface development environment: special interest group meeting
CHI EA '97: CHI '97 Extended Abstracts on Human Factors in Computing SystemsThe User Interface Software Group at CMU is investigating ways to make the design, prototyping, and implementation of user interfaces substantially easier. Unlike other user interface development environments that deal only with widgets like menus, ...
The future of user interface design tools
CHI EA '05: CHI '05 Extended Abstracts on Human Factors in Computing SystemsThis workshop aims to gather researchers in the field of user interface design tools to identify important themes for the next decade of research. These tools aid in the design and development of interactive systems: they include interface builders, ...
Comments