skip to main content
10.1145/1621607.1621630acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
research-article

Algorithms for user interfaces

Published:04 October 2009Publication History

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.

References

  1. Apple, Inc. Apple Human Interface Guidelines: User Experience. 1 Infinite Loop, Cupertino, CA 95014, June 2008.Google ScholarGoogle Scholar
  2. ASL. Adobe Source Libraries. Adobe Systems, Inc., 2005. stlab. adobe.com.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. A. Borning, R. Duisberg, B. Freeman-Benson, A. Kramer, and M. Woolf. Constraint hierarchies. SIGPLAN Not., 22(12):48--60, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. Apple developer connection: Cocoa. http://developer.apple.com/cocoa/, Mar. 2009.Google ScholarGoogle Scholar
  7. E. Feldman. Create user interfaces with Glade. Linux J., 2001(87):4, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. B. N. Freeman-Benson, J. Maloney, and A. Borning. An incremental constraint solver. Commun. ACM, 33(1):54--63, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Friedman-Hill. Jess 7, Feb. 2008. http://www.jessrules.com/jess/charlemagne.shtml.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. Mozilla. XML user interface language (XUL) 1.0. Mozilla Foundation, Mar. 2006. http://www.mozilla.org/projects/xul/xul.html.Google ScholarGoogle Scholar
  17. System.Windows.Forms. http://msdn.microsoft.com/en-us/library/system.windows.forms.aspx, Mar. 2009.Google ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. OpenLaszlo project. http://www.openlaszlo.org.Google ScholarGoogle Scholar
  23. 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 ScholarGoogle Scholar
  24. S. Parent. Adobe Property Model Library. Adobe Systems, Inc., 2005. Part of Adobe Source Libraries, http://stlab.adobe.com.Google ScholarGoogle Scholar
  25. 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 ScholarGoogle Scholar
  26. P. Pinheiro da Silva. User interface declarative models and development environments: A survey. Interactive Systems Design, Specification, and Verification, pages 207--226, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. J. Sannella. Constraint satisfaction and debugging for interactive user interfaces. PhD thesis, University of Washington, Seattle, WA, USA, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. Qt: A cross-platform application and UI framework. http://www.qtsoftware.com/products, Mar. 2009.Google ScholarGoogle Scholar
  32. G. Trombettoni and B. Neveu. Computational complexity of multiway, dataflow constraint problems. In IJCAI (1), pages 358--365, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. XAML. XAML: Extensible application markup language. Microsoft Developer Network (MSDN), 2008. http://msdn.microsoft.com/en-us/library/ms747122.aspx.Google ScholarGoogle Scholar
  35. B. V. Zanden. An incremental algorithm for satisfying hierarchies of multiway dataflow constraints. ACM Trans. Program. Lang. Syst., 18(1):30--72, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Algorithms for user interfaces

      Recommendations

      Comments

      Login options

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

      Sign in
      • Published in

        cover image ACM Conferences
        GPCE '09: Proceedings of the eighth international conference on Generative programming and component engineering
        October 2009
        194 pages
        ISBN:9781605584942
        DOI:10.1145/1621607
        • General Chair:
        • Jeremy Siek,
        • Program Chair:
        • Bernd Fischer
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 45, Issue 2
          GPCE '09
          February 2010
          182 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1837852
          Issue’s Table of Contents

        Copyright © 2009 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 4 October 2009

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        GPCE '09 Paper Acceptance Rate18of62submissions,29%Overall Acceptance Rate56of180submissions,31%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!