skip to main content
article
Free Access

A specification language for direct-manipulation user interfaces

Published:01 October 1986Publication History
Skip Abstract Section

Abstract

A direct-manipulation user interface presents a set of visual representations on a display and a repertoire of manipulations that can be performed on any of them. Such representations might include screen buttons, scroll bars, spreadsheet cells, or flowchart boxes. Interaction techniques of this kind were first seen in interactive graphics systems; they are now proving effective in user interfaces for applications that are not inherently graphical. Although they are often easy to learn and use, these interfaces are also typically difficult to specify and program clearly.

Examination of direct-manipulation interfaces reveals that they have a coroutine-like structure and, despite their surface appearance, a peculiar, highly moded dialogue. This paper introduces a specification technique for direct-manipulation interfaces based on these observations. In it, each locus of dialogue is described as a separate object with a single-thread state diagram, which can be suspended and resumed, but retains state. The objects are then combined to define the overall user interface as a set of coroutines, rather than inappropriately as a single highly regular state transition diagram. An inheritance mechanism for the interaction objects is provided to avoid repetitiveness in the specifications. A prototype implementation of a user-interface management system based on this approach is described, and example specifications are given.

References

  1. 1 ANSON, E. The device model of interaction. Comput. Graph. 16, 3 (July 1982), 107-114. Google ScholarGoogle Scholar
  2. 2 BUXTON, W., LAMB, M. R., SHERMAN, D., AND SMITH, K.C. Towards a comprehensive user interface management system. Comput. Graph. 17, 3 (July 1983), 35-42. Google ScholarGoogle Scholar
  3. 3 CARDELLI, L., AND PIKE, R. Squeak: A language for communicating with mice. Comput. Graph. 19, 3 {July 1985), 199-204. Google ScholarGoogle Scholar
  4. 4 FELDMAN, M. B., AND ROGERS, G.T. Toward the design and development of style-independent interactive systems. In Proceedings of the A CM SIGCHI Human Factors in Computer Systems Conference (Gaithersburg, Md., Mar. 15-17). ACM, New York, 1982, pp. 111-116. Google ScholarGoogle Scholar
  5. 5 FOLEY, J. D., AND VAN DAM, A. Fundamentals of Interactive Computer Graphics. Addison- Wesley, Reading, Mass., 1982. Google ScholarGoogle Scholar
  6. 6 FOLEY, J. D., AND WALLACE, V.L. The art of graphic man-machine conversation. Proc. IEEE 62, 4 (Apr. 1974), 462-471.Google ScholarGoogle Scholar
  7. 7 GOLDBERG, A., AND ROBSON, D. Smalltalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass., 1983. Google ScholarGoogle Scholar
  8. 8 GREEN, M. The University of Alberta user interface management system. Comput. Graph. 19, 3 (July 1985), 205-213. Google ScholarGoogle Scholar
  9. 9 HAVES, P. J. Executable interface definitions using form-based interface abstractions. In Advances in Human-Computer Interaction, H. R. Hartson, Ed. Ablex, Norwood, N.J., 1985, pp. 161-189.Google ScholarGoogle Scholar
  10. 10 HEITMEYER, C. L., LANDWEHR, C. E., AND CORNWELL, M.R. The use of quick prototypes in the military message systems project. Softw. Eng. Notes 7, 5 (Dec. 1982), 85-87. Google ScholarGoogle Scholar
  11. 11 HOARE, C. A. R. Communicating sequential processes. Commun. ACM 21, 8 (Aug. 1978), 666-677. Google ScholarGoogle Scholar
  12. 12 HUERAS, J.F. A formalization of syntax diagrams as k-deterministic language recognizers. M.S. thesis, Computer Science Dept., Univ. of California, Irvine, 1978.Google ScholarGoogle Scholar
  13. 13 HUTCHINS, E. L., HOLLAN, J. D., AND NORMAN, D.A. Direct manipulation interfaces. In User Centered System Design: New Perspectives in Human-Computer Interaction, D. A. Norman and S. W. Draper, Eds. Erlbaum, Hillsdale, N.J., 1986.Google ScholarGoogle Scholar
  14. 14 JACOB, R. J.K. Executable specifications for a human-computer interface. In Proceedings of the ACM SIGCHI Human Factors in Computer Systems Conference (Boston, Mass., Dec. 12-15). ACM, New York, 1983, pp. 28-34. Google ScholarGoogle Scholar
  15. 15 JACOB, R. J. K. Using formal specifications in the design of a human-computer interface. Commun. ACM 26, 4 (Apr. 1983), 259-264. Google ScholarGoogle Scholar
  16. 16 JACOB, R. J.K. An executable specification technique for describing human-computer interaction. In Advances in Human-Computer Interaction, H. R. Hartson, Ed. Ablex, Norwood, N.J., i985, pp. 211-242.Google ScholarGoogle Scholar
  17. 17 KASIK, D.J. A user interface management system. Comput. Graph. 16, 3 (July 1982), 99-106. Google ScholarGoogle Scholar
  18. 18 KIERAS, D., AND POLSON, P.G. A generalized transition network representation for interactive systems. In Proceedings of the A CM SIGCHI Human Factors in Computer Systems Conference (Boston, Mass., Dec. 12-15). ACM, New York, 1983, pp. 103-106. Google ScholarGoogle Scholar
  19. 19 LIEBERMAN, H. There's more to menu systems than meets the screen. Comput. Graph. 19, 3 (July 1985), 181-189. Google ScholarGoogle Scholar
  20. 20 MYERS, B. A., AND BUXTON, W. Creating highly-interactive and graphical user interfaces by demonstration. Comput. Graph. 20, 4 (Aug. 1986), 249-258. Google ScholarGoogle Scholar
  21. 21 OLSEN, D. R., AND DEMPSEY, E.P. SYNGRAPH: A graphical user interface generator. Comput. Graph. 17, 3 (July 1983), 42-50. Google ScholarGoogle Scholar
  22. 22 PARNAS, D. L. On the use of transition diagrams in the design of a user interface for an interactive computer system. In Proceedings of the 24th National ACM Conference. ACM, New York, 1969, pp. 379-385. Google ScholarGoogle Scholar
  23. 23 REISNER, P. Formal grammar and human factors design of an interactive graphics system. IEEE Trans. Softw. Eng. SE-7, 2 (Mar. 1981), 229-240.Google ScholarGoogle Scholar
  24. 24 SCHULERT, A. J., ROGERS, G. T., AND HAMILTON, J.A. ADM--A dialog manager. In Proceedings of the A CM SIGCHI Human Factors in Computer Systems Conference (San Francisco, Calif., Apr. 14-18). ACM, New York, 1985, pp. 177-183. Google ScholarGoogle Scholar
  25. 25 SHNEIDERMAN, B. Multi-party grammars and related.features for defining interactive systems. IEEE Trans. Syst. Man Cybern. SMC-12, 2 (Mar. 1982), 148-154.Google ScholarGoogle Scholar
  26. 26 SHNEIDERMAN, B. Direct manipulation: A step beyond programming languages. Computer 16, 8 (Aug. 1983), 57-69.Google ScholarGoogle Scholar
  27. 27 SIBERT, J. L., AND HURLEY, W.D. A prototype for a general user interface management system. Tech. Rep. GWU-IIST-84-47, Institute for Information Science and Technology, George Washington Univ., Washington, D.C., 1984.Google ScholarGoogle Scholar
  28. 28 SIBERT, J. L., HURLEY, W. D., AND BLESER, T.W. An object-oriented user interface management system. Comput. Graph. 20, 4 (Aug. 1986), 259-268. Google ScholarGoogle Scholar
  29. 29 SINGER, A. Formal methods and human factors in the design of interactive languages. Ph.D. dissertation, Computer and Information Science Dept., Univ. of Massachusetts, 1979. Google ScholarGoogle Scholar
  30. 30 SMITH, D. C., IRBY, C., KIMBALL, R., AND VERPLANK, B. Designing the Star user interface. Byte 7, 4 (Apr. 1982), 242-282.Google ScholarGoogle Scholar
  31. 31 WASSERMAN, A.I. Extending state transition diagrams for the specification of human-computer interactions. IEEE Trans. Softw. Eng. SE-11, 8 (Aug. 1985), 699-713. Google ScholarGoogle Scholar
  32. 32 WASSERMAN, A. I., AND SHEWMAKE, D. T. The role of prototypes in the user software engineering (USE) methodology. In Advances in Human-Computer Interaction, H. R. Hartson, Ed. Ablex, Norwood, N.J., 1985, pp. 191-209.Google ScholarGoogle Scholar
  33. 33 WASSERMAN, A. I., AND STINSON, S.K. A specification method for interactive information systems. In Proceedings of the Specifications of Reliable Software Conference. IEEE Press, New York, 1979, pp. 68-79. IEEE Catalog no. 79CH1401-9C.Google ScholarGoogle Scholar
  34. 34 WEINREB, D., AND MOON, D. Lisp Machine Manual. Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Mass., 1981. Google ScholarGoogle Scholar
  35. 35 YUNTEN, T., AND HARTSON, H.R. A supervisory methodology and notation (SUPERMAN) for human-computer system development. In Advances in Human-Computer Interaction, H. R. Hartson, Ed. Ablex, Norwood, N.J., 1985, pp. 243-281.Google ScholarGoogle Scholar

