10. 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
11. 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
13. Syllabus
Course Description
Skills Required
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.
• 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
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.
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
• 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
14. Syllabus
Learning Objectives
Evaluation and Grading
Students will:
Criteria for Evaluation
• Learn what it takes to conceptualize, develop, and support
an open-ended, open source project
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
• 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.
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
!
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
15. 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
Class 3 - 2/11 - Where We Came From, What’s Next
Lecture: Introduction to class, goals, syllabus
Workshop: Getting started with Spacebrew
Assignment: Tell a story through a sketch
Lecture: History of Spacebrew, Outliers - what we
can’t do yet
Assignment: Custom types, written tutorial
Class 2 - 2/4 - Collaboration
Lecture: Intro to version control
Workshop: the Spacebrew server
Assignment: Small group project: exquisite
corpse
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
!
Class 4 - 2/18 - Prototyping
Lecture: Prototyping Methodologies
Assignment: Video prototyping
16. Schedule:
Open Project(s)
Class 5 - 2/25 - Project Kickoff
Lecture: Open Project, course options
Assignment: Pitch presentation
!
Class 6 - 3/4/13 - Pitching + Development
Small group presentation of pitches
Assignment: Developing pitches
!
Class 7 - 3/11 - Workshop
Guest workshop
Assignment: 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 track
Assignment: Final (refined) concept presentation OR new pitch
presentation
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
17. Schedule:
Open Project(s), con’t
Class 10 - 4/8 - Project Development
Workshop TBD
Assignment: Continued project development, documentation
!
Class 11 - 4/15 - Project Development
Workshop TBD
Assignment: Continued project development, documentation
!
Class 12 - 4/22 - Refinement + Conclusion
In-class work session
Assignment: 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
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
19. 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
20. 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:
mfadt-spacebrew-group@newschool.edu
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
24. 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
26. 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
27. Data Types
= true or false
= 0-1023
= “some text”
three standard types allow for quick and easy
routing; custom types are also supported
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
28. Libraries
JS
Spacebrew aims to be implementation agnostic.
We want to use the right tools at the right time!
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
29. Zip! Zap! Zow!
Everybody stand up!
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra
31. 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
32. 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
34. 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)
Spacebrew Collab - Parsons D + T - Brett Renfer & Julio Terra