skip to main content
article
Free access

Constraint-based tools for building user interfaces

Published: 01 October 1986 Publication History

Abstract

A constraint describes a relation that must be maintained. Constraints provide a useful mechanism to aid in the construction of interactive graphical user interfaces. They can be used to maintain consistency between data and a view of the data, to maintain consistency among multiple views, to specify layout, and to specify relations between events and responses for describing animations of interactive systems and event-driven simulations. Object-oriented techniques for constraint representation and satisfaction are presented, and a range of examples that demonstrate the practical use of static and temporal constraints for such purposes is presented. These examples include animations of algorithms and physics simulations, and constructing user-interface elements such as file browsers, views onto statistical data, and an interactive monitor or a simulated operating system.

References

[1]
BAECKER, R. Two systems which produce animated representations of the execution of computer programs. SIGCSE Bull. 7, 1 (Feb. 1975), 158-167.]]
[2]
BAECKER, R. Sorting Out Sorting. 16mm color sound film, 25 minutes, Univ. of Toronto, Toronto, Ont., Canada, 1981.]]
[3]
BECKER, R. A., AND CLEVELAND, W.S. Brushing scatterplots. AT&T Bell Laboratories, Murray Hill, N.J., 1986.]]
[4]
BECKER, R. A., CLEVELAND, W. S., AND WILKS, A. R. High-interaction graphics for data analysis. AT&T Bell Laboratories, Murray Hill, N.J., June 1986.]]
[5]
BIRTWISTLE, G. M., DAHL, O.-J., MYHRHAUG, B., AND NYGAARD, K. SIMULA Begin. Auerbach, Pennsauken, N.J., 1973.]]
[6]
BORNING, A.H. ThingLab--A constraint-oriented simulation laboratory. Ph.D. dissertation, Dept. of Computer Science, Stanford Univ., Stanford, Calif., Mar. 1979. (A revised version is published as Rep. SSL-79-3, Xerox Palo Alto Research Center, Palo Alto, Calif., July 1979.)]]
[7]
BORNING, A. The programming language aspects of ThingLab, a constraint-oriented simulation laboratory. ACM Trans. Program. Lang. Syst. 3, 4 (Oct. 1981), 353-387.]]
[8]
BORNING, A. H. Defining constraints graphically. In Proceedings o{ the ACM CHI 86 Conpp. 137-143.]]
[9]
BORNING, A.H. Classes versus prototypes in object-oriented languages, in Proceedings of the A CM/IEEE Fall Joint Computer Con/erence (Dallas, Tex., Nov. 2-6). ACM, New York, 1986, pp. 36-40.]]
[10]
BROWN, G., CARLING, R., HEROT, C., KRAMLICH, D., AND SOUZA, P. Program visualization: Graphical support for software development. Computer, 18, 8 (Aug. 1985), 27-37.]]
[11]
BROWN, M. H., AND SEDGEWICK, R. A system for algorithm animation. Comput. Graph. 18, 3 (July 1984), 177-186.]]
[12]
BUJA, A., ASIMOV, D., HURLEY, C., AND MCDONALD, J. Elements of a viewing pipeline for data analysis. Dept. of Statistics, Univ. of Washington, Seattle, 1986.]]
[13]
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.]]
[14]
CARTER, C. A., AND LALONDE, W. R. The design of a program editor based on constraints. TR-50, Computer Science Dept., Carleton Univ., Ottawa, Ont., Canada, May 1984.]]
[15]
CHRISTENSEN, C. On the implementation of AMBIT, a language for symbol manipulation. Commun. A CM 9, 8 (Aug. 1966), 570-573.]]
[16]
CLEVELAND, W. S. The Elements of Graphing Data. Wadsworth/Brooks/Cole Advanced Books and Software, Monterey, Calif., 1985.]]
[17]
COHEN, E. S., SMITH, E. T., AND IVERSON, L. A. Constraint-based tiled windows. IEEE Comput. Graph. Appl. 6, 5 (May 1986), 35-45.]]
[18]
CURRY, G.A. Programming by abstract demonstration. Ph.D. dissertation, ?'ech. Rep. 78-03- 02, Dept. of Computer Science, Univ. of Washington, Seattle, 1978.]]
[19]
DIONNE, M. S., AND MACKWORTH, A.K. ANTICS--A system for animating LISP programs. Comput. Graph. Image Process. 7, 1 (Feb. 1978), 105-119.]]
[20]
DUISBERG, R.A. Animated graphical interfaces using temporal constraints. In Proceedings of the ACM CH186 Con{erence on Computer-Human Interaction (Boston, Mass., Apr. 13-17). ACM, New York, 1986, pp. 131-136.]]
[21]
DUISBERG, R.A. Constraint-based animation: The implementation of temporal constraints in the Animus system. Ph.D. dissertation, Tech. Rep. 86-09-01, Computer Science Dept., Univ. of Washington, Seattle, 1986.]]
[22]
ELLIS, T 0., HAEFNER, J. F., AND SIBLEY, W.L. The GRAIL project: An experiment in manmachine communication. RM-5999-ARPA, Rand Corp., Santa Monica, Calif., 1969.]]
[23]
GLINERT, E.P. PICT: Experiments in the design of interactive, graphical programming environments. Ph.D. dissertation, Dept. of Computer Science, Univ. of Washington, Seattle, 1985.]]
[24]
GOLDBERG, A. J. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley, Reading, Mass., 1984.]]
[25]
GOLDBERG, A. J., AND ROBSON, D. SmaUtalk-80: The Language and Its Implementation. Addison-Wesley, Reading, Mass., 1983.]]
[26]
GOSLING, J. Algebraic constraints. Ph.D. dissertation, Tech. Rep. CMU-CS-83-132, Computer Science Dept., Carnegie-Mellon Univ., Pittsburgh, Pa., May 1983.]]
[27]
GOULD, L., AND FINZER, W. Programming by rehearsal. SCL-84-1, Xerox Palo Alto Research Center, Palo Alto, Calif., May 1984.]]
[28]
GOULD, L., AND FINZER, W. Programming by rehearsal. Byte 9, 6 (June 1984), 187-210.]]
[29]
GREEN, M. The University of Alberta user interface management system. Comput. Graph. 19, 3 (July 1985), 205-213.]]
[30]
HALBERT, D. Programming by example. Ph.D. dissertation, Dept. of Electrical Engineering and Computer Science, Computer Science Division, Univ. of California, Berkeley, 1984. Also published as Tech. Rep. OSD-T8402, Office Systems Division, Xerox Corp., Palo Alto, Calif., 1984.]]
[31]
HENDERSON, D.A. The Trillium user interface design environment. In Proceedings of the ACM CHI 86 Con/erence on Computer-Human Interaction (Boston, Mass., Apr. 13-17). ACM, New York, 1986, pp. 221-227.]]
[32]
HEROT, C. F., ET AL. An integrated environment for program visualization. In Automated Tools for Information Systems Design, H. J. Schneider and A. I. Wasserman, Eds. North-Holland, Amsterdam, 1982, pp. 237-259.]]
[33]
HOARE, C. A.R. Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs, N.J., 1985.]]
[34]
KAHN, K.M. Knowledge-based creation of computer animation. Ph.D. dissertation, Dept. of Electrical Engineering and Computer Science, MIT, Cambridge, Mass., 1978.]]
[35]
KASIK, D.J. A user interface management system. Comput. Graph. 16, 3 (July 1982), 99-106.]]
[36]
KAY, A.C. New directions for novice programming in the 1980s. In Programming Technology, P. J. L. Wallis, Ed. Pergamon, Elmsford, N.Y., 1983, pp. 209-247.]]
[37]
KNUTH, D. A. The Art o{ Computer Programming. Addison-Wesley, Reading, Mass., 1973.]]
[38]
KONOPASEK, M., AND JAYARAMAN, S. The TK!Solver Book. Osborne/McGraw-Hill, Berkeley, Calif., 1984.]]
[39]
KONOPASEK, M., AND JAYARAMAN, S. Constraint and declarative languages for engineering applications: The TK!Solver contribution. Proc. IEEE 73, 12 (Dec. 1985), 1791-1806.]]
[40]
LELER, W. Specification and generation of constraint satisfaction systems using augmented term rewriting. Ph.D. dissertation, Dept. of Computer Science, Univ. of North Carolina, Chapel Hill, 1986.]]
[41]
LEVITT, D. Machine tongues X: Constraint languages. Comput. Music J. 8, 1 (Spring 1984), 9-21.]]
[42]
LIEBERMAN, H. There's more to menu systems than meets the screen. Comput. Graph. 19, 3 (July 1985), 181-189.]]
[43]
LIEBERMAN, H., AND HEWITT, C. A session with TINKER: Interleaving program testing with program design. In Proceedings of the 1980 LISP Conference (Stanford, Calif., Aug. 25-27). ACM, New York, 1980, pp. 90-99.]]
[44]
LONDON, R. L., AND DUISBERG, R.A. Animating programs using Smalltalk. Computer 18, 8 (Aug. 1985), 61-71.]]
[45]
MCDONALD, J.A. Antelope: Data analysis with object-oriented programming and constraints. In Proceedings of the Joint Statistical Meetings. Statistical Computing Section, Chicago, 1986. To appear.]]
[46]
MEYERS, B.A. Visual programming, programming by example, and program visualization: A taxonomy. In Proceedings o{ the ACM CHI 86 Conference on Computer-Human Interaction (Boston, Mass., Apr. 13-17). ACM, New York, 1986, pp. 59-66.]]
[47]
NELSON, G. Juno, a constraint-based graphics system. In SIGGRAPH 85 Conference Proceedings (San Francisco, Calif., July 22-26). ACM, New York, 1985, pp. 235-243.]]
[48]
NORDQUIST, P. R. Interactive display generation in Smalltalk. Master's thesis, TR 85-009, Dept. of Computer Science and Engineering, Oregon Graduate Center, Beaverton, Mar. 1985.]]
[49]
OLSEN, D.R. Automatic generation of interactive systems. Comput. Graph. 17, 1 (Jan. 1983), 53-57.]]
[50]
OLSEN, D.R. Pushdown automata for user interface management. ACM Trans. Graph. 3, 3 (July 1984), 177-203.]]
[51]
OLSEN, D. R., AND DEMPSEY, E.P. SYNGRAPH: A graphical user interface generator. Comput. Graph. 17, 3 (July 1983), 43-50.]]
[52]
OLSEN, D. R., DEMPSEY, E. P., AND ROGGE, R. Input/output linkage in a user interface management system. Comput. Graph. 19, 3 (July 1985), 191-197.]]
[53]
PFAFF, G. E., ED. User Interface Management Systems. Springer-Verlag, New York, 1985.]]
[54]
SCOFIELD, J.A. Editing as a paradigm for user interaction. Ph.D. dissertation, Tech. Rep. 85- 08-10, Computer Science Dept., Univ. of Washington, Seattle, Aug. 1985.]]
[55]
SMITH, D.C. PYGMALION: A creative programming environment. Ph.D. dissertation, Rep. STAN-CS-75-499, Computer Science Dept., Stanford Univ., Stanford, Calif., 1975.]]
[56]
STEELE, G.L. The definition and implementation of a computer programming language based on constraints. Ph.D. dissertation, MIT-AI TR 595, Dept. of Electrical Engineering and Computer Science, MIT, Cambridge, Mass., 1980.]]
[57]
STUETZLE, W. Plot windows. Pep. 90, Dept. of Statistics, Univ. of Washington, Seattle, 1986.]]
[58]
SUSSMAN, G. J., AND STEELE, G. L. CONSTRAINTS--A language for expressing almosthierarchical descriptions. Arti{. InteU. 14, 1 (Jan. 1980), 1-39.]]
[59]
SUTHERLAND, I. Sketchpad: A man-machine graphical communication system. Ph.D. dissertation, Dept. of Electrical En~neering, MIT, Cambridge~ Mass:, 1963.]]
[60]
SUTHERLAND, W. On-line graphical specifications of computer procedures. Ph.D. dissertation, Dept. of Electrical Engineering, MIT, Cambridge, Mass., 1966.]]
[61]
VAN WYK, C.J. A language for typesetting ~aphics. Ph.D. dissertation, Dept. of Computer Science, Stanford Univ., Stanford, Calif., June 1980.]]
[62]
VAN WYK, C. J. A high-level language for specifying pictures. ACM Trans. Graph. 1, 2 (Apr. 1982), 163-182.]]
[63]
WEINREB, D., AND MOON, D. Lisp machine manual. Symbolics, Inc., Cambridge, Mass., 1981.]]

