- Wednesdays 12:10-3:05PM in Room 20
- Mimi Yin, [email protected]
- Office Hours Signup
- Class Google Group. I will be adding you after the first class.
- Class Google Drive Folder. Resources from class, assignments.
- All code examples will be pushed to this github repo.
- Most code examples will also be available in the p5 web editor.
- What is collective play?
- How is collective interaction different from individual interaction?
- How do you know you've designed a successful interaction?
- Is "willingness to participate" a personality trait?
- Is this a programming class?
- Exercise: Hands
- Overview of Design Patterns
- Tech Tutorials
- Setting up you local development environment
- CLI - Command Line Interface
- Atom Editor and Atom Live Server Package
- Websockets
- Node Server
- Code Examples
- Sending real-time inputs: mouse + keyboard, phone sensors, mic level
- Sending inputs with a username
- Keeping track of inputs by id
- Separating inputs and outputs with namespaces
- Normalizing data across clients
- Resources
- explainshell.com: Shell commands deconstructed.
- Shiffman: Node
- Beginner’s Guide to Node (more advanced topics)
- Socket.IO - Get Started
- Socket.IO - Emit cheatsheet
- Mozilla Developers Network
- Brainstorm Inputs
- Sign-up to implement 2 inputs.
- Bring 5 things to draw with next week.
- Wear clothes you can get dirty...forever.
- What does it mean to be expressive?
- What are the parameters of expression in:
- Painting
- Spoken Word
- Singing
- Exercise: Collective Drawing
- Collecting the next layer of input (ie. meta-data)
- Code Examples:
- Pollacky
- Texteoke
- Finger Drumming
- Links
- Re-work your hello world example to be more expressive
- Please bring ear-bud headphones for your mobile device to class next week.
- What does it mean to be meaningful?
- Semantics is the study of the meaning of words or lexical meaning. What about non-lexical semantics?
- Setting up a semantic framework.
- Exercises:
- Tableau
- Cheering Track
- Pauline Oliveros: Tuning Meditation | Arpeggio | About
- Code Example:
- Harmonium: Glitch
- Group Assignments
- Groups of 4: Create a semantic framework for 1 of your expressive projects.
- Fill out this worksheet. Each team has a tab.
- What worked.
- What didn't work.
- Any surprises?
- What could you have done differently? And what effect would it have had?
- Iterate on your design with 1 simple change.
- When does influence turn into interference?
- Is it more fun to cooperate or undermine?
- Exercises:
- Human Ouija Board
- Mashing up inputs into pairs.
- Examples
- Ouija
- Twist and Shake
- Examples
- Groups of 2: Create a paired interaction that optimizes for how closely you have to be in sync with your partner.
- What's the difference between taking turns and having a conversation?
- Keeping track of who's turn it is
- Example: Dear John
- Taking turns drawing, writing text, making noise.
- Groups of 3: Make a queuing project.
- When do you want to be (in)visible?
- Play "Taking Turns" projects
- Analyze (in)visible responses.
- Design and run a human-only (no technology) interaction.
- Be clear about what relationship dynamics you're exploring: e.g. open-ended, confrontation!
- Be clear about what emotional dynamics you're exploring: e.g. self-consciousness and validation
- Think out of the box of our class. Try something outside. Try something with 30 people. Try something that takes an hour!
- Document the event.
- Post-mortem what you did: What did you expect to happen? What actually happened? What could you tweak to get a very different outcome?
- Post your documentation to your blog.
- Play test "Jog Wheel"
- Re-design, run, document and post-mortem take 2 of your human-only interaction.
- Prepare a short presentation of your findings.
- Include some early thoughts on how you might apply your findings to a digital expression of the ideas you're exploring.
- Week 10 Present human play test results
- Week 11 In-Class User Testing
- Week 12 Final Presentations
Rules of play shape competitive games from checkers to football. But how do the rules of interaction shape non-competitive play? In this course, we will explore, code and test design strategies for playful group interactions.
Some of the questions we will ask and attempt to answer:
- What encourages participation?
- Can we work together as a group if “every man is for himself”?
- When does influence turn into interference?
- Are leaders necessary? Is it possible to lead from behind?
- What’s the difference between taking turns and having a conversation?
- What participate if individual effort is subsumed under collective output?
- Does democracy = inclusion?
- What happens when the slowest person sets the pace?
Interaction inputs we will play with will include: mouse, keyboard, mobile device sensors, and microphone. Outputs will include, visuals, text and sound. We will use p5, websockets and node.js for real-time interaction. Class time will be split between playing with and critiquing examples and translating design strategies into code and logic.
ICM or the equivalent.
- 40% for showing up (on time!) and participating with curiosity and enthusiasm.
- 40% for homework.
- 20% for the final project.
- More than 2 unexcused absences qualifies you for a failure.
- 2 lateness of 15 minutes or more qualifies as 1 unexcused absence.