Abstract
An object-oriented system for building graphical interfaces to programs is discussed. The system, called GROW, facilitates the process of creating interfaces that are highly interactive (including direct manipulation and animation), rich in layout structure, and effectively reusable across applications. These properties are achieved through three techniques: object-based graphics with taxonomic inheritance, interobject relationships such as composition and graphical dependency, and separation of the interface and application. Experience with interfaces for several applications has provided insights on the effectiveness of these techniques. First, object-oriented programming yields significant leverage on specializing and reusing interfaces. Second, layout constraints (such as maintaining the connectivity of a graph) can be managed with simple data dependencies among the attributes of the graphical objects. Finally, separating the interface and application is essential to reusing interface components. This paper describes the techniques in detail, gives examples of interfaces built with GROW, and summarizes experiences using GROW with a variety of applications.
- 1 AMBURN, P., GRANT, E., AND WHITTED, T. Managing geometric complexity with enhanced procedural models. Comput. Graph. 20, 4 (Aug. 1986), 189-195. Google Scholar
- 1a ANONYMOUS. Interlisp-D reference manual. Xerox Artificial Intelligence Systems, Pasadena, Calif., Oct. 1985.Google Scholar
- 2 BARSTOW, D., RARTH, P., AND DINITZ, R. SPHINX: Exploiting the differences between programming environments and runtime environments. Tech. Rep., Schlumberger-Doll Research, Ridgefield, Conn., 1986. (Available from authors.)Google Scholar
- 3 BARTH, P., GUTHERY, S., AND BARSTOW, D. The Stream Machine: A data flow architecture for real-time applications. In Proceedings of the 8th International Conference on Software Engineering (London, England, Sept.). IEEE, Washington, D.C., 1985, pp. 103-110. Google Scholar
- 4 BOBROW, D. G., AND STEFIK, M. The Loops manual. Tech. Note KB-VLSI-81-13, Xerox Palo Alto Research Center, Palo Alto, Calif., 1981.Google Scholar
- 5 BORNING, A. The programming language aspects of ThingLab, a constraint oriented simulation laboratory. ACM Trans. Program. Lang. Syst. 3, 4 (Oct. 1981), 353-387. Google Scholar
- 6 BROWN, G. P., CARLING, R. T., HEROT, C. F., KRAMLICH, D. A., AND SOUZA, P. Program visualization: Graphical support for software development. Computer 18, 8 (Aug. 1985), 27-35.Google Scholar
- 7 BROWN, M. H., AND SEDGEWICK, R. A system for algorithm animation. Comput. Graph. 18, 3 (July 1984), 177-186. Google Scholar
- 8 CAMPBELL, R. H., AND KUBITZ, W.J. The professional workstation research project. IEEE Comput. Graph. Appt. o, ~ (lv{ay 1986), 17-24. Google Scholar
- 9 mCox, B.J. Object Oriented Programming: An Evolutionary Approach. Addison-Wesley, Reading, Mass., 1986. Google Scholar
- 10 CURRY, ~. A., AND ~YmK~, rL. lvi. n,xpermnce w~n trmLs m the WUL-I~.~t LtlLIUII,At~ITUX ~ utlg Workshop on Reusability in Programming Proceedings (Newport, Sept.). ITT, Shelton, Conn., 1983, pp. 83-96.Google Scholar
- 11 Duisberg. R.A Animated graphical interfaces using temporal constraints. In Human Factors in Computing Systems: CHI '86 Conference Proceedings (Boston, Mass.). ACM, New York, 1986, pp. 131-136. Google Scholar
- 12 Foley, J.D., AND McMath, C.F. Dynamic process visualigation,IEEE comput,Graph.Appl. 6, 3 (Mar. 1986), 16-25.Google Scholar
- 13 GOLDBERO, A., AND ROBSON, D. Smalltalk-80: The Language and Its Implementation. Addison- Google Scholar
- 14 GREENSPAN, S., AND BARSTOW, D. Using a device model as domain knowledge in the automatic programming of software to control remote devices. Tech. Rep., Schlumberger-Doll Research, u:~.r.^,~ o^~ 1986. ~ a..;~ ~.~. authors.)Google Scholar
- 15 HAYES, P. J., SZEKELY, P. A., AND LERNER, R. A. Design alternatives for user interface management systems based on experience with Cousin. In Human Factors in Computing Proceedings ~,~ Francisco, ~;f Apr.). ao~ ~o~, York, 1as_a, pp. 169-175. Google Scholar
- 16 JACOB, R. J.K. A state transition diagram language for visual programming. Computer 18, 8 1 ~RK/ K1 -.~Q Google Scholar
- 17 L{EBERMAN, H. There's more to menu systems than meets the screen. Comput. Graph. 19, 3 (July 1985), 181-189. Google Scholar
- 18 L!PK!E~ D. E, EVANS~ S. R, NEWL!N, J. g., AND WEISSMAN~ R.T. Star ~aphics: An objectoriented implementation. Comput. Graph. 16, 3 (July 1982), 115-124. Google Scholar
- 19 LONDON, R. L., AND DUlSBZRO, R.A. Animating programs using Smalltalk. Computer 18, 8 (Aug. 1985), 61-71.Google Scholar
- 20 MELAMED, B., AND MORRIS, R. Z.T. Visual simulation: The performance analysis workstation. Computer 18, 8 (Aug. 1985), 87-94.Google Scholar
- 21 MEYROWITZ, N. Intermedia: The architecture and construction of an object-oriented hypermedia system and applications framework. In Proceedings of the A CM Conference on Object Oriented Programming Systems, Languages, and Applications (Sept. 1986). ACM, New York, pp. 186-201. Google Scholar
- 22 MOR{CONI, M., AND HARE, D.F. Visualizing program designs through PegaSys. Computer 18, 8 (Aug. 1985), 72-85.Google Scholar
- 23 NELSON, G. Juno, a constraint-based graphics system. Computer Graph. 19, 3 (July 1985), 235-243. Google Scholar
- 24 NORMAN, D.A. Design principles for human-computer interfaces. In Human Factors in Computing Systems: CHI '83 Conference Proceedings (Boston, Mass., Dec.). ACM, New York, 1983, pp. 1-10. Google Scholar
- 25 PETERSON, J. L. Petri Net Theory and the Modeling of Systems. Prentice-Hall, Englewood Cliffs, N. J., 1981. Google Scholar
- 26 REINS, S.P. Graphical program development with PECAN program development system. A CM SIGPLAN Not. 19, 5 (May 1984), 30-41. Google Scholar
- 27 REINS, S.P. An object-oriented framework for graphical programming. A CM SIGPLAN Not. 2i, i0 (Oct. i986), 4~-o7. Google Scholar
- 28 SCHMUCKER, K. J. Object-Oriented Programming /or the Macintosh. Hayden, Hasbrouck Heights, N.J., 1986. Google Scholar
- 29 ~mE~T, d. ~., toUSLe:Y, W. J)., AN~ r~L~:S*:S, ~. W. ~n object-oriented user interface management system. Comput. Graph. 20, 4 (Aug. 1986), 259-268. Google Scholar
- 30 SMITH, R.G. Strobe: Support for structured object knowledge representation. In Proceedings o/the william Kaufman, Los Altos, Calif., 1983, pp. 855-858.Google Scholar
- 31 SMITH, R. G., AND CARANDO, P. J. Structured object programming in strobe. Res. Note, kJ~tIZUtIIUUt~UX-IJV~t I ~ 19 I~ZU~UXt~;IU~ k.~UIUI.9 ~J~.b, .L~'U~L~.Google Scholar
- 32 SMITH, R. G., DINITZ, R., AND BARTH, P. Impulse-86: A substrate for object-oriented interface design, in Proceedings of the ACM Conference on Object Oriented Programming Systems, Languages, and Applications (Sept. 1986). ACM, New York. Google Scholar
- 33 SUTHERLAND, I.E. Sketchpad: A man-machine graphical communication system. Ph.D. thesis, Dept. of Electrical Engineering, Massachusetts institute of Technology, Cambridge, Mass., 1963.Google Scholar
- 34 WEINREB, D., AND MOON, D. The Lisp Machine Manual, 4th ed. Symbolics, Inc., Cambridge, Mass., 1981. Google Scholar
Index Terms
- An object-oriented approach to graphical interfaces
Recommendations
Object-oriented user interfaces (abstract)
OOPSLA '92: Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum)The principles of objects, polymorphism, classes, and inheritance can apply to the end users external view of a user interface, just as it can apply to the language that is used to implement it. This tutorial shows how to design (not implement) a user ...
Transforming graphical interfaces into auditory interfaces for blind users
Although graphical interfaces have provided a host of advantages to the majority of computer users, they have created a significant barrier to blind computer users. To meet the needs of these users, a methodology for transforming graphical interfaces ...
Comments