Cited By

View all
  • (2024)Computational Methodologies for Understanding, Automating, and Evaluating User InterfacesExtended Abstracts of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613905.3636316(1-7)Online publication date: 11-May-2024
  • (2024)Graph4GUI: Graph Neural Networks for Representing Graphical User InterfacesProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642822(1-18)Online publication date: 11-May-2024
  • (2024)Pick, Click, Flick!undefinedOnline publication date: 14-Mar-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
  • Editor:
  • R. Daniel Bergeron
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1986
Published in TOG Volume 5, Issue 4

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)147
  • Downloads (Last 6 weeks)21
Reflects downloads up to 15 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Computational Methodologies for Understanding, Automating, and Evaluating User InterfacesExtended Abstracts of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613905.3636316(1-7)Online publication date: 11-May-2024
  • (2024)Graph4GUI: Graph Neural Networks for Representing Graphical User InterfacesProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642822(1-18)Online publication date: 11-May-2024
  • (2024)Pick, Click, Flick!undefinedOnline publication date: 14-Mar-2024
  • (2023)Revisiting creative behaviour as an epistemic process: lessons from 12 computational artists and designersProceedings of the 35th Australian Computer-Human Interaction Conference10.1145/3638380.3638395(175-190)Online publication date: 2-Dec-2023
  • (2023)The Future of Computational Approaches for Understanding and Adapting User InterfacesExtended Abstracts of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544549.3573805(1-5)Online publication date: 19-Apr-2023
  • (2022)Computational Approaches for Understanding, Generating, and Adapting User InterfacesExtended Abstracts of the 2022 CHI Conference on Human Factors in Computing Systems10.1145/3491101.3504030(1-6)Online publication date: 27-Apr-2022
  • (2020)RealitySketchProceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology10.1145/3379337.3415892(166-181)Online publication date: 20-Oct-2020
  • (2018)Constraint-Based Local SearchHandbook of Heuristics10.1007/978-3-319-07124-4_7(223-260)Online publication date: 14-Aug-2018
  • (2017)Constraint-Based Local SearchHandbook of Heuristics10.1007/978-3-319-07153-4_7-1(1-38)Online publication date: 5-Oct-2017
  • (2016)Toward a new constraint imperative programming language for interactive graphicsCompanion Proceedings of the 15th International Conference on Modularity10.1145/2892664.2892668(34-35)Online publication date: 14-Mar-2016
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media