Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Understanding the Needs of Creative Coders: Towards a Creativity Support Tool in Processing – OzCHI 2013

627 views

Published on

Creative coding as a paradigm has reached increased traction in the last 10 years. However, details looking into the workings, processes and needs of these creative coders is currently lacking in design and creativity literature. This paper reports on the preliminary findings of the needs of creative coders by analysing their process completing a design task in an experimental, qualitative study. The paper concludes with implications for a creativity support tool that could help address these needs in the Processing language and environment, a popular choice for creative coders.

Published in: Technology
  • Be the first to comment

Understanding the Needs of Creative Coders: Towards a Creativity Support Tool in Processing – OzCHI 2013

  1. 1. Understanding the Needs of Creative Coders Towards a Creativity Support Tool in Processing Mark C Mitchell: mmit9210@uni.sydney.edu.au ! Oliver Bown: oliver.bown@sydney.edu.au
  2. 2. Understanding the Needs of Creative Coders A formative study in a line of studies whereby we hope to gain a more detailed understanding of how creative coders interact with their code.
  3. 3. What is Creative Coding? Philosophy of open code-sharing. A highly interconnected, “new kind of creativity”. A discovery-based process using code as primary medium. Understanding gained through a context of experience. A developer with loads of ideas on how to make unconventional combinations of technology work together. One who is in the process of making a specific type of audio/ visual artefact. “If you are familiar with the open source language Processing then you'll have a good feel for what creative coding is about.” — David Bolton, http://cplus.about.com/b/2010/12/09/what-is-creative-coding.htm
  4. 4. Creative Coding The Creative Coder Bricolage Programming Reflection-in- action Creative coding is a process of exploration, incremental building and reflection.
  5. 5. Bricolage Programming “Bricolage programmers construct theories by arranging and rearranging; by negotiating and renegotiating with code” (Turkle & Papert, 1990). “Bricolage programming is particularly applicable to our theme of the artist-programmer.” (McLean, 2011). Turkle, S., & Papert, S. (1990). Epistemological Pluralism: Styles and Voices within the Computer Culture. Signs, 16(1), 128-157 McLean, A. (2011). Artist-Programmers and Programming Languages for the Arts (Doctoral dissertation).
  6. 6. Bricolage Programming Bricolage programming is particularly applicable to our theme of the artist-programmer (McLean, 2011).
  7. 7. The bug I encountered was so bizarre, I decided to do a render. The behaviour is totally a surprise to me. All I was hoping for was simple GPU based sphere-sphere collision as the result of gravitational attraction. — Robert Hodgin, Repulsion (Eyeo 2012)
  8. 8. What is Creative Coding? We define creative coding as a discovery-based process consisting of exploration, iteration, and reflection, using code as a primary medium, towards a media artefact designed for an artistic context.
  9. 9. Jonathan McCabe Frederik Vanhoutte Jason Rampe Kyle McDonald Felix Woitzel esimov (as3) Jason Rampe
  10. 10. Aims To understand and explore how the engagement between creative coder and coding environment can be bolstered. Now that we have defined creative coding, we can ask: Is the process of a creative coder being adequately supported by current coding environments?
  11. 11. Environments for Creative Coding Processing OpenFrameworks Cinder NodeBox (soon: MAAK…) Field LightTable C4 more!
  12. 12. An observational study Analyse the practice of creative coders and better understand their needs, which can inform the requirements of a creativity support tool. A qualitative study was conducted with self-described creative coders, using the Processing environment.
  13. 13. Methodology The study was conducted using direct observation and semi-structured interviews. Nine participants were recruited. A post-task interview was employed instead of using the think-aloud method, so the flow of the participant was not interrupted.
  14. 14. The Task The participants were encouraged to utilise any resources for the task they wished, including code libraries, code from the Internet, the example creatures shown at the beginning of the task, or previous work. Observations and interview questions were tailored to extract the why of the practice, rather than the what.
  15. 15. A Taxonomy of Needs Build code on a modular foundation Initiate the creative feedback loop quickly Make the program state visible Minimise the creative feedback gap Assistance in exploring the space of possible designs Maintain a robust mental representation of the software
  16. 16. A Taxonomy of Needs Build code on a modular foundation Starting-methodology: 1st stage: “scaffolding” “The scaffolding conducted by 8 of the 9 participants facilitated a modular approach to design. “If didn’t scaffold and wanted to implement even more things, it would be even harder. So I decided to make it modular.” — Participant 2 “If I had more time, I would have separated the creature behaviours into modules” — Participant 3
  17. 17. A Taxonomy of Needs Initiate the creative feedback loop quickly Starting methodology: 2nd-stage Achieving a minimal representation of the creative goal to the screen: in the case of this task, it was, in almost all cases, an ellipse drawn to the screen which acted as a placeholder for the creature. This initial visual artefact acts as a springboard for ideations, initiating the creative feedback loop.
  18. 18. A Taxonomy of Needs Make the program state visible Opaqueness of the system forced participants to make assumptions about the cause of unintended behaviour, selecting variables to print to console without any support from the IDE. Making the program state visible in a contextually appropriate way could alleviate these cumbersome debugging events
  19. 19. NodeBox 3
  20. 20. A Taxonomy of Needs Minimise the creative feedback gap The gap that exists between tweaking and observing creates a temporal delay that slows the creative process (McLean and Wiggins, 2011). Beyond slowing the process, the gap can also cripple it. The act of perception is integral to the creative process, and a lag between modification and the perception, judgment and analysis of the outputted result can stifle the creative feedback loop as causal mappings between modification and result are disrupted. Minimising the gap in this creative feedback loop will alleviate these problems, as well as improve flow. McLean, A. and G. Wiggins, Bricolage programming in the creative arts. http://yaxu.org/writing/ppig.pdf
  21. 21. A Taxonomy of Needs Minimise the creative feedback gap "creators need an immediate connection with what they're creating … when you're making something, when you make a change, or a decision, you need to see the effect of that immediately. There can't be a delay; there can't be anything hidden” Victor, B. Inventing on principle. in Invited Talk at Canadian University Software Engineering Conference (CUSEC). 2012
  22. 22. A Taxonomy of Needs Minimise the creative feedback gap
  23. 23. A Taxonomy of Needs Allowing the feedback loop to begin uninterrupted at the beginning of a creative task and optimising the tweak/run/observe cycle would increase the role of creative ideation and flow.
  24. 24. A Taxonomy of Needs Assistance in exploring the space of possible designs All participants engaged in rounds of parametric design tweaking — modifying a parameter of interest, then compiling and running the program to visually interpret the results. Tweaking of parameters can be considered an exploratory type of creativity, which involves exploring, navigating and testing the potential and boundaries of a conceptual space.
  25. 25. A Taxonomy of Needs Assistance in exploring the space of possible designs Boden defines three types of creativity: Combinatorial creativity Exploratory creativity Transformational creativity Creativity is a matter of mapping and exploring structured conceptual spaces (Boden, 1994). ! A map is used to search the space (exploration). Exploratory creativity can offer surprises comparable to the surprises provided by transformational creativity (Boden, 1995) M. A. Boden. The Creative Mind: Myths and Mechanisms. Weidenfield and Nicholson, London, 1990. M. A. Boden. Modelling creativity: Reply to reviewers. Artificial Intelligence Journal, 79:161–182, 1995.
  26. 26. A visual representation of search in a conceptual space (Veale, 2012) Veale, T. (2012). Exploding the Creativity Myth: The computational foundations of linguistic creativity. A&C Black.
  27. 27. A grid of possible design avenues to select from, evolving the parameters to an optimum state. courtesy of Adam Younis (Design Lab)
  28. 28. NodeBox 3
  29. 29. A Taxonomy of Needs Maintain a robust mental representation of the software Contrary to our expectations, ready-made code was utilised by only one participant. This is an unexpected finding, as we hypothesised that ready-made code would be a common starting point for the task across all participants, regardless of expertise level. Perhaps even more surprising was the lack of any third-party library use by any of the participants. 8 out of 9 participants expressed hesitation with utilising third-party libraries. The time it takes to learn an external library for use in a project requires not only an understanding of the system the library represents, but also the coding style of the library author. Allowing a creative coder to keep a robust, mental representation of their software at all times affords the integration of external code that lends extensibility to their program, removes the lack of expertise barrier for specialised domains, and affords creative coders to more easily implement their creative ideas.
  30. 30. Future Work Turning these needs into requirements, a prototype of a creativity support tool can then be evaluated.
  31. 31. Thank you! Mark C Mitchell: mmit9210@uni.sydney.edu.au ! Oliver Bown: oliver.bown@sydney.edu.au
  32. 32. Creativity is often seen as some combination of quality and novelty/innovation. • Open Questions • What questions should the judges be asked? • Are we interested in a holistic judgement of “creative”? • Is there a risk of the word “creative” having different meanings for judges? • Do we have to be more careful about who the judges are? • Summary: • There are still open questions about measurement of “novelty” or “creativity”. — Graeme Richie, Evaluating Quality in Creative Systems

×