Class Notes: 10 September, 2019

State machines in our world

Reactive vs. interactive state machines

Reactive state machines

  • Egg timer – set time, start, stop, reset
  • Arcade game – attract / play / reward
  • Advanced arcade games that change their offer for cost of a game

Interactive state machines

Student examples in class (post a comment if I forgot your example):

  • Murphy bed attached to lights for getting up in the morning
  • microwave that can adjust cooking time based on humidity
  • automatic systems that open blinds when sun is out to save money on lighting

Discuss how and why of state changes

What if state machines were smart(er)?  What are predictive state machines?

  • auto-aiming / target tracking — not military, self-driving cars and obstacle avoidance
  • catch a Frisbee — dogs know calculus!
  • When you order pizza you usually order beerand could make predictions?
  • You’re running low on gas, stop to refuel/recharge before you go to the grocery store

When you go from home to studio your default playlists are changed

  • Visual changes in state
  • Doppler shift in nature
  • lives / health in a video game
  • traffic slowdowns in Waze
  • intensity of light => time of day

Mini-assignment for Thursday

– Install IFTTT, look at existing apps
– Post some interesting state machines to Looking Outward

Assignment 3: Visual display of a state that does not have a visually observable state

If you have any questions, please drop me email and I’ll update this post.

Assignment 3: Visual display of a state that does not have a visual state

Due: 11:59pm, Monday, 9 September, 2019

What to turn in: For now, combine your sketch files and fritzing file in to a zip file and attach that to the post describing your response.

Define a simple state machine in hardware and software representing a real system, use visual information to describe the states.  We are looking for the simplest display to provide a person with what they need to know about the state of a system.

Accessibility is a good place to start looking for a problem.  There are some accessibility issues that effect everyone, say a lack of information about an ongoing task being done by a machine.  My clothes drier has lights to tell me what it’s doing, but I have no idea how long it will be until my clothes are dry.

Example solution:

A dishwasher has three cycles: wash, rinse, and dry.  A state machine for this would have a mechanical switch that starts the state machine, timers that lead it through each state, and some visual indicator of the current state.  One solution would be LEDs representing states and a digital display showing how much time is remaining before the dishes are dry.  Would you need three LEDs for wash, rinse and dry; or would two LEDs for “washing” and “drying” be enough?  If I know it’s in “drying” mode and in a hurry I could open it up, remove an item, then dry it by hand.

Class Notes: 3 September, 2019

Visual display of information

The less types/kinds and amount of visual feedback you give the better

A clock on the classroom wall needs hours and minutes, but does it need seconds? Days?  Months?  Does your monthly wall calendar have entries for the time of day?  How about the day calendar on your desk?

Fundamental types of visual information include:

  • color
  • motion
  • intensity
  • type of display: LED, projection on a wall, display on a screenComplex types of visual state are based on the fundamental types:
  • typeface
  • language
  • icons
  • images

Visual skeuomrophism — a look that contains nonfunctional design cues.  A calendar application that looks like a paper wall calendar.

Why they are called “radio buttons”.

A soda machine that just dispensed a drink:

Icons mean different things in different cultures, does your car have email and bacon?

Class Notes: 3 September, 2019

Class stuff

Alternative Technologies Maker’s Fair

My office hours this semester will be Thursdays, 4:30-6:30pm in Hunt A10.  If you need to meet at some other time we can probably work out a Skype call.

Setting up the SparkFun RedBoard Turbo

Installation instructions

Official Sparkfun hookup guide.

If you have a working board, please read the details of how this is an improvement on the Arduino.


Test things in this order.

  1.  Do you have a good USB cable?  If you plug in a USB cable and the RedBoard LEDs don’t light up, it’s a bad cable.  In my studio I just tried 8 cables and 1 did not light up the RedBoard unless I forced it in to an odd position.  If the cable connection isn’t super-snug between the cable and your RedBoard, try other cables.   My good cables lit up all of the RedBoards, including ones that didn’t work in class.
  2. Reboot your system after installing the SparkFun updates to the Arduino IDE.
  3. Can your laptop “see” the RedBoard over USB?   This is a bit trickier, but on Win10 the Arduino IDE should show “SparkFun RedBoard Turbo” in the text on the list of ports.
  4. If you’re getting a lot of red text that looks like compilation errors, try compiling the script in the installation instructions.  It should sequence the LEDs near the USB connector.
  5. Serial() doesn’t work.  Use SerialUSB() instead.

