/TremulaJS

TremulaJS: Picture Streams + Momentum Engine + Bézier Paths + Multi-Device

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

TremulaJS

Picture Streams + Momentum Engine + Bézier Paths + Cross-Browser + Cross-Device

TremulaJS (trem-yoo-la) is a client-side javascript UI component providing Bézier-based content-stream interactions with momentum & physics effects for mouse, scroll and and touch UIs.

Put another way, TremulaJS can be thought of as an extremely bad-ass image carousel.

Watch the TremulaJS video demo here

tremula vimeo image

The TremulaJS project began as an exercise to create an Apple-style momentum-scroller for Javascript. The project eventually grew into a tool able to synthesize live visual content feeds into compelling path-based interactions.

TremulaJS is compatible with all recent versions of iOS Safari, Chrome, OS X Safari, FF, IE. The component is currently in use on Art.com.

TremulaJS was developed by Garris Shipon at Art.com Labs.

Licensed under GPLv3.

follow @garris

More info...

  • See the demo video (2.5 min), illustrating some of the visual possibilities.

  • Play with the live component demo

  • Experiment with the configuration file on CodePen

  • Get up-and-running with the fully-documented boilerplate file, includes a summary of all configuration settings.

  • Download, Fork, Contribute on GitHub

  • Learn how to create your own Grid Projections -- technical articles coming soon... stay tuned!

Dependencies

  • HammerJS (A most awesome touch event component)
  • JsBezier (Thank you Simon Porritt !)
  • jQuery (TremulaJS uses only a little bit of jQuery. Would be happy to remove it from the project in the future.)

Tested in the following browsers

iOS Safari, Chrome, OS X Safari, FF, IE (recent versions)

running mocha.js tests

open /TremulaJS/test.html in the web browser of your choice.

Building with r.js

	step 1. cd to the root /TremulaJS/ directory
	step 2. $ node r.js -o build.js; node r.js -o cssIn=src/Tremula.css out=dist/Tremula.css optimizeCss=standard