Papers
Topics
Authors
Recent
Detailed Answer
Quick Answer
Concise responses based on abstracts only
Detailed Answer
Well-researched responses based on abstracts and relevant paper content.
Custom Instructions Pro
Preferences or requirements that you'd like Emergent Mind to consider when generating responses
Gemini 2.5 Flash
Gemini 2.5 Flash 86 tok/s
Gemini 2.5 Pro 49 tok/s Pro
GPT-5 Medium 17 tok/s Pro
GPT-5 High 14 tok/s Pro
GPT-4o 88 tok/s Pro
GPT OSS 120B 471 tok/s Pro
Kimi K2 207 tok/s Pro
2000 character limit reached

AniFrame: A Programming Language for 2D Drawing and Frame-Based Animation (2404.10250v1)

Published 16 Apr 2024 in cs.PL, cs.HC, and cs.MM

Abstract: Creative coding is an experimentation-heavy activity that requires translating high-level visual ideas into code. However, most languages and libraries for creative coding may not be adequately intuitive for beginners. In this paper, we present AniFrame, a domain-specific language for drawing and animation. Designed for novice programmers, it (i) features animation-specific data types, operations, and built-in functions to simplify the creation and animation of composite objects, (ii) allows for fine-grained control over animation sequences through explicit specification of the target object and the start and end frames, (iii) reduces the learning curve through a Python-like syntax, type inferencing, and a minimal set of control structures and keywords that map closely to their semantic intent, and (iv) promotes computational expressivity through support for common mathematical operations, built-in trigonometric functions, and user-defined recursion. Our usability test demonstrates AniFrame's potential to enhance readability and writability for multiple creative coding use cases. AniFrame is open-source, and its implementation and reference are available at https://github.com/memgonzales/aniframe-language.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (33)
  1. Comparative Analysis of Six Programming Languages Based on Readability, Writability, and Reliability. In 2021 24th International Conference on Computer and Information Technology (ICCIT). 1–6.
  2. Spellburst: A Node-based Interface for Exploratory Creative Coding with Natural Language Prompts. In Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology (UIST ’23). Article 100.
  3. Towards Assessing the Readability of Programming Error Messages. In Proceedings of the 23rd Australasian Computing Education Conference. 181–188.
  4. ”Drawing with Code”: The experience of teaching creative coding as a skill for communication designers (12th International Conference on Education and New Learning Technologies). 3478–3488.
  5. Andrey Bo. 2012. Linear Spread: Illustrated Guide to vvvv for Newbies in Computer Arts. https://visualprogramming.net/.
  6. Douglas Crockford. 2008. JavaScript: The Good Parts. O’Reilly Media, Inc.
  7. On Designing Programming Error Messages for Novices: Readability and its Constituent Factors. In Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems (CHI ’21). Article 55, 15 pages.
  8. Python Software Foundation. [n. d.]. The Python Language Reference - 2. Lexical analysis. https://docs.python.org/3/reference/lexical_analysis.html.
  9. Computational art and creative coding: teaching CS1 with Processing. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (North Carolina, USA). 660.
  10. Creative coding and visual portfolios for CS1. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (Raleigh, North Carolina, USA) (SIGCSE ’12). 247–252.
  11. An empirical study on the impact of static typing on software maintainability. Empirical Softw. Engg. 19, 5 (Oct 2014), 1335–1382.
  12. Travis Kirton. 2013. C4: creative coding for iOS. In International Conference on Tangible, Embedded, and Embodied Interaction.
  13. Rui Madeira and Dawid Gorny. 2013. Cinder Creative Coding Cookbook. Packt.
  14. Getting Started with p5.js: Making Interactive Graphics in JavaScript and Processing. Make Community, LLC.
  15. Microsoft. [n. d.]. OpenGL - glPopMatrix function. https://learn.microsoft.com/en-us/windows/win32/opengl/glpopmatrix.
  16. James R. Miller. 2014. Using a software framework to enhance online teaching of shader-based OpenGL. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (Atlanta, Georgia, USA) (SIGCSE ’14). 603–608.
  17. Leonel Vinicio Morales Díaz. 2010. Programming languages as user interfaces. In Proceedings of the 3rd Mexican Workshop on Human Computer Interaction (San Luis Potosí, Mexico) (MexIHC ’10). 68–76.
  18. Terence Parr. 2013. The Definitive ANTLR 4 Reference. Pragmatic Bookshelf.
  19. Adaptive LL(*) parsing: the power of dynamic analysis. SIGPLAN Not. 49, 10 (Oct 2014), 579–598.
  20. Nicolás Passerini and Carlos Lombardi. 2020. Postponing the Concept of Class When Introducing OOP. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education (Trondheim, Norway). 152–158.
  21. Denis Perevalov. 2013. Mastering openFrameworks: Creative Coding Demystified. Packt Publishing.
  22. Keith Peters. 2006. Trigonometry for Animation. Apress, Berkeley, CA, 41–68.
  23. An empirical comparison of static and dynamic type systems on API usage in the presence of an IDE: Java vs. Groovy with Eclipse. In Proceedings of the 22nd International Conference on Program Comprehension (Hyderabad, India) (ICPC 2014). 212–222.
  24. Yizhou Qian and James Lehman. 2017. Students’ Misconceptions and Other Difficulties in Introductory Programming: A Literature Review. ACM Trans. Comput. Educ. 18, 1, Article 1 (Oct 2017).
  25. Anthony Ralston. 2003. Side effect. John Wiley and Sons Ltd., GBR, 1573–1574.
  26. C. Reas and B. Fry. 2007. Processing: A Programming Handbook for Visual Designers and Artists. NBER.
  27. Emil Sandberg. 2019. Creative Coding on the Web in p5.js: A Library Where JavaScript Meets Processing.
  28. Eddie Antonio Santos. 2022. What makes a programming error message good?. In Proceedings of the 2022 Conference on United Kingdom & Ireland Computing Education Research (UKICER ’22). Article 21, 1 pages.
  29. Rich Shupe and Zevan Rosser. 2010. Learning ActionScript 3.0. O’Reilly Media.
  30. Andreas Stefik and Susanna Siebert. 2013. An Empirical Investigation into Programming Language Syntax. ACM Trans. Comput. Educ. 13, 4, Article 19 (Nov 2013), 40 pages.
  31. Justin Windle. [n. d.]. Sketch.js. https://soulwire.github.io/sketch.js/.
  32. W. A. Wulf. 1979. A case against the GOTO. Yourdon Press, USA, 83–98.
  33. Stelios Xinogalos. 2015. Object-Oriented Design and Programming: An Investigation of Novices’ Conceptions on Objects and Classes. ACM Trans. Comput. Educ. 15, 3, Article 13 (Jul 2015), 21 pages.
List To Do Tasks Checklist Streamline Icon: https://streamlinehq.com

Collections

Sign up for free to add this paper to one or more collections.

Summary

We haven't generated a summary for this paper yet.

Ai Generate Text Spark Streamline Icon: https://streamlinehq.com

Paper Prompts

Sign up for free to create and run prompts on this paper using GPT-5.

Dice Question Streamline Icon: https://streamlinehq.com

Follow-up Questions

We haven't generated follow-up questions for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com

Tweets