Index Terms

  1. A specification language for direct-manipulation user interfaces

            Recommendations

            Reviews

            Warren S. Hoffman

            Many of us use and benefit daily from computers equipped with direct-manipulation interfaces (such as an Apple Macintosh or an MS-DOS machine equipped with Microsoft Windows). I, for one, have never stopped to think how I would specify the flow of logic of an application being developed for such an environment. The problem, of course, is that with a mouse or the equivalent and a number of windows and pull-down menus, the user can cause a wide variety of actions to take place, far more than the relatively few that exist in a traditional command-oriented application. This research is important and should be of interest to those who select a documentation method for what users refer to as window applications. A system for specifying the user interface is presented. It focuses upon the flow of logic. The language defined is based upon characteristics of direct-manipulation interfaces: :9BThey are usually made up of a number of simple dialogues. The dialogues are related to each other as a set of coroutines. The layout details can be dealt with separately. They seem to have nodes and states (despite appearances). The specification language has been implemented and tested, with some success, for some relatively simple applications. The development of these concepts to the point of generating an applications development environment, perhaps even a standard environment, would be useful.

            Access critical reviews of Computing literature here

            Become a reviewer for Computing Reviews.

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Graphics
              ACM Transactions on Graphics  Volume 5, Issue 4
              Special issue on user interface software
              Oct. 1986
              92 pages
              ISSN:0730-0301
              EISSN:1557-7368
              DOI:10.1145/27623
              Issue’s Table of Contents

              Copyright © 1986 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 October 1986
              Published in tog Volume 5, Issue 4

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader