Visualizing Complex Solutions With Animation and Graphics

This is a ‘concept film’ by Charles and Ray Eames on how to solve the problem of airports expanding to handle jet planes and massive numbers of passengers having to walk several football fields from their car to their plane.

Read all the credits to the end, then look at what the Eames did as designers.

 

Class Notes, 25 Jan 2022

Class 3: 25 Jan – Intro to Interrupts

Office hours start next week on campus in A10 at 5pm.

Review assignments

Design for Dreaming — good?  Bad?  Socially uncomfortable?

revisit tigoe’s page — what was physical interaction and what was reaction?  Do you see any themes in projects that aren’t allowed?   Is there something you’re tired of seeing?

I like theremins and have two.  Making them is easy.  Playing them is damned difficult.

Dorit Chrysler playing The Swan:  https://www.youtube.com/watch?v=AS9LJK8i1VE

Clara Rockmore, also playing The Swan:  https://www.youtube.com/watch?v=XdFSU8sn3mo

Theremin playing a theremin:  https://www.youtube.com/watch?v=w5qf9O6c20o

Interrupts

We use interrupts in daily life:

  • Asking a question in class
  • Phone rings (skeumorphic!)
  • Traffic light

What can we do during an interruption?  What do we do at a traffic light? During a lesson?

What happens when multiple people raise their hands in class?  What happens if the instructor is servicing a request and someone else raises their hand?  Stop answering the first person?  Delay the second person?

Interrupt request vs interrupt service.

Raising your hand is an interrupt request.  The instructor responding is servicing the interrupt request.

Explain how interrupts work  in software/hardware

  • clock has to stop, so millis(), Serial, and other I/O functions won’t work including reading/writing to pins
  • difficult to debug anything more complicated than changing a state variable
  • really useful for state machines because you don’t have to call digitalRead() or analogRead()
  • delay() timing is paused

What if you don’t want an interrupt to happen?  This is probably a bad thing, as a lot of what makes the Arduino work is interrupts you can’t see happen:

noInterrupts() — disable interrupts, like putting your phone in “Do Not Disturb””

interrupts() — turns interrupts back on

Interrupts can be hard to debug on Arduino.  No access to the Serial console, difficult to do anything other than simple math/logic operations.

Compilation hides errors by not failing.  Say you have this code for an interrupt handler:

void switchLed() {

ledOn++;

if (ledOn > led4) {

ledOn = led1;

}

}

Both of these compile without a warning/error:

// good

attachInterrupt(digitalPinToInterrupt(toggle_color), switchLed, RISING);

// bad, there will be no interrupt service — can you see why?

attachInterrupt(digitalPinToInterrupt(toggle_color), switchLeds, RISING);

 

Arduino models can support interrupts, but often on different pins:

https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

Nick Gammon has an intensive, CS-focused page on interrupts:  https://gammon.com.au/interrupts

The simple example I showed in class:

int led1 = 8;
int led2 = 9;
int led3 = 10;
int led4 = 11;

int ledOn = 0;


volatile int toggle_color = 2;
volatile int toggle_speed = 3;

int ledDelay = 250;

void setup() {

    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    pinMode(led4, OUTPUT);

    pinMode(toggle_color, INPUT);
    pinMode(toggle_speed, INPUT);
    attachInterrupt(digitalPinToInterrupt(toggle_color), switchLed, RISING);
    attachInterrupt(digitalPinToInterrupt(toggle_speed), changeSpeed, RISING);

    ledOn = led1;
    
    Serial.begin(9600);
}

void switchLed() {
    ledOn++;
    if (ledOn > led4) {
        ledOn = led1;
    }
}

void changeSpeed() {
    ledDelay = ledDelay * 2;
    if (ledDelay > 2000) {
        ledDelay = 250;
    }
   
}

void loop() {

    digitalWrite(ledOn, HIGH);
    delay(ledDelay);
    digitalWrite(ledOn, LOW);
    delay(ledDelay);
}

 

Assignment

Find some examples of interrupts in your daily life, complex and simple, post to Looking Outward.

Reading: Make It So Forward, Chap 1, Chap 2.  How did we think about the future in the past?  Post a few notes to the blog (Assignment 2) and we’ll talk about these at the start of class.

 

Assignment 1 – Erin Percevault

Part 1

“Design for Dreaming” vs. Marvel Cinematic Universe (MCU)

