14. TOOL OBJECTIVES...
- Provide a way to create and store
pattern templates of form and color
- Pattern templates should produce
somewhat unique renderings
- Provide a way to generate and store
renderings
- Provide basic tools to help translate
from screen to canvas
- Access it all in a browser
15. THE FIRST PASS
- SVG generator
- First Rails, then Merb app
- REXML to build and parse SVG
- AR models to represent templates
- Routine to generate would be in model
- A database row would represent a
rendering
- Used inheritance + rand() to vary the
template output
- svg2png to persist selected renderings
16.
17.
18. I NEED A NEW TOOL
- REXML slowwww
- My code was slowwww
- New tools available:
- Nokogiri
- Sinatra
- So I started to spec ...
19. ALONG COMES ...
- Processing.js
- A port of Processing to Javascript,
renders Processing to the HTML5
canvas element
- Ported by John Resig while he was
juggling plates and balancing a ball
on his nose
20. PROCESSING
- Open source programming language
for programming images, animation
and interaction
- Java based
- Developed at the MIT Media Lab
- Widely used in generative art
23. COUCH DB & COUHAPPS
- CouchDB is key/value based
persistent storage
- CouchDB is essentially a
web server - a “RESTful
data store”
- CouchApp is a Python app
for deploying a Javascript-
based application to
CouchDB
30. TOOL OBJECTIVES...
L Provide a way to create and store
pattern templates of form and color
L Pattern templates should produce
somewhat unique renderings
L Provide a way to generate and store
renderings
L Provide basic tools to help translate
from screen to canvas
L Access it all in a browser
31. AND AT NO CHARGE...
- One stop application server + storage
service
- Offline / online working possibilities
through replication
- Templates de-coupled from renderings
- Both are simply documents
- Animation / interaction
32. NEXT STEPS
- Refactor to better contain logic
(application.js, controller.js)
- Timing, progress kinks
- Miscellaneous interface enhancements
- Fork for IDE use?
- Actually paint something
- Hook it up to a hand-fabricated
plotting machine