Abstract
HotDrink is a JavaScript library for constructing forms, dialogs, and other common user interfaces for Web applications. With HotDrink, instead of writing event handlers, developers declare a "view-model" in JavaScript and a set of "bindings" between the view-model and the HTML elements comprising the view. These specifications tend to be small, but they are enough for HotDrink to provide a fully operational GUI with multi-way dataflows, enabling/disabling of values, activation/deactivation of commands, and data validation. HotDrink implements these rich behaviors, expected of high-quality user interfaces, as generic reusable algorithms. This paper/tool demonstration introduces developers to the HotDrink library by stepping through the construction of an example web application GUI.
The library is a concrete realization of our prior work on the "property models" approach to declarative GUI programming. To encourage adoption among developers, we have packaged the technology following established web programming conventions.
- Ember.js, an open source JavaScript GUI framework, Accessed May 2012. URL http://emberjs.com.Google Scholar
- Knockout, an open source JavaScript GUI framework, Accessed May 2012. URL http://knockoutjs.com.Google Scholar
- OpenLaszlo: a rich internet application development framework, Accessed May 2012. URL http://www.openlaszlo.org.Google Scholar
- TodoMVC: A common learning application for popular JavaScript MV* frameworks, Accessed May 2012. URL http://addyosmani.github.com/todomvc/.Google Scholar
- A. Borning and R. Duisberg. Constraint-based tools for building user interfaces. ACM Trans. Graph., 5(4): 345--374, Oct. 1986. ISSN 0730-0301. URL http://doi.acm.org/10.1145/27623.29354. Google Scholar
Digital Library
- M. Fowler. Presentation Model Pattern, 1994. URL http://martinfowler.com/eaaDev/PresentationModel.html.Google Scholar
- J. Freeman, J. Järvi, W. Kim, M. Marcus, and S. Parent. Helping programmers help users. In Proceedings of GPCE '11, pages 177--184, New York, NY, USA, 2011. ACM. ISBN 978-1-4503-0689-8. URL http://doi.acm.org/10.1145/2047862.2047892. Google Scholar
Digital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995. ISBN 0-201-63361-2. Google Scholar
Digital Library
- J. Gossman. Introduction to Model/View/View-Model pattern for building WPF apps, October 2005. URL http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx.Google Scholar
- J. Järvi, M. Marcus, S. Parent, J. Freeman, and J. N. Smith. Property models: from incidental algorithms to reusable components. In Proceedings of GPCE '08, pages 89--98, New York, NY, USA, 2008. ISBN 978-1-60558-267-2. URL http://doi.acm.org/10.1145/1449913.1449927. Google Scholar
Digital Library
- J. Järvi, M. Marcus, S. Parent, J. Freeman, and J. N. Smith. Algorithms for user interfaces. In Proceedings of GPCE '09, pages 147--156, New York, NY, USA, 2009. ACM. ISBN 978-1-60558-267-2. URL http://doi.acm.org/10.1145/1621607.1621630. Google Scholar
Digital Library
- G. E. Krasner and S. T. Pope. A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. J. Object Oriented Program., 1(3): 26--49, 1988. Google Scholar
Digital Library
- 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. doi: 10.1109/2.60882. 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
- M. Potel. MVP: Model-view-presenter: The Taligent programming model for C++ and Java, 1996. URL http://www.wildcrest.com/Potel/Portfolio/mvp.pdf.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
Index Terms
HotDrink: a library for web user interfaces
Recommendations
HotDrink: a library for web user interfaces
GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component EngineeringHotDrink is a JavaScript library for constructing forms, dialogs, and other common user interfaces for Web applications. With HotDrink, instead of writing event handlers, developers declare a "view-model" in JavaScript and a set of "bindings" between ...
Automated web-based user interfaces for novice programmers
ACM-SE '12: Proceedings of the 50th Annual Southeast Regional ConferenceThis paper presents the development of a library for introductory programming courses that automatically builds web forms based on a simple specification of parameter types (both primitive and complex, user-defined) and labels for a function. Upon ...
Towards virtualization of user interfaces based on UsiXML
Web3D '05: Proceedings of the tenth international conference on 3D Web technologyA model-based approach is presented for structuring a development process of virtual user interfaces based on UsiXML, a XML-compliant User Interface Description Language. UsiXML provides a Concrete User Interface description that remains independent ...






Comments