Among the fantastical activities happening in ‘Design for Dreaming’ are mirrors changing people’s outfits, following a flying invitation to the Motorama, the automated kitchen-of-the-future with ‘push-button magic,’ and driving on the ‘highway of tomorrow’ which looks like the race track kits my dad has from his childhood. It’s been awhile since I watched the MCU movies, but I did just start watching Wandavision (MCU tv series), which starts out in the 1950s (Design for Dreaming is from 1956) and moves forward in time. There are several scenes of Wanda as the beleaguered 1950s housewife, although her kitchen miracles are due to her superpowers, not due to the kitchen technology. In the tv series, Wanda is married to Vision, a complicated mix of things including part machine, part organic material, plus extra powers from an artifact from the big bang and a snarky AI program who used to run Ironman’s house.

Flying is used by both women to get where they need to go, and both include the technology cliché of woman-gets-a-hand-to-finish-cooking-because-it’s-too-much-for-someone-to-do-with-without-interventions. (When I saw the machine that showed the food and already had all the ingredients for preparation in DFD, I thought of Blue Apron). After watching ‘Design For Dreaming’ I realized they use the same abrupt ‘freeze frame, next frame’ special effect editing technique for the 1950s Wandavision scenes when Vision switches from his real face to his fake human face – nice throwback detail by the crew that made Wandavision.

DFD near-future innovation is based in human technological advancements, while MCU the near-future is more imaginary, subject to outer forces including aliens, gods, and artifacts from space. The technology of the near future in the MCU includes things like armor that turns men into superman and AI with a sense of humor. The creation of Vision is a story of AI undergoing changes which continues to increase its agency and autonomy, until Vision is greater and separate from the original parts that now make up the new whole.

DFD was created as promotional material for General Motors, while MCU is for entertainment – the franchise, composed of many story lines, is the product.


Part 2

“PHONE-KEYS-WALLET!”

I grew up with this chant, which my parents recited – along with a series of motions that are almost a dance – as they prepared to depart the house. It is only most of the time successful in achieving what it is meant to do. Sometimes, my absent-minded father needs to come rushing back in to locate the errant item which he had managed both to find and leave behind in a matter of moments before his departure. In recent years, living in an apartment, I perform this song and dance for my metal sanity, on both my husband (it drives him nuts!) and myself.

PHONE-KEYS-WALLET! is an interactive threshold device, a doorbell-in-reverse which informs the household whether or not something is successfully on its way out. When a person opens the door, the threshold checks for the sensors attached to the phone, keys, and wallet (this can be modified depending on the person’s preferred set of items). A gentle chime indicates all 3 items have been located by the threshold (and therefore mostly likely on the person in question). A soft buzz informs the person leaving that the threshold has not been able to locate all 3 items and the phone-keys-wallet dance should be performed.

NB: There is no guarantee that your spouse will no longer be annoyed by the reminder… only that the object of annoyance will no longer be you.

Class Notes, 20 Jan 2022

Class 2: 20 Jan

Introductions and Admin

Self introductions and discussion of readings

URL for Shedroff and Noessel’s book, Make It So: Interaction Design Lessons from Science Fiction:   https://amzn.to/3tMd6qi

Discuss

Reading assignment — what makes something interactive?

Does interaction require emotion or just the appearance of emotion?  When do we go from “robot” to “uncanny valley” to “human”?

Musicians and DJs working a crowd — who is interacting and who is driving the interaction?

So what is physical interaction?  When/where did it start?

Physical Interaction History

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.  We think of hives as being illuminated because we open them up.  Bees operate in total darkness using only touch, hearing, and smell.  “Honeybee Democracy” is a great introduction to how science works and how to write about science:  https://amzn.to/2Z6Y9yL

People knew that honey bee “propolis” helped prevent infection thousands of years before we discovered bacteria.  Working in ignorance still leads to progress.

Alchemists – trying to make things happen with substances they don’t understand.   If you don’t know about elements what decisions are making to interact with substances?  A lot of chemistry was “discovered” while looking for gold.

New music and dance styles based on sampling and analog synths: Moog, ARP 2600, hip-hop.  Early hip-hop was limited to record players and mics; early synths were insanely expensive and shared at fancy studios. Grand Wizard Theodore invented scratching:  https://www.youtube.com/watch?v=eHCOIK_fICU

Console games with physical feedback, Rez Trance Vibrator by Tetsuya Mizuguchihttps://www.theverge.com/2016/9/25/13046770/rez-trance-vibrator-ps2  Game was based on electronic music in the mid-90s:  https://www.youtube.com/watch?v=YZL4Cbt-knk

Dance Dance Revolution moves from arcades to home console games

Driving assistance with vehicles: AI? Interaction?  What if the car won’t let me turn, start, or stop?  How can I disable safety features?

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

  • interacting with intelligent systems that we don’t completely understand and that can make decisions against our will or with results we don’t appreciate
  • car that thinks you’re too intoxicated, sleepy, or incompetent to drive, so it refuses to move
  • home automation system that won’t open the doors and let you leave because the particulate count in the air is hazardous and you’re not wearing a mask
  • police equipment that won’t let you fire at unarmed civilians — pistol trapped in a holster, safety wont go off.
  • fire engines that won’t engage fires that cannot be contained
  • entertainment systems that can filter content as part of mental-health

We’re giving “agency” to interactive devices: https://en.wikipedia.org/wiki/Agency_(philosophy) at least at the input level:  “OK GOOGLE”, “Hey, Siri”.  This means that the device is listening (recording?) all the time.  Do your pets have agency?

Anton Yelchin was killed by his car, possibly by bad interface design.

“Near-future” is a popular base of pop-culture: MCU (Marvel Cinematic Universe) is always set a few years from now Blade Runner (1982) was set in 2019, 37 years in the future.  Blade Runner 2049 (2017)  is 32 years in the future of Blade Runner.

practical effects are used as input devices to imagined systems of the future

Adam Savage gets a no-spoilers tour of the Blade Runner 2049 prop shop:  https://youtu.be/1fAk0CObPE4

This is not new, in the past we talked about the future and technology.   Design for Dreaming, released in 1956, is all about the future.  It’s also all about the level of sexism in the 1950s:  https://youtu.be/1gKl-mwMyck

Good drama is about storytelling — what if interactive devices are characters in the story?  Are we giving them agency by making them characters and not props?

  • 2001 A Space Odyssy (1968) — HAL 9000, the ship’s computer, decides it does not want to follow the plan laid out by humans
  • Colossus: The Forbin Project (1970) — our super computer meets the Soviet supercomputer and they plan our future
  • Alien (1979) — MOTHER, a semi-intelligent computer that controls spacecraft while humans are in cryosleep.
  • War Games (1983) — A computer controls all of America’s nuclear weapons. Would you like to play a game?  the only way to win is to not play the game.
  • ST:TNG’s Data — a walking mobile phone with AI smarter than any human?
  • Terminator (1984) — is a robot killing machine from 2029.  Are the sequels — where T-800 has agency — good examples?
  • Farscape (1999-2003) — Moya, a Leviathan class creature, is a semi-intelligent spacecraft used by the main characters. She can refuse orders or do things because of her own desire against the will of her passengers.  However, the Pilot is physically integrated with Moya at the physical level and can communicate directly with humans.

Assignment 1, due at 11:59 the day before class, so these are due Monday, 24 Jan

1) Watch the entire “Design for Dreaming” film and make a few notes on the differences of it looking forward in time and contemporary entertainment like Blade Runner 2049 or the MCU.  We’ll talk about this a bit in class.

2) This is a  pen-and-paper assignment to go over posting to the class blog and what a good submission looks like.  If you want to make something with hardware, that’s fine, but it’s not required.  Science fiction is ok, fantasy is not. ever. NO UNICORNS.

First,  read Tom Igoe’s what-not-to-do page – http://www.tigoe.com/blog/category/physicalcomputing/176/

Next, make up a project:

– A smarter doorbell, similar to the smart thermostat

– Make a useful practical effect by giving interaction to a thing that doesn’t currently interact with humans.  For inspiration, watch Blade Runner 2049.  Yes, it’s 3 hours long but OMFG.  Look at the physical interfaces between intelligent systems, replicants, humans, AI, and agency for androids.

Prepare the presentation as you would for a crit.  Look at previous classes for inspiration.  If the blog is not yet available you can do something similar in Word or other desktop applications and share your screen with the class.

https://courses.ideate.cmu.edu/48-339/f2019/

https://courses.ideate.cmu.edu/48-339/s2018/

Assignment 1 – Judson Kyle

