Duration 5 days Where Γcole Cantonale des Arts (ECAL) What Creating an interactive typographic animation series With HTML + Javascript (+ p5.js) Requirement Laptop with webcam Structure Groups of 2 people Tutors Vera van de Seyp
Letβs explore creative ways in which typography and graphics can be manipulated and animated in response to human movement. We will work around: How does our physical body interact with digital content? How can we critique our digital routines, enhance physical gestures, and what other future mixed reality interactions can we imagine?
This workshop combines visual design, creative coding, and real-time interaction between the physical body and digital typography through gestures. Movement captured via webcam and processed with the MediaPipe framework. We are focusing on the idea behind the interaction to make an interactive animation series.
To participate in this workshop, you'll need:
Tangible interaction, Creative Coding, Motion Design
8:30 β 10:00 Introduction 10:00 β 10:30 Break 10:30 β 12:00 TUTORIAL 1: Mediapipe 12:00 β 13:00 Lunch Break 13:00 β 14:00 Guest Lectures 14:00 β 16:30 Sketching / consultations 16:30 β 17:00 Group check in
The first day, we will do an introduction together and run a a MediaPipe coding tutorial and explain some examples that we will work from.
After a break, we will break up in groups and start working on ideas. Make a list of ideas for your project. The theme is mixed-media interactions and digital routines to tell a short story about our digital habits, but you are welcome to work on other theme if you have a good idea.
Some things to consider:
Make the list as long as possible. Also include ideas you might not be completely convinced by, because afterwards you'll narrow down.
Add your initial idea list here.
After making the list, include rough sketches or references with the ideas you prefer the most. Sketch your ideas with your favorite medium (paper/software both allowed). It's okay if the ideas still shift a little, but these visual sketches will help us as a guide while we are programmingCollect your favorite sketch. At the end of the day, present and discuss the ideas in the group.
In the afternoon after the break, pick 2 β 3 ideas from your idea list that you enjoy the most and work the concept out further.
Sketch them out in more detail and consider some more specific details:
Consider for the concept:
Make a short slide presentation of 1β2 slides per concept. Based on these outlines, pick one concept that you want to work on after the break.
8:30 β 10:00 TUTORIAL 2: Web typography / p5.js 10:00 β 10:30 Break 10:30 β 12:00 Concept sketching / Consultations 12:00 β 13:00 Lunch Break 13:00 β 14:00 Guest Lectures 14:00 β 15:30 Design sketching / Consultations 15:30 β 16:00 Break 16:00 β 16:30 Group check in 16:30 β 17:30 Consultations
Today, we will work out the visual vocabulary and start coding our interaction.
In the afternoon, continue with your one concept and start sketching more thoroughly for the design.
Consider for the design:
For this design, add to your slide presentation showing your design choices.
The design does not have to be completely finished yet, but you do need to develop a general visual vocabulary that you can build on.
Upload a PDF version of the presentation with your concepts and final concept design to this folder.
Based on the design, develop a rudimentary website that contain the graphics, without the body / gesture interaction.
The site does not have to be finished yet by the end of the day either, but the goal is that you have begun to test your design vocabulary in a website format.
8:30 β 10:00 TUTORIAL 3: Interaction tips and tricks 10:00 β 10:30 Break 10:30 β 12:00 Interaction sketching / Consultations 12:00 β 13:00 Lunch Break 13:00 β 14:00 Guest Lectures 14:00 β 15:30 Coding / Consultations 15:30 β 16:00 Break 16:00 β 16:30 Group check in 16:30 β 17:30 Consultations
This day, we are going to take our ideas and design and dive into the code part. Try to divide the work where possible: one person can try to debug while the other sketches out the interaction.
Sketch how your interaction will work so you can refer back to it while coding.
Meanwhile, are going to work out our interaction. Save versions of your code so that you do not miss out!
Github works great for this, but you can also copy the folder with your code on your computer.
8:30 β 10:00 Coding / Consultations 10:00 β 10:30 Break 10:30 β 12:00 Coding / Consultations 12:00 β 13:30 Lunch Break 13:40 β 15:30 TUTORIAL 4: Documenting & Exporting 15:30 β 16:00 Break 16:00 β 16:30 Group check in 16:30 β 17:30 Consultations
The CDN website is down for us today! If you want to circumvent this while we look for a more sustainable answer, use a VPN service.
I like to use Proton VPN.
While we continue working on perfecting our interactions, we also design the 3 different versions in our series.
Keep most parameters consistent but alternate with the pose, interaction, the language or elements of the graphics.
Always try to alternate between sketching, and programming. Also make sure to document sketches and progress, even if they are imperfect.
We will also start looking at optimizing the code today, for instance make sure the framerate is high enough, where necessary.
8:30 β 10:00 Documenting 10:00 β 10:30 Break 10:30 β 12:00 Documenting 12:00 β 13:00 Lunch Break 13:00 β 14:00 Documenting 14:00 β 15:00 Building up 15:00 β 16:00 Presentations for MID 16:00 β 17:30 Presentations 16:30 β 17:30 Drinks and snacks!
Finalize the animation series and interactive work.
Record your work and convert it to mp4 web format. Ideal format is landscape 1920 x 1080 px, portrait 1080 x 1920 px or square 1080 x 1080 px.
Make sure the video is less than 50 MB per group. If you need to format it, we can recommend Handbrake to compress it.
Upload the video to the animations folder and the code to the code folder.
More about Mediapipe:
Mediapipe
p5.js references:
p5.js reference page
The Coding Train: super fun tutorials on p5.js
The Nature of Code
Open Processing hosts a lot of examples.
Variable font testing:
Dinamo Font Gauntlet
Some open type foundries:
League of Moveable type
Velvetyne
Open Foundry
Google Fonts
Font Fabric
Type Type
I can recommend Handbrake to compress videos.
Other links:
Visual Code Studio text editor
Fontstruct: A free type creation interface
Disney Omnidirectional treadmill
Keiichi Matsuda - Agents
Typefaces: Anthony by Sun Young Oh (Velvetyne), Suisse Mono Intl by Swiss Typefaces