Week 13: Intro to Raspberry Pi (deck below).


If you are a first year:

  • Plan for your final project. Simple outline of a SOW, and development plan (does not need to be as in depth as Midterm, I’d like to see just outlines).
  • If you are working on an iteration of your Midterm project, link to your final Midterm product and in 2 – 3 sentences describe what the new milestones are. If not, spend those sentences describing your concept, and adding any relevant links to precedents or research.

If you are working on your thesis:

  • Blog post describing where you’re at (2-3 sentences), including >= 1 single IMAGE or VIDEO of your last prototype / some progress / etc and a link to your thesis on the internet (blog, site, at least a URL that will have it).
  • If you don’t yet have any webpresence for your thesis (outside of the 2015 MFADT class site), this is a very big problem you must start to address immediately. One of the takeaways from last week was that if you have not documented your work and put it on the internet, then it never happened. Many many more eyes will see your work and read about it on the internet than they will at the 1 week-long thesis show. Documentation is very much a core aspect of interactive prototyping, and as such having a webpresence for your thesis project is a requirement for passing this course.

Week 12


Yes, video is always the best way to explain and show your work on the internet. But how else do we document / archive our work, particularly in a real-world / working situation. Documentation is a core aspect of prototyping intelligently – always remember that if you don’t document it and put it on the internet, then it never happened.

Week 11

Introduction to cross platform, native mobile application development using Cordova (PhoneGap)

Week 10

Finish Midterms + Intro to Mobile Web

Check out the mobile browser app in our class GitHub repo here. Try changing the script include line of index.html to use the other files of the /public/js folder. Each show different mobile browser APIs.

/public/js/device_motion2.js demonstrates

/public/js/location.js demonstrates how to request geolocation data via any browser, using the Navigator API. Navigator can also grab battery data and even the user’s language in some browsers.

Week 9 

In-class Midterm Presentations

Midterm Blog Post:

  • Review of what you produced
  • Items of your SOW that you achieved, items that you were unable to achieve in this time frame
  • Results of user testing, feedback, evaluation of what works / doesn’t work with this iteration of your prototype
  • At least 1 visual documentation: embed an image, video, screenshot into your post. Link to your project on the web if applicable


Week 7 + 8


Due March 20: Your Midterm Scope of Work and User Testing Plan

  1. Complete Scope of Work with and outline of all deliverables. What are you making, what is your development plan, and what defines success for this iteration of your project.  It is 100% ok if you choose to use a Major Studio, Thesis, or other elective class project and work on that as your midterm in this course.
  2. User Testing Plan. What and how are you testing with your prototype? What data will you be collecting and what are the metrics you are going to define a successful user test?  We will be user testing in class.

Post your document to the blog, as well as a link to the github repo that will hold your midterm source code, design files, etc.  Fine if it is empty for now.

Spring break is 22 – 29, your midterms will be due April 3. We will present in class that day – come prepared with at least a few images/video of your process as well as user testing data and outcomes.


 Week 6


Week 5

Intro to Node and Sockets

Our class github repo has been updated with basic to advanced nodejs, socket, twitter api, p5js examples:

Homework this week:

You have 3 Options:

  1. Explore the world of Nodejs. Just as Python has connectors to anything and everything, as does Node: Official NPM Registry.  I put lots of examples of websockets, netsockets, p5js (processing js lib). Let me know if you have any trouble running examples. Remember to always `$ npm install` before running `$ node app.js`. Blog post with at least a screen shot of what you are making or an error of how it’s failing, or you testing it, something. Post must a link to your code on your account. Post must contain a link to your code on your account.
  2. Continue working in Python on any project / library that you started last week. Blog post with a short description, link to whatever library/tutorial you are following, and at least a screen shot of what you are making or an error of how it’s failing, or image of testing, something. Post must contain a link to your code on your account.
  3. Begin your Scope of Work document for the midterm project. This will be an outline of deliverables you will accomplish in the next 3-4 weeks, and a development plan to get there. Blog post with the draft of your assignment.

