- 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.
- Exercise: Whose Line Is It Anyway?! - Party Quirks
- Code Example:
- Harmonium
- Albers Choral Wheel
- Demo: Walking and Falling on the Noise Field
- Groups of 3: Create a semantic framework for 1 of your expressive projects.
- When does influence turn into interference?
- Is it more fun to cooperate or undermine?
- Are you more or less honest when you're anonymous?
- Exercises:
- Human Ouija Board
- Human Curling
- Scarf Play
- Mashing up inputs into pairs.
- Examples
- Synchronized Magic Eight
- Scr-ong
- Anonymous speed-dating
- Examples
- Groups of 4: Don't start from scratch. Try mashing-up 2 of your projects.
- 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.
- Why bother singing if your voice can't be heard?
- Are crowds smarter than individuals?
- Which is better? Survival of the fittest? Or No ant left behind.
- Does democracy = inclusion?
- Exercises:
- The Wave and other ways to conduct crowds
- How many jelly beans are in the jar?
- Where's Waldo
- Code Examples
- The Red Balloon
- Re-shaping the distribution curve of participation: Max, min, mean and median: 4 ways to compute group effort.
- The Joy of Synchronicity
- Youtube Survivor
- Voting Schemes
- The Red Balloon
- Week 9 Critique Proposals
- Week 10 User-Test Group A
- Week 11 User-Test Group B
- 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.