Jan 21, 2015
Rui Madeira
From Concept to Code
COD001
Freelancer
www.ruim.pt
Twitter.com/ruimm
From Concept to Code
• How to be more creative when working with code
• Dont let code clamp your concepts
Rui Madeira
Rui Madeira
Rui Madeira
Creative coding?
• Why is using code creativily an issue?
Code is...
• Linear• Logic• Strict rules• Abstract• Sequential • Left brain side
Creativity is...
• Random• Intuitive• Subjective• Right brain side
Establishing a bridge
• Moving seamlessly between code and creativity
Some tools for teaching code to artists / designers
• Design by Numbers• Processing• OpenFrameworks• VVVV• Max msp/jitter• Node Box• Microsoft’s Vedea (soon...)
Design by Numbers
Something amazing happened..
• Artists/Designers becoming great programmers
• Programmers becoming great artists/designers
Using familiar metaphors
• To make code less abstract• To create code that focus on
behaviour• Don’t create code that focus on
math/physics/anything too tech...
• To Keep it simple
Using OOP to promote creative thinking
• “Use the right tool for the right job - make those tools!” – Karsten Schmidt
• Wrap the tech stuff in easy to use classes
• Base these classes in metaphors you are familiar with
• Ignore the foundation
Working inside these classes
• Implementing algorithms• Adding functionality• Optimizing• This is Development!
Working on top of these classes
• Thinking how these functionalities can be put to use
• Thinking about content (aesthetics, animation, interaction, etc…)
• Not thinking about technical algorithms
• This is Design!
“Parque” – a little case study..
• Interactive installation for Parque da Paz in Almada
• (Almost) Everything is generated and animated in real time
• Physics based…
Physics??!!
RuiPhysics – Simple physics library
Reuse your libs - Optimus
Reuse your libs – Moda Lisboa
Reuse your libs – Vuzak Media Sound Visualizer
Reuse your libs – Fundação Portuguesa das Comunicações
Libraries = Repositories for Knowledge
• Learn how• Wrap it in a simple to use library• Reuse it when necessary• Move on to learning other
things..• Go back and check the source (if
you have to)
Open Source Libraries = Borrowing Knowledge
• Incorporate in your projects knowledge outside your scope (computer vision, physics, math, animation, 3D, etc…)
• Stand on the shoulder of giants
Share your knowledge
• Adopt open source practices• Sharing will make open source
communities grow• Improve your projects through
the knowledge of others• Win/Win situation
Share my knowledge
• Libraries and tools: ruicode.googlecode.com
• Sources: ruisource.googlecode.com
Separation of Design and Development
• Agencies usually separate designers and coders
• Designers don’t know about code
• Developers don’t know about design
A sua opinião é importante!Complete o questionário de avaliação e devolva-o à saída.
Obrigado.