mfadt spacebrew: class 1
DESCRIPTION
TRANSCRIPT
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Spacebrew Collab Introductions 2014/01/28
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Today• Introductions • Overview/Syllabus • Break • Getting started with Spacebrew • Assignment 1
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Introduce yourselves!
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Brett & Julio
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Obligatory hype video!
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
“Plug-In-Play”, San Jose, CA, 2010with LAB at Rockwell Group
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
“Make Your World”, San Matteo, CA, 2011with LAB at Rockwell Group
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
“Deluxx Fluxx”, Miami, FL, 2013with FAILE
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Class Overview
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Class Overview
• This class is structured as an open studio • We will focus on learning through making, which will include in class workshops and independent work sessions
• We will be teaching a basic set of skills to get you started with Spacebrew, then molding the rest of the class around shared and specific interests
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Class Overview
• This could include: • Researching emerging hardware platforms • Building interactive installations • Contributing directly to Spacebrew • Leading off-site workshops and seminars • ?
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Syllabus
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Course Description
This course is an open studio dedicated to exploring the creation of interactive spaces using the Spacebrew platform as a foundation. Spacebrew is an open-source tool for building and experimenting with interactive spaces. It facilitates rapid prototyping of interactive and responsive environments by enabling designers and developers to easily and quickly connect real-time interactive applications across microcontrollers, computers and the cloud. Students will be encouraged to work in interdisciplinary teams to explore the use of emerging technologies and expand their technical skills while contributing to the Spacebrew open-source project.
The class will have three main focus areas. The extent to which each of these areas is explored will be largely driven by student input and interest.
1. Expanding the use of Spacebrew outside the world of software and hardware development. This will involve designing and building best-in-class examples and use cases, creating tutorials for non-technical users, and developing workshops for interdisciplinary teams.
2. Developing Spacebrew on a technical level by creating new libraries for different software frameworks, experimenting with connecting Spacebrew to new hardware platforms, and adding features to the existing toolkit.
3. Exploring the outer limits of Spacebrew, which may include designing speculative near-future scenarios, creating expansion strategies for the project, or creating entirely new tools that expand into unforeseen territories.
Skills Required
• Willingness to learn: students are encouraged to step outside whatever technologies (if any) they are comfortable with, and will be taking a self-driven, practice-based process to learning new technical skills
• Students should have some level of competency in interaction design, communication design, and/or software development
• Software Development: some combination of the following
• Experience or familiarity with any or all of the following languages/frameworks: javascript, Processing/java, openFrameworks, Cinder, Python, Ruby
• Experience or familiarity with any of the following hardware platforms: Arduino, Raspberry Pi, Teensy, Beaglebone
• Design + Communication: some combination of the following
• Experience or familiarity with tools used for designing content for web, mobile, or print applications.
• Experience or familiarity with designing graphic systems for physical spaces and exhibits
• Experience or familiarity with 3D design software such as SketchUp, Rhino, AutoCAD
Syllabus
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Learning Objectives
Students will:
• Learn what it takes to conceptualize, develop, and support an open-ended, open source project
• Learn and practice of a range of high- and low-tech prototyping strategies
• Build familiarity with and understanding of the current landscape of software and hardware tools, libraries, and frameworks
• Build strong collaboration skills, including technical skills relating to shared code bases and version control
Attendance
Regular, on-time class attendance is required. Students with repeated absences and/or lateness for any reason risk a substantial negative impact to their grade, including failure. Excessive or repeated instances of lateness may be counted as absences. As per University policy, 3 absences are grounds for failure. Two absences will result in an automatic academic warning.
Evaluation and Grading
Criteria for Evaluation 1. Design Process: students must approach the assignments
with conceptual and technical rigor, set and meet real goals/deliverables, and demonstrate a high level of investment in exploration and iteration!
2. Collaboration and Community: students will need to engage and support fellow students, show consideration for the larger community of existing and potential Spacebrew users, and clearly document and share their work!
3. Participation: each student must be an active participant in every aspect of the class, including workshops, lectures, and helping determine the focus of the class, Attendance and engagement level are considered as part of this criteria.!
4. Pushing boundaries: students must work to expand their personal skill sets both technical and conceptually, and demonstrate thorough exploration of the problem space Spacebrew resides in
Syllabus
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Schedule: Spacebrew Intro
Class Schedule The following is a “working schedule”. Classes are subject to change based on interests of class and direction in which class proceeds. Please make yourself aware of all changes to schedule. If you miss a class, it is your responsibility to learn of any changes. Since you are an active member of this learning community, please speak to us about course direction.
!Class 1 - 1/28 - Getting Started Lecture: Introduction to class, goals, syllabusWorkshop: Getting started with Spacebrew Assignment: Tell a story through a sketch
Class 2 - 2/4 - Collaboration Lecture: Intro to version controlWorkshop: the Spacebrew serverAssignment: Small group project: exquisite corpse
Class 3 - 2/11 - Where We Came From, What’s Next Lecture: History of Spacebrew, Outliers - what we can’t do yetAssignment: Custom types, written tutorial
!Class 4 - 2/18 - Prototyping Lecture: Prototyping MethodologiesAssignment: Video prototyping
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Class 5 - 2/25 - Project Kickoff Lecture: Open Project, course optionsAssignment: Pitch presentation
!Class 6 - 3/4/13 - Pitching + Development Small group presentation of pitchesAssignment: Developing pitches
!Class 7 - 3/11 - Workshop Guest workshopAssignment: Pitch development, deliverable plan
!Class 8 - 3/18 - Midterms In-class work session
!3/25 - Spring Break - NO CLASS !Class 9 - 4/1 - Fight or Flight! First deliverable presentation(s), end of 2 part trackAssignment: Final (refined) concept presentation OR new pitch presentation
Schedule: Open Project(s)
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Class 10 - 4/8 - Project Development Workshop TBDAssignment: Continued project development, documentation
!Class 11 - 4/15 - Project Development Workshop TBDAssignment: Continued project development, documentation
!Class 12 - 4/22 - Refinement + Conclusion In-class work sessionAssignment: Final deliverable(s)
!Class 13 - 4/29 - Final Presentations/Installations End Project: Full class presentation w/ guest critic(s)Assignment: Post documentation as Spacebrew blog post
!Class 15 - 5/6 - Packaging and Documentation Class 16 - 5/13 - Closing Workshop
Schedule: Open Project(s), con’t
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Housekeeping
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Assignments• Assignments must be completed on time and before class
• All work will be posted to the class Tumblr unless otherwise noted: http://mfadt-spacebrew.tumblr.com/
• All code must be posted to your Github page
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Distribution• PDFs of assignments and presentations will be shared via Google Drive and Canvas
• We have set up a Google Group to function as mailing list, support group, etc:[email protected]
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Support• Email is [email protected]@newschool.edu
• We will host as-needed “office hours” on the MFADT floor or via Google Hangout
• It is your responsibility to reach out for support!
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Questions?
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Intro to Spacebrew
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Spacebrew…• is a service and toolkit for choreographing interactive spaces !
• makes it easy to connect interactive things to one another !
• was developed to support prototyping-driven design efforts
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Client-Server Model
client app
client app
client app
client app
each client can feature one or morepublishers and subscribers
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Client-Server Model
the server routes all publishers and subscribers; routes can be edited via a switchboard-like interface
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Data Types
three standard types allow for quick and easy routing; custom types are also supported
= true or false
= 0-1023
= “some text”
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Libraries
Spacebrew aims to be implementation agnostic.We want to use the right tools at the right time!
JS
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Zip! Zap! Zow!Everybody stand up!
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
ExerciseZip! Zap! Zow! 2.0
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
ZZZ2.0• grab a parter! !
• create an app that has one publisher and one subscriber, both of which are range type
• Your app must change states when it receives a range.
• Your app must have a trigger to send out its value! (e.g. mouse click, key press, sensor read)
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Spacebrew + Processing• spacebrewP5 is a Spacebrew-supported library
• install the library at ~/Documents/Processing/libraries (make the folder if it doesn’t exist!)
• restart Processing if it was open
• open the spacebrew_base example to get started!
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Assignment 1
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
Assignment 1• select a partner !
• design and build a simple, two person interaction with at least two computers and Spacebrew !
• post documentation (photos and/or video) to the class Tumblr !
• stretch goal: use two different Spacebrew libraries (e.g. Processing and Javascript)