Saturday, December 16, 2017

Final Project

Final Project

My project is designed to detect an approaching object or subject up to 20cm thanks to the Proximity IR detector provided by my 27 Egeloo sensor kit.
Here is a list of what you need: List of items: 
1. WS2812b Neo Pixel LED's 
2. Power supply ( I used a 9V battery to power my Matrix and Uno) and a 22,000mA solar power charger. 
3. 2 10k Resistor 
4.Arduino Uno R3
6. Code: ​ (go to GitHub and download the code, open using the Arduino IDE software)
7. Jumpers and small gauge wires of black(Ground), red(power), and blue(data). They only need to able to support your maximum output/input wattage.
8. A backpack 
9. Soldering Iron/ Solder
After you have tested your Arduino and downloaded the IDE software. (FYI, there are great examples such as Blinky to test your Arduino Uno with built in the downloadable IDE software provided by Arduino). Now its time to test your Neo Pixels. After the test comes back positive you can move on to building your proximity backpack.
You need to cut a piece of Worbla approximately, 4 1/2in W x 6 1/2in H. I choose Worbla because it is a very flexible material and this would come in handy being that my prop is a backpack.
The assembly of the matrix (use the 144/pixels) is pretty straightforward. All you need to do is cut 2" to 2 1/4 inch groupings of the data, power, and ground cables. you need a total of 24 of them because you will use them to connect each section of the strand in order. The 144/pixel will need to be in cut strands of 12 pixels or 2 1/4in long.
Now, the best practice while sodering your sections is to stop and check to see if they are working as you go. Trust me, this will save you a lot of time and heartache. Once your matrix is completed, it's time to test the code again to make sure it works. Success!
Time to build the rest. The 30/pixels are easier to deal with but you have 5 meters of these LED's so good luck. I did not want to trim off my LED's because I was afraid of creating too many broken connections. This is a problem if you do not soder your power, ground or data properly, so take your time and be careful. Check your code one more time to make sure all the connections work and move on to the next step.
I used brass wire to create a wired/electronic look to my backpack. I wanted it to look as much as a machine as possible. I believe that this was a successful approach, but I am considering sewing the 30/pixel LEDs onto the backpack for a clean look.
Time to splice our wires and clean-up our mess. I used a small box to hold my Arduino and 9V battery. I also used twist ties to gather my wires in groups from the front to the back of the backpack. Staying organized is very important when dealing with so many wires. I found myself mixing up wires often. The best practice is to unplug your Arduino and make sure that you are using the correct ports first before adding power.
Splitting a USB cable and pulling only the black and red cable, you can now connect your power cell to your WS2812b 30/pixels. I discovered that the additional ground to the Arduino is not needed when using this build. Only use one ground.
Time for the 144/pixels, so connect the ground, data, and power cable directly to the Arduino for the matrix. This method consumes the life of the 9V quickly, but it gave me the best results. I will try to connect it to the power cell next time.
The proximity IR detector worked successfully with my original code, but I wanted to have more cycles and a brighter experience. I discovered that I did not have enough power available to my LED's to pull this off, so I had to return to my original test code to wrap up this project. I feel that overall this was still a successful experiment and build. I hope much luck to anyone that wants to build there own and be mindful of power draws/requirements that was something that I did not discover to be a big issue until the end. I am posting my final video to show the backpacks full capability. The 9V battery does die during the video, but you will get to see the overall success of my proximity backpack. Thanks and Salute:-)

Friday, December 15, 2017

Testing the WS2812b LEDs

 Testing the WS2812b LEDs

I purchased Involt's WS2812b 144/pixels/1m and the 30/pixels/5m rolls. I was able to test the strips by modifying code provided by the author: 'Dr. D-Flo' Dr. D-Flo has a very informative YouTube Video that explains the entire testing process in detail. I will share a few troubleshooting notes as you continue reading. 

I will share the code used to make the magic happen here in a second. 
Let's start with a supply list.

List of items:

1. WS2812b Neo Pixel LED's
2. Power supply: 9V battery or computer USB port (note the 9V has a life of approximately 15mins)
3.10k Resistor
4.Arduino Uno R3
5. Arduino Uno IDE (download here:

Note: Very important to make your connections on the Arduino first before powering up the board. This will assure the LED's and the Arduino are both grounded and protected from electrical surges.

Next: Let's review the code that we are going to use to test our LED's. Again, thank you Dr. D-Lo.

int buttonpin=3; //define switch pin 
//I will be using a proximity board from Egeloo that will 
//allow me to detect an object by using Infared light reflected off the object that
//triggers the switch. Acting as a button, the proximity will cause the lights 
//to change their pattern or turn them off.
;int  val;//define digital variable val

#include <Adafruit_NeoPixel.h>  // I am using Involt WS2812b 144/pixels/1M and an Involt 30/pixels/5M //strands. This code was used with the Arduino Uno, a 22,000mA Power //Cell, a 9V battery. The maximum voltage for the Arduino and the //Neo Pixels is 5V. The code uses NEO_KHZ800 to regulate power that //worked great for my needs. You can adjust this number to suit your //needs          
#ifdef __AVR__
  #include <avr/power.h>

#define PIN 6

#define NUM_LEDS 294 //I added the numbers of pixels from both types; 1 meter of 144/pixels and 5                          //meters of 30/pixels.

#define BRIGHTNESS 50 //You can adjust this value as needed or change the color values below to control //the light intensity.

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRBW + NEO_KHZ800); //Change //KHZ here.

byte neopix_gamma[] = {
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,
    2,  3,  3,  3,  3,  3,  3,  3,  4,  4,  4,  4,  4,  5,  5,  5,
    5,  6,  6,  6,  6,  7,  7,  7,  7,  8,  8,  8,  9,  9,  9, 10,
   10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16,
   17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 24, 24, 25,
   25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36,
   37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50,
   51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68,
   69, 70, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 85, 86, 87, 89,
   90, 92, 93, 95, 96, 98, 99,101,102,104,105,107,109,110,112,114,
  215,218,220,223,225,228,231,233,236,239,241,244,247,249,252,255 };

void  setup()
int(strip,OUTPUT);//define LED as a output port
int(buttonpin,INPUT);//define switch as a output port

  strip.begin();; // Initialize all pixels to 'off'

