Slalom
Declarative touch interactions via constraints.
For more information look at http://iamralpht.github.io/constraints
Current Status
Slalom is currently useful for prototyping simple touch interactions and learning about linear constraints and physics simulations.
Goals (short term first)
- Build some deeper examples with more interactions and non-touch driven animations (tap-to-open, etc).
- Write some real API documentation!
- Define a simple format (possibly JSON-based) for describing all of the constraints (instead of the code-based description Slalom currently uses).
- Explore visual representations of constraints, for use in an editor.
- Bring Slalom to native platforms (Android, iOS, Mac with trackpad, etc).
- Good escape hatches to imperative code. Slalom can't (and shouldn't try to) handle every kind of touch interaction, so being able to easily escape to imperative code is really important.
Contributions welcome!
Feel free to submit additional examples, tutorials or feature improvements through pull requests or by filing bugs and asking for help. Slalom is still very malleable, so it's good to try building a lot of different things with it to understand where it needs more work, or problems that it can't (or shouldn't) try to address.