The Visual Computer

, Volume 10, Issue 6, pp 337–349

View binding and user enhanceable systems

  • Harold Thimbleby
Original Articles
  • 16 Downloads

Abstract

Most user interfaces are constructed by programs, so there is no direct relationship between the program, its structure and the user interface it implements. For example, graphics drawn on a screen need have no correspondence with regions of the screen sensitive to the user's input.View binding is introduced as a binding scheme (related to static or lexical binding schemes) whereby browsing the user interface also manipulates the program's environment in a particular way. The result is a direct relation between the user interface and the program, with many advantages. Like particular binding schemes in programming languages, view binding is not a solution to every programmer's or user's wishes, yet it provides a useful discipline that can help simplify user interfaces and their programs. In particular, it is very suitable for user enhanceable systems. No system currently available is implemented with a strict view-binding scheme, but this paper exhibits suggestive examples taken from several well-known programming languages and interactive systems.

Key words

View binding View scope Constructed interface User enhancement 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Allen J (1978) Anatomy of LISP. McGraw-Hill, New YorkGoogle Scholar
  2. 2.
    Bourne SR (1982) The UNIX system. Addison-WesleyGoogle Scholar
  3. 3.
    Cardelli L (1983) Two dimensional syntax for functional languages. In: Delgano P, Sandewall E (eds) Integrated interactive computing systems. North Holland, Amsterdam, pp 139–151Google Scholar
  4. 4.
    Coulouris GF, Thimbleby HW (1992) HyperProgramming. Addison-Wesley, Reading, Massachusetts.Google Scholar
  5. 5.
    Cowan DD, Ierusalimschy R, Lucena CJP, Stepien TM (1993) Abstract data views. Structured Program. 14:1–13Google Scholar
  6. 6.
    Dijkstra EW (1976) A discipline of programming. Chap. 10, p. 79, Prentice-Hall, Englewood Cliffs, NJGoogle Scholar
  7. 7.
    DiSessa A (1985) A principled design for an integrated computational environment. Human-Computer Interaction 1:1–47Google Scholar
  8. 8.
    Hill RD (1992) The abstracion-link-view paradigm: using constraints to connect user interfaces to applications. Proc. ACM Conference on Human Factors in Computing Systems, CHI'92, pp 335–342Google Scholar
  9. 9.
    Johnson J (1992) Selectors: going beyond user-interface widgets. ACM Conference on Human Factors in Computing Systems, CHI'92 pp 273–279Google Scholar
  10. 10.
    Kleyn MF, Gingrich PC (1988) Graph Trace — understanding object-oriented systems using concurrently animated views. Proc. Object-Oriented Programming Systems, Languages and Applications (OOPSLA), pp 191–205Google Scholar
  11. 11.
    Knuth DE (1984) The TEXbook, Addison-Wesley, Reading, MassGoogle Scholar
  12. 12.
    Microsoft (1988) AutoMac III, Microsoft Corporation Document No. 690910001-200-R00-0788Google Scholar
  13. 13.
    Microsoft (1992) Visual basic programmer's guide, Microsoft Corporation Document No. DB27591-0792Google Scholar
  14. 14.
    Myers B, Buxton W (1986) Creating highly-interactive and graphical user interfaces by demonstration. Comput Graph 20:249–258Google Scholar
  15. 15.
    Palay AJ (1992) Toward an “operating system” for user interface components. In: Blattner MM, Dannenberg RB (eds) Multimedia Interface Design. Addison-Wesley, Reading, Mass., pp 339–355Google Scholar
  16. 16.
    Shneiderman B (1983) Direct manipulation: a step beyond programming languages. IEEE Computer, 16:57–67Google Scholar
  17. 17.
    Smith DC (1975) PYGMALION: a creative programming environment. Stanford University Computer Science Department Report No. STAN-CS-75-499Google Scholar
  18. 18.
    Stallman RH (1984) EMACS: the extensible, customisable, self-documenting display editor In: Barstow DR, Shrobe HE, Sandewall E (eds), Interactive prgramming environments. McGraw-Hill, New York, pp 300–325Google Scholar
  19. 19.
    Tarlton MA, Tarlton PN (1989) Pogo: a declarative representation system for graphics In: Kim W, Lochovsky FH (eds) Object-oriented concepts, databases and applications. Addison-Wesley, Reading, Mass., pp 151–176Google Scholar
  20. 20.
    Tennent RD (1981) Principles of programming languages. Prentice-Hall, Englewood Cliffs, NJGoogle Scholar
  21. 21.
    Thimbleby HW (1988) Delaying commitment. IEEE Software 5:78–86Google Scholar
  22. 22.
    Thimbleby HW (1989). A literate program for file comparison, in literate programming. Commun. ACM 32:740–755Google Scholar
  23. 23.
    Thimbleby HW (1990) User interface design. Addison-Wesley, Reading, Mass.Google Scholar
  24. 24.
    Wisskirchen P (1990) Object-oriented graphics. Springer, Berlin Heidelberg, New YorkGoogle Scholar
  25. 25.
    Wolfram S (1988) Mathematica, Addison-Wesley, Reading, Mass.Google Scholar

Copyright information

© Springer-Verlag 1994

Authors and Affiliations

  • Harold Thimbleby
    • 1
  1. 1.Stirling UniversityStirlingScotland, UK

Personalised recommendations