void loop() {
  // Some example procedures showing how to display to the pixels:
  colorWipe(strip.Color(255, 0, 0), 50); // Red
  colorWipe(strip.Color(0, 255, 0), 50); // Green
  colorWipe(strip.Color(0, 0, 255), 50); // Blue
  colorWipe(strip.Color(0, 0, 0, 255), 50); // White



  // fullWhite();
  // delay(2000);



// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, c);;

void pulseWhite(uint8_t wait) {
  for(int j = 0; j < 256 ; j++){
      for(uint16_t i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, strip.Color(0,0,0, neopix_gamma[j] ) );

  for(int j = 255; j >= 0 ; j--){
      for(uint16_t i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, strip.Color(0,0,0, neopix_gamma[j] ) );

void rainbowFade2White(uint8_t wait, int rainbowLoops, int whiteLoops) {
  float fadeMax = 100.0;
  int fadeVal = 0;
  uint32_t wheelVal;
  int redVal, greenVal, blueVal;

  for(int k = 0 ; k < rainbowLoops ; k ++){
    for(int j=0; j<256; j++) { // 5 cycles of all colors on wheel

      for(int i=0; i< strip.numPixels(); i++) {

        wheelVal = Wheel(((i * 256 / strip.numPixels()) + j) & 255);

        redVal = red(wheelVal) * float(fadeVal/fadeMax);
        greenVal = green(wheelVal) * float(fadeVal/fadeMax);
        blueVal = blue(wheelVal) * float(fadeVal/fadeMax);

        strip.setPixelColor( i, strip.Color( redVal, greenVal, blueVal ) );


      //First loop, fade in!
     if(val==HIGH)//when the switch sensor have signal, LED blink



  for(int k = 0 ; k < whiteLoops ; k ++){

    for(int j = 0; j < 256 ; j++){

        for(uint16_t i=0; i < strip.numPixels(); i++) {
            strip.setPixelColor(i, strip.Color(0,0,0, neopix_gamma[j] ) );

    for(int j = 255; j >= 0 ; j--){

        for(uint16_t i=0; i < strip.numPixels(); i++) {
            strip.setPixelColor(i, strip.Color(0,0,0, neopix_gamma[j] ) );



void whiteOverRainbow(uint8_t wait, uint8_t whiteSpeed, uint8_t whiteLength ) {
  if(whiteLength >= strip.numPixels()) whiteLength = strip.numPixels() - 1;

  int head = whiteLength - 1;
  int tail = 0;

  int loops = 3;
  int loopNum = 0;

  static unsigned long lastTime = 0;

    for(int j=0; j<256; j++) {
      for(uint16_t i=0; i<strip.numPixels(); i++) {
        if((i >= tail && i <= head) || (tail > head && i >= tail) || (tail > head && i <= head) ){
          strip.setPixelColor(i, strip.Color(0,0,0, 255 ) );
          strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));

      if(millis() - lastTime > whiteSpeed) {
        if(head == strip.numPixels()){
        lastTime = millis();

      if(loopNum == loops) return;
void fullWhite() {
    for(uint16_t i=0; i<strip.numPixels(); i++) {
        strip.setPixelColor(i, strip.Color(0,0,0, 255 ) );

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256 * 5; j++) { // 5 cycles of all colors on wheel
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));

void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3,0);
  if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3,0);
  WheelPos -= 170;
  return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0,0);

uint8_t red(uint32_t c) {
  return (c >> 16);
uint8_t green(uint32_t c) {
  return (c >> 8);
uint8_t blue(uint32_t c) {
  return (c);

Make sure that you add your resistor between the Arduino and the LED's to help regulate the electrical current through the data cable.

I was able to test both the 144/pixels and 30/pixels using the same code successfully. 

Thanks, and enjoy.

Experimenting with Bluetooth

Proximity Back Pack Process

I wanted to try adding a HC-05 Bluetooth component to my piece in order to control my LEDs.

I was able to find an app called Arduino Bluetooth Controller.

I was able to get the HC-05 Bluetooth adapter to work with the Arduino using code from Instructables.

I used 8 jumpers, a breadboard, and a 1k and 2k resistor. 

After you plug in all your components. all you have to do next is plug your Arduino into your computer and upload the code provided from the Instructables. You can download the above app to interact with the HC-05.

Wednesday, November 8, 2017

AMP Hours and Voltage

AMP Hours and Voltage 
Things to Remember

I met with my instructor and discussed several very important topics to remember while I'm building

my project. First, I need to be aware of my voltage total such as the Arduino total Voltage is 5V and

a strip of Neopixel LEDs is 5V. This is very important because to much could fry my tech. Also, I

need to be mindful of AMP hours. I need a total of 20-25mA/hr to supply my devices/tech with x

number of v/watts for x number of hours. I want to be able to use my backpack over a period of 8

hours= 1 full business day.

Monday, November 6, 2017

Chapter 4-6 Natural Born Cyborg Lecture

Chapter 4-6 Natural Born Cyborg Lecture

Is Telepresence reality?


Platos cave:
In the allegory, Plato likens people untutored in the Theory of Forms to prisoners chained in a cave, unable to turn their heads. All they can see is the wall of the cave. Behind them burns a fire.  Between the fire and the prisoners there is a parapet, along which puppeteers can walk. The puppeteers, who are behind the prisoners, hold up puppets that cast shadows on the wall of the cave. The prisoners are unable to see these puppets, the real objects, that pass behind them. What the prisoners see and hear are shadows and echoes cast by objects that they do not see. Here is an illustration of Plato’s Cave:
From Great Dialogues of Plato (Warmington and Rouse, eds.) New York, Signet Classics: 1999. p. 316.
The 'Allegory Of The Cave' is a theory put forward by Plato, concerning human perception. Plato claimed that knowledge gained through the senses is no more than opinion and that, in order to have real knowledge, we must gain it through philosophical reasoning...

Teleporting oneself and destroying the copy every time. Are you yourself or just a copy of the original?

Advanced Telerobotics


  1. relating to the sense of touch, in particular relating to the perception and manipulation of objects using the senses of touch and proprioception.
  2. Proprioception:
In the limbs, the proprioceptors are sensors that provide information about joint angle, muscle length, and muscle tension, which is integrated to give information about the position of the limb in space. The muscle spindle is one type o proprioceptor that provides information about changes in muscle length.

Prosthetic Limb...Is it a part of us? I believe yes. The limb is artificial but it is an artificial body part that you own and wear as a limb.

Self-ownership (or sovereignty of the individual, individual sovereignty or individual autonomy) is the concept of property in one's own person, expressed as the moral or natural right of a person to have bodily integrity, and be the exclusive controller of one's own body and life.

Our Words, Ourselves
Nero pathways…
Plastic: we are elastic and pliable

A saccade is a quick, simultaneous movement of both eyes between two or more phases of fixation in the same direction. The phenomenon can be associated with a shift in frequency of an emitted signal or a movement of a body part or device.

Wednesday, November 1, 2017

Arduino Flicker Tutorial

Arduino Flicker Tutorial

PWM= Pulse Width Modulation
PWM (1)with Duty.png
Here’s the Code:

int ledPin = 10; //led is attached to PWM pin 10
int ledPin2 = 9;
int ledPin3 = 8;
byte flicker[] = {180, 30, 255, 200, 10, 90, 150, 60};//eight values for my flicker
byte flicker2[] = {30, 200, 255, 180, 10, 90, 150, 60};
byte flicker3[] = {255, 180, 10, 90, 150, 60};

void setup() {
pinMode(ledPin, OUTPUT);  //THIS IS THE LED


void loop() {
 for(int i =0; i<7; i++){
   analogWrite(ledPin, flicker[i]);
   for(int j=0; j<7; j++){
   analogWrite(ledPin2, flicker2[j]);
   for(int k=0; k<7; k++){
   analogWrite(ledPin3, flicker3[k]);





Homework: Create a Relay that turns a powered device on and off…

Use a 5 pin Relay:
Simple 5 Pin Relay Wiring Diagram.jpg

Monday, October 30, 2017

Natural Born Cyborg Concept

MIT - Neri Oxman

BACTERIAL bodices and digestive dacks? It’s life, but not as we know it.
A designer’s quest to build a better space suit has inspired a new line of bacterial spacewear: Second skins intended to shock, impress — and survive.
Massachusetts Institute of Technology Professor Neri Oxman, who specialises in design, technology and biology, sparked the thought experiment through her quest to find ways to make the ultimate recyclable clothing for space travellers living out of less than a suitcase.

My idea expands upon coexisting or a leach effect in order to sustain necessary life sustaining functionality.
A living suit that cycles oxygen and water to us....

Sunday, October 29, 2017

Natural Born Cyborg Notes on Chapter 2

Chapter 2

Heavy Metal

Los Alamos National Laboratory, New Mexico, occupies the high ground both physically and technologically. The massive concrete bunkers and reinforced floors of these old building were designed both to resist nuclear attack and to support heavy, in-your-face technology: giant mainframes, immense monoliths of dials, lights, and levers. The Complex Systems Laboratory at least usually requires little more than a few potent laptops and some fiber-optic links to massive databases.

The heaviest piece of real working machinery that I encountered is a somewhat sick old printer whose wheezing vibrations occasionally disturb the tomb-like silence.-p35

36- Los Alamos 'best, if lesser-known, attractions-the Black Hole.
The Black Hole is the shop-cum-soapbox of peace protester Edward Groshus. To visit it is to step into a retro-technological Aladdin's Cave. Housed in a rambling, hangar-like complex on the edge of town, the Black Hole is a stunning repository of ex-National Laboratory equipment and scientific junk.

The stuff was purchased (by the pound) direct from the laboratory during its post-war sell-off period. The buyer was the same Ed Groshus, one-time national laboratory employee-turned-peacenik, anti-war campaigner, and retro technology entrepreneur.

He walks towards the installation, a billboard on the roadside catches his attention. it reads Omega Church of Peace, Bomb Unworship Ceremony, Critical Mass Every Sunday...haha
This is Groshu's doing. A man with an agenda, to be sure, but one nicely tempered by an enduring sense of fun.

This show, too, in his relationship with the goods in his store. Groshus despises the technologies of warfare, but he clearly sees the beauty as well as the absurdity of all that in-your-face technology. The Black Hole manages, incredibly, to be both shrine and protest. The hardware here is no screws, nails and duct tape so much as bank upon bank of a bank of imponderable valve electronics, heavyweight first-generation calculating machinery, fragments of complex control panels bristling with hundreds of tiny lights and switches, etc... My personal favorite was a variety of gray, heavy, metal boxes (rather like office filing cabinets) with enormous single red buttons, labeled Emergency, slap-bang in the middle, items seemingly straight out of Tom and Jerry, but in fact straight out of Uncle Sam, ca. 1960.

Un-Transparent, In-your-face technology...not built to fade into the background of anyone's life or work. -It made few efforts to configure itself to better suit the user. It was, in many ways, the strict antithesis of Weiser's vision of ubiquitous computing. Heavy, enormous, almost maximally resistant to easy human use, such technologies ran little risk of blurring the boundaries between machine and human, between the biological user and technological tool.

Transparent technologies/ opaque technologies
A transparent technology is a technology that is so well fitted to, and integrated with, our own lives, biological capacities, and projects as to become (as Mark Weiser and Donald Norman have both stressed) almost invisible in use. -ex; hippocampus...belongs to the limbic system and plays important roles in the consolidation of info from short-term memory to long-term memory, and spatial memory that enables navigation. located under the cerebral cortex(allocortical)

An opaque technology, by contrast, is one that keeps tripping the user up, requires skills and capacities that do not come naturally to the biological organism, and thus remains the focus of attention even during routine problem-solving activity. ex: home PC, I may know exactly how it works but it is opaque (in the special sense)nonetheless, as it keeps crashing and getting in the way of what I want to do. In the case of such page technologies, we distinguish sharply and continuously between the user and the tool.

38-pen/paper= transparent tools, artist sketchpad, the blind-mans cane... Often, such integration and ease of use require training and practice. We are not born in command of the skills required.
The line between opaque and transparent technologies is thus not always clear-cut; the user contributes as much as the tool.

Transparent Tools: Donald Norman -cognitive scientist and contemporary guru of the age of "information appliance"-describes the Rubicon between opaque and transparent technologies in terms of a historical progression from "technology-centered" to "human-centered" products. Human-centered products, functionality on their sleeve, exploits natural strengths of human brains and bodies, the user never needs to open the manual.

-39 Technology-centered products: the answer only to the need to do things (often, many different things)... What they don't answer to is the need to enable those things to be done fluently, reliably, and with a minimum of learning and effort on the part of the user. Product enters a symbiotic relationship with biological users...technological lineage to continue...clear benefits at low cognitive and economic costs.

-40 In a mere 500 years, the opaque, unreliable, fixed-location tower clocks of the Middle Ages gave way to the reliable, cheap, personal timekeepers...that we now take so much for granted. our relationship to time itself was irrevocably changed and transformed.

50-A prime characteristic of transparent technologies is their poise for easy use and deployment as and when required. Daily unreflective usage bears this our. This knowledge-retrieval tropism serves, of course, single practical function-it permits you to focus your gaze briefly upon the face, dial, or display of your watch, that humble example of cyborg technology.

43-We can take away two somewhat less contentious lessons from our discussion of modern timekeeping. The first is that transparent (nonopaque human-centered) technology is by no means a new invention. old invention: pen, paper, books, watches, written words, numerical notations...etc...

The second is that the passage to transparency often involves a delicate and temporally extended process of co-evolution.
In the case at hand, people had to learn to value time discipline as opposed to mere time obedience, and this transition itself, Landes tells us, took over a hundred years to fully accomplish.

Smart Worlds: Mark Weiser’s vision of ubiquitous computing is finding concrete expression in attempts to design and market what Norman calls “information appliances.
1. An information appliance is geared to support a specific activity and to do so via the storage, reception, processing, and transmission of information.
2. Information appliances form an intercommunicating web. They can “talk” to each other.
3. Information appliances are transparent technologies, designed to be easy to use and to fade into the background. They are poised to be taken for granted.

Such technologies, to support the kind of profound integration into human-man(44) life here envisaged, need to be just about maximally nonopaque. They should contribute nothing to the complexity of the tasks they support: “the complexity of the appliance is that of the task, not the tool.”13

-46. Instead of seeing Wearable
and Ubiquitous Computing as competing approaches, then, it is much more fruitful to consider their large potential for harmonious interaction. 14

A Wearable Computer is an information-processing tool that is, in a
deep but noninvasive sense, integral to the user. It is portable, constantly running, and may be used while the agent is in motion or otherwise engaged. As such, it should support the hands-free use and be capable of presenting data unobtrusively to the user whenever it sees fit. Such devices are “designed to be usable at any time with the minimum amount of cost or distraction from the wearer’s primary task [which is] not using the computer
[but] dealing with the environment.”1-Norman called human-centered tech-tech that fades in the background in use...
ex: a commercially manufactured heads-up display, clumsy hat top mounting...Bradley Rhodes's wearable remembrance agent...
Wearable Computing and Ubiquitous Computing are natural allies whose full synergistic potential has yet to be explored.
There is, however, another problem lurking in the general move toward ever-more-integrated, invisible, automatic, pseudo-neural technologies. The danger is one of loss of control. 21

-48 Tangible computing maintains key elements of the invisible computation model but seeks to do so without allowing the tools and technologies to become permanently invisible, available solely as ready-at-hand. (ex:hammer)

50-The Tangible Media Group at MIT Media Lab is also in pursuit of this the vision of embodied digitality. Their goal is to create a new generation of interfaces that increasingly blur the distinction between the virtual/informational and the tangible/physical. A typical project is the aptly named Sensetable, a tabletop display that uses electromagnetic sensing to determine the position of a variety of physical objects (placed on the tabletop), which the user can then move around so as to amend and alter the information displayed.

Sensetable is a descendant of a system called metaDesk, which used
cameras and computer vision techniques (instead of electromagnetic sensing(50) to allow a variety of physical icons (“icons”) to interact with a tabletop display. One promising idea is to exploit the kinds of the interface we find familiar in the noncomputational world to better mediate our contact with digital and informational resources.
Another area in which the notion of the interface is being reinvented is in work on Augmented Reality. In this work, the interface is nothing more than your own view of the world as you look around, but the view is augmented using some kind of heads-up or eyeglass style display system.(51)

52-The term “Augmented Reality” was first used by a group of Boeing engineers and scientists in the early 1990s. 30 Their idea was to use such systems to help workers install complex wiring harnesses in aircraft. The workers would see the desired positioning superimposed upon the actual physical structure of the plane. In a similar vein, engineers seeking to repair broken equipment might soon see the innards of the machine alongside specific repair instructions highlighting the elements to be removed and replaced. Surgeons seeking to repair human brains or bodies could benefit in the same way.

53-the key innovation is to allow the physical and the informational realms to seamlessly merge and mingle, in ways that unobtrusively support daily activity and that make maximum use of our normal means of embodied, socially embedded activity.

Real Virtuality-If we are indeed becoming complex biotechnological hybrids, a major challenge for the future will be to train young minds to think well about a world in which the physical and the informational/digital are densely and continuously interwoven.
To that end, researchers are developing forms of so-called mixed
reality play.

31 In mixed reality play, the virtual/informational is made tangible,
the physical made virtual, and the two realms interwoven in single
play-based experiences.

54-Nurtured by such experiences, and living and moving in a world populated with ubiquitous computing devices, augmented reality displays, and various kinds of tangible computing, next-generation human minds will not invest very heavily in the virtual/physical divide. Instead, these minds will focus on activity and engagement, seeing both the virtual and the physical as interpenetrating arenas for motion, perception, and action.

Moving On
Invisible Computing and Tangible Computing at first seem like diametrically opposed research programs, but this is not really the case. The differences are real but easily overplayed. Is the wristwatch an example of invisible or tangible technology?
The differences between the two visions thus show up only, if at all, at the very extremes, where some Information Appliances will indeed be designed to remain firmly out of sight and out of mind.

The question we really should not ask may be, Which way is
best? That is rather like asking whether our best tools should be more like hands, hammers, or the hippocampus. The question is misguided, because each of these tools is specialized for different purposes and (hence) needs to be accessed, used and/or reconfigured in very different ways. For certain purposes, we want tools that we can step back from and think about. For other purposes, we want tools that function continuously and quasi-independently, requiring little or no conscious attention and that resist easy reprogramming (more like the homeostatic control systems that regulate heart rate, breathing, and the like discussed in chapter 1).

58-The technological present, then, is a shifting kaleidoscope of visions of the future. The smart world full of invisible technologies; the world of constantly running, easily deployed wearable computers; the world of neuroelectronic implants; the world of tangible computing and real virtuality; the world of dynamic, self-reconfiguring wearables and information appliances.

Our cyborg future, like our
cyborg present and our cyborg past will depend on a variety of tools, techniques, practices, and innovations. What they will increasingly have in common is that deep human-centeredness that Norman so powerfully celebrates. These will be technologies to live with, to work with, and to think through. Such technologies are apt for the most profound and enduring kinds of interweaving into our lives, identities, and projects, and into our constantly constructed a sense of place, presence, and self.