We’ll be doing an introduction to electricity + hardware. We’ll look at several tools for hardware development and documentation this week. Second half of class we’ll do in-class workshopping while I begin meeting with students individually about midterm + progress. I’ll be starting with second years this week.

Anyone that is interested in setting up an AWS box (EC2 is a good place to start building), should take a look at this tutorial (updated!): gist on github

pro-tip, use a node file-watcher:`$npm install nodemon -g` then run as `$nodemon app.js` (this is a dev tool that auto-restarts the app everytime a file is saved).


Week 4

Intro to Python.

For homework this week you have two options:

  1. Build off of the Scrapy spider file we started in class.  Using the Scrapy documentation create a meaningful spider that pulls out and prints only  the meaningful data (links, image srcs, etc) from any website/s. These should get printed to your terminal. Push your scrapy project to GitHub. Create a blog post that explains what you coded, and links to your code on GitHub.
  2. Explore the huge world of Python libraries. Find a library that appeals to you/areas you want to be working in. Find an example, get it running, and then modify to make it your own / do something related to your goals / interests. Push this example project to GitHub. Create a blog post that explains what your code does, link to the library you used, as well as to the code itself on GitHub.


Week 3

Intro to User Testing.

Design a single user test for an object in your home that you use regularly (daily or weekly). You’ll need to identify a task that that you accomplish with this object. This could be something like “Changing the channel to QVC using this manufacturer remote”.  Essentially, you will be critiquing the user experience of a product that you use everyday, if you were to follow through and execute this user test and analyze the data. Your homeworks is not execute the test, but simply to design it.  Your blog post should outline the following aspects of the user test:

  1. Identify a task for the user to accomplish.  Outline the order of steps/tasks of your prototype test experience (if more than 1 task is required).
  2. Identify who your test users will be (audience!).
  3. Prompting: should the user approach your prototype “cold”? If not, write out a task brief for them.
  4. Decide on the featuresets/variations you want to test against: is A/B or bucket testing potentially needed? Where would you guess that the weakest aspect of this “prototype” lies?
  5. Write out debrief questionnaire or feedback form. What are the important aspects to analyze in depth for this test?

We won’t be returning to User Testing for a few weeks, so this assignment is due February 27. This week we’ll be beginning with an introduction to Python (huzzah!).  I asked in class, but please email me if you have any specific libraries or platforms you’d like to connect Python to or from.


Week 2

Intro to Scoping your Work.

Everyone’s password has been changed, check your email for that and let me know if you have problems logging in to this site.

Homework this week: Draft an SOW document. This can be of an existing/ongoing/completed project, or you can draft up a new idea. Include a 1-3 sentence description of your concept; but remember the SOW is about process not concept. It should include all of the Deliverables and Timeline needed to get you to a place ready for your project to be user tested.

Check the last few pages of the deck to find links to the examples we went over in class. We’ll spend 20 minutes of class partnering up and assessing the viability of your proposed SOWs.

  • Export your document as a PDF
  • Create a blog post, titled “[yourname]: Week 2 SOW”
    • Include 1-3 sentence concept description
    • Attach the PDF to your post
    • Extra credit: Create a repository on GitHub for this class, commit and push your PDF to a “Week 2″ folder. Link your to your repository in the blog post.



Week 1

Hello class! Welcome to our blog. Here is where you’ll be posting all of your assignments and research for class credit. This Assignments page is where I’ll be posting your weekly deliverables.  For week 1:

  1. Create an account on this site. You’ll be posting all homework and assignments on this blog. It’s the only way you’ll get any credit for your effort.
  2. Make your first post.
    • Title the post “week 1 – [your name]”
    • Add an image of yourself (where your face is clearly visible! And make it the “Featured Image” — look on the right side while editing your post, at the bottom)
    • Write a short introduction about who you are – sentence with your name / where you are from / what title you like to refer to yourself as.
    • Add a link to your portfolio, or at least 1 completed project that is online and documented.
  3. Watch Douglas Rushkoff “Program or be Programmed”:
  4. If you have never read before, please read “What Do Prototypes Prototype?” Download here:

Leave a Reply