Setting up p5.js / serial

There are two steps here.

First, set up p5.js using these instructions.  Don’t use the web editor, download the p5.js package and use a local editor.  Run a few “Hello World” sketches to verify that things are working correctly.

Second, install p5.serialcontrol.  There’s a set of instructions at ITP for making the connection between p5.js and the Arduino, but if it doesn’t work for you on the first go, don’t waste a lot of time trying to sort it out.  We’ll do that on Thursday at the start of class.

Class Notes: 29 August, 2019

Physical Interaction History

We have a history of interacting with things we don’t understand, starting with keeping animals and early science.  As new technology is developed we find new, unintended uses and create new arts and sciences.

  • Beekeepers – explain the complexity of a hive and how we’re only just now (past 20 years) discovering how bees vote to make hive-wide decisions
  • Alchemists – trying to make things happen with substances they don’t understand. If you don’t know about elements and that lead and gold are elements, what decisions are making to interact with substances?
  • New music and dance styles based on evolution of technology.  Electric guitars led to massive rock concerts and new methods of performance.  Early hip-hop was created with record players and mics.  Early synths were insanely expensive and shared at fancy studios; cheaper samplers and drum machines led to hip-hop, techno, house, ambient, etc.  See Ishkur’s Guide to Electronic Music.
  • Console games with physical interaction, Dance Dance Revolution
  • Driving assistance with vehicles: AI? Interaction? What if the car won’t let me turn, start, or stop?
  • Flight assistance software in commercial aircraft. Is autopilot interactive?
  • Flight assistance for military aircraft: self-guiding drones, incoming missile warnings for helicopter pilots. Interaction or reaction?

Near-future Interaction

The focus of this class – we’re prototyping for five years out

Think about interacting with intelligent systems that we don’t completely understand and that can make decisions against our will or with results we don’t like:

  • car that thinks you’re too intoxicated, sleepy, or incompetent to drive
  • home automation system that won’t open the doors and let you leave because the particulate count in the air is hazardous
  • police equipment that won’t let you fire at unarmed civilians
  • fire engines that won’t engage fires that cannot be contained
  • entertainment systems that can filter content as part of mental-health
  • near future popular base of pop-culture: MCU  movies are always set a few years from now

Learning from pop culture

Blade Runner 2049 features practical effects used as input devices to imagined systems

Adam Savage gets a tour of the Blade Runner 2049 prop room, no spoilers

Industrial design from the 50s has interaction design in the kitchen but it’s marketing fantasy to build the corporate brand:  Design for Dreaming

Good drama is about storytelling. What if interactive things are part of the story?
2001: HAL 9000
ST:TNG: DATA — a walking mobile phone smarter than spacecraft computers?  What if all the spaceships were as smart as DATA?
Colossus: The Forbin Project (1970) our super computer meets the Soviet supercomputer and they plan our future
War Games (1983) — would you like to play a game? the only way to win is to not play the game.
Terminator movies don’t count — killing spree, not interaction
Farscape — Moya is a semi-intelligent, organic spacecraft and agrees with commands as she wishes.  (IMHO This is one of the best SF TV shows ever, really worth watching over winter break.)
Alien — MOTHER, a semi-intelligent computer that has its own direction

Assignment 2: Find and Solve a problem

Find and Solve a problem, due 11:59pm, 2 Sep, 2019.  Please start a new post in the category for Assignment 2.

Details following the example I showed in class:

Find a problem to solve:   No Audio Feedback When Configuring a Washing Machine

Describe the general solution:  Washing machine should have audio feedback when buttons are pushed that provides more information than a simple “beep” notification.  Washing machine should also describe its current status on command  using voice to relate the values of the LED displays.

Proof of Concept:  an Arduino with switches, LEDs, and a speaker with a state machine of a washing machine.  Pushing buttons causes the LEDs to change and plays a sample on the speaker stating the status of a configuration.  Example:  temperature control selection plays samples of water temperature, “Hot”, “Medium”, “Cold”, “Tap Cold”.

Fritzing Sketch

Arduino Sketch

Photos / videos of the proof of concept.