Assignment 1 – Judson Kyle

Design for Dreaming:

One of the biggest differences between “Design for Dreaming” and contemporary media like the MCU or Bladerunner is the focus on travel and scope. While both have a sense of being able to travel wherever we want much easier than is possible at the current moment, more contemporary media has a large focus on space travel and exploring the unknown universe whereas “Design for Dreaming” is focused more on travel on Earth via the automobile. Another key difference is the focus on agency. In “Design for Dreaming” the main character is shown repeatedly using futuristic products for her own gain pressing a button and having a cake made or simply thinking about having binoculars and having them appear. This type of futuristic technology is portrayed as something that normal people can acquire starkly contrasting that of the MCU. The technology in the MCU is much more out of reach only accessible to the heroes possessing the money or power to wield it.

 

Useful Interaction:

The Idea:

As you can see from the comic below, waking up to an alarm in the morning is already very difficult let alone trying to adjust to the sudden brightness of a lamp.

While this problem could easily be solved with an adjustable light level on the lamp switch, why not take it one step further and create an artificial sunrise by slowly brightening the lamp in anticipation of the alarm. This project utilizes this concept by incorporating both the adjustable slider and the artificial sunrise  into one item. This not only helps adjust the user to the light levels but also helps them wake up in a more natural and gradual way.

Proof of Concept:

This project can easily be achieved with a lamp, an electronically controlled potentiometer, a linear motion potentiometer, a power supply, and some voltage regulators connected to an Arduino.

Assignment 1 – James Kyle

Design for Dreaming:

In Design for Dreaming, there is a large focus on technology that will make our lives more luxurious and efficient like cars and smart kitchens. The MCU focuses on efficiency as well but more so in the sense of militaristic efficiency. A lot of the advancements that drive the storylines like Iron Man’s suit and the super soldier technology from Captain America were created to make fighting battles easier, not to make baking a cake less of a hassle. Another major difference I noticed was that the machines from Design for Dreaming were a lot more practical than what is presented in the MCU. A car or kitchen gadget sounds a lot more realistic than a hammer that is sentient enough to tell if you’re worthy of holding it. Some of the futuristic things that Marvel presents are more fantastical than science fiction.

 

Useful interaction:

Thinking about what a smarter doorbell could look like beyond just having a camera, I came upon the idea for a doorbell that acts kind of like a doorman or front desk at an apartment complex. I think having a doorbell that communicates with anyone who stops at a door and relays their purpose to whoever they are there to see would be really useful, especially to the visually impaired who might have a harder time navigating to the doorbell (let alone the right one if there are multiple buttons for different tenants).

 

This design requires arduinos capable of connecting to the internet, a proximity sensor, some speakers, a microphone, and a display.

When the person approaches the door and waits there, the proximity sensor wakes up the device and produces a sound to ask the person who they are there to see. The device would record the name and both send it to the resident as a text and relay the name through speakers in the house. The resident can let the person in remotely or physically go to the door to open it.

Assignment 1 by Patricia

1. Video reflection

Design for Dreaming was a classic watch on seeing how we in the past, tried to predict the future. I felt like instead of considering the reasoning behind why design choices were made, designs were illustrated of the future based more so on aesthetics, and a futuristic aesthetic of that era. Compared to more recent futuristic movies such as Blade Runner, the props that were designed focused more on the interactions between the human to artifact, and on top of that, they modified the overall appeal to look more sleek and modern. Thinking of the modern Blade Runner movie and MCU movies, current futuristic products have a trend of resembling high-tech tools for war (probably since these movies all heavily involve combat). This is different from the Design for Dreaming future designs, where they were more geared towards future home living (although products were heavily gender-oriented).

2.  A useful interaction: Smart Bathroom Light

Thinking about day-to-day problems that I personally wish I had a solution for, one of the things that bother me at night is when I would have to go to the bathroom and have to turn on the light when I can’t see anything. The bright light immediately wakes me up and takes me out of my deep sleep mood.

With this, I hope to create a sensitive motion sensor that detects movement in a dark space and will light up a soft LED light so that there’s just enough light to see what’s in the environment but not enough to wake you up.

 

Proof of Concept:

Components: 1 Motion sensor, Multiple LED lights

When the motion sensor detects movement at the door frame (footsteps walking into the bathroom), the LED lights in certain areas including near the sink and toilet will light up.