ABSTRACT
User interfaces for modern applications must support a rich set of interactive features. It is commonplace to find applications with dependencies between values manipulated by user interface elements, conditionally enabled controls, and script record-ability and playback against different documents. A significant fraction of the application programming effort is devoted to implementing such functionality, and the resulting code is typically not reusable.
This paper extends our "property models" approach to programming user interfaces. Property models allow a large part of the functionality of a user interface to be implemented in reusable libraries, reducing application specific code to a set of declarative rules. We describe how, as a by-product of computations that maintain the values of user interface elements, property models obtain accurate information of the currently active dependencies among those elements. This information enables further expanding the class of user interface functionality that we can encode as generic algorithms. In particular, we describe automating the decisions for the enablement of user interface widgets and activation of command widgets. Failing to disable or deactivate widgets correctly is a common source of user-interface defects, which our approach largely removes.
We report on the increased reuse, reduced defect rates, and improved user interface design turnarounds in a commercial software development effort as a result of adopting our approach.
- Apple, Inc. Apple Human Interface Guidelines: User Experience. 1 Infinite Loop, Cupertino, CA 95014, June 2008.Google Scholar
- ASL. Adobe Source Libraries. Adobe Systems, Inc., 2005. stlab. adobe.com.Google Scholar
- C. Benson, A. Elman, S. Nickel, and C. Z. Robertson. GNOME Human Interface Guidelines 2.2, Mar. 2008. http://library.gnome.org/devel/hig-book/stable/index-info.html.en.Google Scholar
- A. Borning, R. Duisberg, B. Freeman-Benson, A. Kramer, and M. Woolf. Constraint hierarchies. SIGPLAN Not., 22(12):48--60, 1987. Google Scholar
Digital Library
- J. M. Boyer, M. Dubinko, J. Leigh L. Klotz, D. Landwehr, R. Merrick, and T. V. Raman. XForms 1.0 (Third Edition), Oct. 2007. http://www.w3.org/TR/2007/REC-xforms-20071029/.Google Scholar
- Apple developer connection: Cocoa. http://developer.apple.com/cocoa/, Mar. 2009.Google Scholar
- E. Feldman. Create user interfaces with Glade. Linux J., 2001(87):4, 2001. Google Scholar
Digital Library
- M. R. Frank, J. J. de Graaff, D. F. Gieskens, and J. D. Foley. Building user interfaces interactively using pre- and postconditions. In CHI '92: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 641--642, New York, NY, USA, 1992. ACM. Google Scholar
Digital Library
- J. Freeman, J. Jarvi, J. Smith, M. Marcus, and S. Parent. Properties of constraint systems of property models. Texas A&M University, Department of Computer Science and Engineering, Parasol Laboratory Technical Report TR09-001. http://parasol.tamu.edu/publications/, July 2009.Google Scholar
- B. N. Freeman-Benson, J. Maloney, and A. Borning. An incremental constraint solver. Commun. ACM, 33(1):54--63, 1990. Google Scholar
Digital Library
- E. Friedman-Hill. Jess 7, Feb. 2008. http://www.jessrules.com/jess/charlemagne.shtml.Google Scholar
- D. Grolaux and P. V. Roy. QTk--an integrated model-based approach to designing executable user interfaces. In 8th Workshop on Design, Specification, and Verification of Interactive Systems (DSVIS 2001), Lecture Notes in Computer Science, Glasgow, Scotland, June 2001. Springer-Verlag.Google Scholar
- J. Jarvi, M. Marcus, S. Parent, J. Freeman, and J. N. Smith. Property models: from incidental algorithms to reusable components. In GPCE '08: Proceedings of the 7th international conference on Generative programming and component engineering, pages 89--98, New York, NY, USA, 2008. ACM. Google Scholar
Digital Library
- D. Litman, P. F. Patel-Schneider, A. Mishra, J. Crawford, and D. Dvorak. R++: Adding path-based rules to C++. IEEE Trans. on Knowl. and Data Eng., 14(3):638--658, 2002. Google Scholar
Digital Library
- Microsoft Corporation. Windows Vista UX Guide: User Experience Guidelines, 2008. http://download.microsoft.com/download/e/1/9/e191fd8c-bce8-4dba-a9d5-2d4e3f3ec1d3/uxguide.pdf.Google Scholar
- Mozilla. XML user interface language (XUL) 1.0. Mozilla Foundation, Mar. 2006. http://www.mozilla.org/projects/xul/xul.html.Google Scholar
- System.Windows.Forms. http://msdn.microsoft.com/en-us/library/system.windows.forms.aspx, Mar. 2009.Google Scholar
- B. Myers, D. Giuse, R. Dannenberg, B. Zanden, D. Kosbie, E. Pervin, A. Mickish, and P. Marchal. Garnet: Comprehensive support for graphical, highly interactive user interfaces. Computer, 23(11):71--85, Nov. 1990. Google Scholar
Digital Library
- B. A. Myers and D. S. Kosbie. Reusable hierarchical command objects. In CHI '96: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 260--267, New York, NY, USA, 1996. ACM. Google Scholar
Digital Library
- B. A. Myers, R. G. McDaniel, R. C. Miller, A. S. Ferrency, A. Faulring, B. D. Kyle, A. Mickish, A. Klimovitski, and P. Doane. The Amulet environment: New models for effective user interface software development. Software Engineering, 23(6):347--365, 1997. citeseer.ist.psu.edu/article/myers96amulet.html. Google Scholar
Digital Library
- B. A. Myers and M. B. Rosson. Survey on user interface programming. In CHI '92: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 195--202, New York, NY, USA, 1992. ACM. Google Scholar
Digital Library
- OpenLaszlo project. http://www.openlaszlo.org.Google Scholar
- Parasol Lab, Computer Science, Texas A&M University. Property Models Research Project's Home Page, 2009. http://parasol.cs.tamu.edu/groups/pttlgroup/property-models.Google Scholar
- S. Parent. Adobe Property Model Library. Adobe Systems, Inc., 2005. Part of Adobe Source Libraries, http://stlab.adobe.com.Google Scholar
- S. Parent. A possible future for software development. Keynote talk at the Workshop of Library-Centric Software Design 2006, at OOPSLA'06, Portland, Oregon, 2006. lcsd.cs.tamu.edu/2006.Google Scholar
- P. Pinheiro da Silva. User interface declarative models and development environments: A survey. Interactive Systems Design, Specification, and Verification, pages 207--226, 2001. Google Scholar
Digital Library
- M. Proctor, M. Neale, B. McWhirter, K. Verlaenen, E. Tirelli, F. Meyer, A. Bagerman, M. Frandsen, G. D. Smet, T. Rikkola, S. Williams, B. Truit, R. Jain, C. Nagarkar, and D. Ahearn. Drools, 2008. http://www.jboss.org/drools/.Google Scholar
- M. Sannella. Skyblue: A multi-way local propagation constraint solver for user interface construction. In UIST '94: Proceedings of the 7th annual ACM symposium on User interface software and technology, pages 137--146, New York, NY, USA, 1994. ACM. Google Scholar
Digital Library
- M. J. Sannella. Constraint satisfaction and debugging for interactive user interfaces. PhD thesis, University of Washington, Seattle, WA, USA, 1994. Google Scholar
Digital Library
- I. E. Sutherland. Sketchpad: A man-machine graphical communication system. In DAC '64: Proceedings of the SHARE design automation workshop, pages 6329--6346, New York, NY, USA, 1964. ACM. Google Scholar
Digital Library
- Qt: A cross-platform application and UI framework. http://www.qtsoftware.com/products, Mar. 2009.Google Scholar
- G. Trombettoni and B. Neveu. Computational complexity of multiway, dataflow constraint problems. In IJCAI (1), pages 358--365, 1997. Google Scholar
Digital Library
- M. Wybrow, K. Marriott, L. McIver, and P. J. Stuckey. Comparing usability of one-way and multi-way constraints for diagram editing. ACM Trans. Comput.-Hum. Interact., 14(4):1--38, 2008. Google Scholar
Digital Library
- XAML. XAML: Extensible application markup language. Microsoft Developer Network (MSDN), 2008. http://msdn.microsoft.com/en-us/library/ms747122.aspx.Google Scholar
- B. V. Zanden. An incremental algorithm for satisfying hierarchies of multiway dataflow constraints. ACM Trans. Program. Lang. Syst., 18(1):30--72, 1996. Google Scholar
Digital Library
- B. V. Zanden, R. Halterman, B. Myers, R. Miller, P. Szekely, D. Giuse, D. Kosbie, and R. McDaniel. Lessons learned from users experiences with spreadsheet constraints in the garnet and amulet graphical toolkits. ftp://cs.utk.edu/pub/TechReports/2002/ut-cs-02-488.pdf, May 2002.Google Scholar
- B. V. Zanden and B. A. Myers. Automatic, look-and-feel independent dialog creation for graphical user interfaces. In CHI '90: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 27--34, New York, NY, USA, 1990. ACM. Google Scholar
Digital Library
Index Terms
Algorithms for user interfaces
Recommendations
Property models: from incidental algorithms to reusable components
GPCE '08: Proceedings of the 7th international conference on Generative programming and component engineeringA user interface, such as a dialog, assists a user in synthesising a set of values, typically parameters for a command object. Code for "command parameter synthesis" is usually application-specific and non-reusable, consisting of validation logic in ...
Algorithms for user interfaces
GPCE '09User interfaces for modern applications must support a rich set of interactive features. It is commonplace to find applications with dependencies between values manipulated by user interface elements, conditionally enabled controls, and script record-...
Helping programmers help users
GCPE '11User interfaces exhibit a wide range of features that are designed to assist users. Interaction with one widget may trigger value changes, disabling, or other behaviors in other widgets. Such automatic behavior may be confusing or disruptive to users. ...







Comments