Supporting Expressive Procedural Art Creation through Direct Manipulation

Computation is a powerful artistic medium. Artists with experience in programming have demonstrated the unique creative opportunities of using code to make art. Currently, manual artists interested in using procedural techniques must undergo the difficult process of learning to program, and must adopt tools and practices far removed from those to which they are accustomed. We hypothesize that, through the right direct manipulation interface, we can enable accessible and expressive procedural art creation. To explore this, we developed Para, a digital illustration tool that supports the creation of declarative constraints in vector artwork. Para's constraints enable procedural relationships while facilitating live manual control and non-linear editing. Constraints can be combined with duplication behaviors and ordered collections of artwork to produce complex, dynamic compositions. We use the results of two open-ended studies with professional artists and designers to provide guidelines for accessible tools that integrate manual and procedural expression.

[1]  W. Marsden I and J , 2012 .

[2]  Carman Neustaedter,et al.  Liveness, localization and lookahead: interaction elements for parametric design , 2014, Conference on Designing Interactive Systems.

[3]  John Bennett,et al.  Reflective conversation with materials , 1996 .

[4]  Scott R. Klemmer,et al.  Design as exploration: creating interface alternatives through parallel authoring and runtime tuning , 2008, UIST '08.

[5]  Rubaiat Habib Kazi,et al.  Kitty: sketching dynamic and interactive illustrations , 2014, UIST.

[6]  Brad A. Myers,et al.  ConstraintJS: programming interactive behaviors for the web by integrating constraints and states , 2012, UIST '12.

[7]  Scott R. Klemmer,et al.  How bodies matter: five themes for interaction design , 2006, DIS '06.

[8]  Casey Reas,et al.  Processing.org: programming for artists and designers , 2004, SIGGRAPH '04.

[9]  Wendy E. Mackay,et al.  Patterns of Physical Design Remixing in Online Maker Communities , 2015, CHI.

[10]  Randall B. Smith,et al.  Directness and liveness in the morphic user interface construction environment , 1995, UIST '95.

[11]  Alan Kay,et al.  User Interface: A Personal View , 2005 .

[12]  William J. Mitchell,et al.  The Logic of Architecture: Design, Computation, and Cognition , 1992 .

[13]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[14]  Ravi Chugh,et al.  Semi-Automated SVG Programming via Direct Manipulation , 2016, UIST.

[15]  Mitchel Resnick,et al.  DRESSCODE: SUPPORTING YOUTH IN COMPUTATIONAL DESIGN AND MAKING , 2022 .

[16]  Stéphane Conversy,et al.  Augmenting the scope of interactions with implicit and explicit graphical structures , 2012, CHI.

[17]  Ravi Chugh,et al.  Program Synthesis for Direct Manipulation Interfaces , 2015, ArXiv.

[18]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[19]  Brad A. Myers,et al.  InterState: a language and environment for expressing interface behavior , 2014, UIST.

[20]  Ben Shneiderman,et al.  The future of interactive systems and the emergence of direct manipulation , 1982 .

[21]  Toby Schachman,et al.  Alternative programming interfaces for alternative programmers , 2012, Onward! 2012.

[22]  Robert Aish,et al.  DesignScript: Origins, Explanation, Illustration , 2011 .

[23]  Tovi Grossman,et al.  Object-Oriented Drawing , 2016, CHI.

[24]  Brian Harvey Symbolic Programming vs. the A.P. Curriculum , 1991 .

[25]  Ivan E. Sutherland,et al.  Sketchpad—a man-machine graphical communication system , 1998 .

[26]  Mitchel Resnick,et al.  Some reflections on designing construction kits for kids , 2005, IDC '05.

[27]  Leah Buechley,et al.  Codeable objects: computational design and digital fabrication for novice programmers , 2013, CHI.

[28]  Terry Winograd,et al.  Bringing Design to Software , 1996 .

[29]  Rubaiat Habib Kazi,et al.  SKUID: sketching dynamic drawings using the principles of 2D animation , 2016, SIGGRAPH Talks.

[30]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[31]  Brad A. Myers,et al.  Six Learning Barriers in End-User Programming Systems , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[32]  S. Turkle,et al.  Epistemological Pluralism and the Revaluation of the Concrete. , 1992 .

[33]  John Zimmerman,et al.  How to support designers in getting hold of the immaterial material of software , 2010, CHI.

[34]  Malcolm McCullough,et al.  Abstracting Craft: The Practiced Digital Hand , 1996 .

[35]  Shaowen Bardzell,et al.  Sustainable Making? Balancing Optimism and Criticism in HCI Discourse , 2015, ACM Trans. Comput. Hum. Interact..

[36]  Brad A. Myers,et al.  Past, Present and Future of User Interface Software Tools , 2000, TCHI.

[37]  Eric Paulos,et al.  MetaMorphe: Designing Expressive 3D Models for Digital Fabrication , 2015, Creativity & Cognition.

[38]  Alan F. Blackwell,et al.  Palimpsest: A layered language for exploratory image processing , 2014, J. Vis. Lang. Comput..

[39]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .