Kaleidoscope: mixing objects, constraints, and imperative programming
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Separating application code from toolkits: eliminating the spaghetti of call-backs
UIST '91 Proceedings of the 4th annual ACM symposium on User interface software and technology
Integrating pointer variables into one-way constraint models
ACM Transactions on Computer-Human Interaction (TOCHI)
Skyblue: a multi-way local propagation constraint solver for user interface construction
UIST '94 Proceedings of the 7th annual ACM symposium on User interface software and technology
Constraint cascading style sheets for the Web
Proceedings of the 12th annual ACM symposium on User interface software and technology
Past, present, and future of user interface software tools
ACM Transactions on Computer-Human Interaction (TOCHI) - Special issue on human-computer interaction in the new millennium, Part 1
Lessons learned about one-way, dataflow constraints in the Garnet and Amulet graphical toolkits
ACM Transactions on Programming Languages and Systems (TOPLAS)
User Interface Management Systems: Models and Algorithms
User Interface Management Systems: Models and Algorithms
The bubble cursor: enhancing target acquisition by dynamic resizing of the cursor's activation area
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Programming rich interactions using the hierarchical state machine toolkit
Proceedings of the working conference on Advanced visual interfaces
SwingStates: adding state machines to Java and the Swing toolkit
Software—Practice & Experience
How designers design and program interactive behaviors
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
A natural, tiered and executable UIDL for 3D user interfaces based on Concept-Oriented Design
ACM Transactions on Computer-Human Interaction (TOCHI)
Flapjax: a programming language for Ajax applications
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Declarative Language Design for Interactive Visualization
IEEE Transactions on Visualization and Computer Graphics
IEEE Transactions on Visualization and Computer Graphics
Proton: multitouch gestures as regular expressions
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Formal description of multi-touch interactions
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
Hi-index | 0.00 |
Interactive behaviors in GUIs are often described in terms of states, transitions, and constraints, where the constraints only hold in certain states. These constraints maintain relationships among objects, control the graphical layout, and link the user interface to an underlying data model. However, no existing Web implementation technology provides direct support for all of these, so the code for maintaining constraints and tracking state may end up spread across multiple languages and libraries. In this paper we describe ConstraintJS, a system that integrates constraints and finite-state machines (FSMs) with Web languages. A key role for the FSMs is to enable and disable constraints based on the interface's current mode, making it possible to write constraints that sometimes hold. We illustrate that constraints combined with FSMs can be a clearer way of defining many interactive behaviors with a series of examples.