October 27, 2005
Tom Igoe
Tom, good naturedly, tried our huggable, breathable guy out. He said that he could feel the breath changing. We had to yank out the plushie before it's circuitry got too hot. He thinks we really have something, it was very encouraging. Personally, he got me excited all over again about the project. What I really want to see is someone use this thing, which means it would have to be more durable and less overheating.
Right now I just need a break but I am interested in making the thing work or going in a new direction with it. Maybe after a good long pcomp break, in ITP terms that is maybe 3 days :)
It was great working with you guys, really rewarding.


Posted by mb2811 at 03:42 AM
October 14, 2005
Sudden Motion Sensor
Make Magazine
I got my first issue of Make this week (a birthday present) which had an article about the tilt motion sensor in the new powerbooks. I had read about the sensor a while ago but I didn't have a powerbook back then. Now that I do...
The motion sensor can detect sudden changes in the laptop's orientation and appropriately park the hard drives to prevent data loss. Turns out the tilt sensor has an API and someone was kind enough to write a command line interface to the sensor. The command line interface returns three values, x, y, and z. x for when the powerbook is turned horizontal, y for vertical and z for when it is just accidentally dropped.

Input Device
The tilt motion sensor is a great fit for a physical computing project as it affords a new input device, a new control mechanism for the common elements on a screen. Instead of using the keyboard or mouse to navigate, you can physically move the laptop, almost like if you were trying to coax a ball to go a certain way in a pinball machine. The z axis isn't as much use to use because it's a down motion at a high velocity and we don't want to drop our laptop on the floor to navigate a web page.
There is a potential for a 'rocking chair type mechanism' that the powerbook can rest on. A slight touch to the left or the right (versus a hard touch) can translate to a command on the screen. This mechanism could be calibrated for the individual user much like there are mouse and keyboard speed settings.
Software Interface
Since I am not taking the required ICM, I decided to try to interface the powerbook motion sensor with processing. Processing is something i'm going to need to know to interface physical devices with easily programmable visual outputs and it's going to be a necessary skill in my time @ ITP.
Code
The problem is, processing currently lacks a command line exec() to run my shell script. I ended up putting up three lines of php code which exec the command line interface to the tilt sensor and return the coordinates to a web page. Processing can then pull a HTTP GET on the web page and retrieve the coordinates of the laptop, translating them to virtual coordinates for a graphical feedback loop.
That's the general idea. This doesn't actually work that well. The problem is that the web server isn't properly closing the connection so I am not getting a good number of fresh values for the position of the laptop. The next step is to figure out how to use raw sockets with processing and go directly to the data I need.
Posted by mb2811 at 12:35 AM
October 05, 2005
Physical Computing: Motors
This week we're doing servo motors which turn 180 degrees at a different speed relative to the pulse being sent through. I completed the basic lab but have not built anything too interesting yet. I did go to a yard sale over the weekend and get a bunch of components from a former ITPer which I have yet to figure out. A motion sensor which may require more than five volts, a seven segment display and a keypad which I figured out the other day. The process of figuring out which number was pressed in the keypad is called row-column scanning. The keypad has seven pins, three of which I set to power and four to ground. In total I had seven lights. When a number was pressed a light would turn on corresponding to the row number and the column number.
1 2 3
4 5 6
7 8 9
* 0 #
So 8 would be row 3 and column 2, and so forth. I am still having some trouble getting this logic to run through the pic.
The seven segment display was much more low level than I have expected. Part of the reason I misunderstood it was because I didn't know the part was called a seven segment display. I mistakenly thought the component actually displays numbers when in fact it only displays segments. Seven segment displays come in anode (+) and cathode (-). Mine was cathode. The rest of the legs each light up an individual segment. I also need to make sure I use a resistor because the seven segment display is easy to fry.
On to the basics of the lab.

The motor hooked up, pulsing.

The same circuit, except now pulsing through a piezo speaker.
I still need to find some good materials to incorporate into a speaker project. I'm getting really into my spacial design projects. It might be neat to bring those two classes together.
Posted by mb2811 at 04:25 AM
October 03, 2005
Kruger: Early Interactive Artist
It's amazing how fresh Kruger's ideas are thirty years later. We got bogged down by the technology and took a hiatus from thinking about the technology. Instead of technology being a means to an end, set aside for a particular purpose of task, for Kruger technology is an enabler, a collaborator where participant and interactive system work together to explore and learn.
I especially like the emphasis on "impossible relationships". Current relationships are limited to mediums. Voice travels over the telephone and has a particular set of characteristics. "Telephone voice" has it's positives and it's limitations. When new technology is developed, it is bogged down by the concepts of the old medium. We have VOIP or we have cell phones but why not consider voice in the realm of the "impossible relationship". What if we could use technology to give us new insights into our voices, our conversations and our ways of interacting with others? Our voices could be altered depending on our intentions or meanings. Other voices, generated by technology, could join our conversation and voice redefining what it means to have a conversation.
Although much more threatening, we have all these tools, we should be using them to explore the newly possible.
Posted by mb2811 at 06:54 PM
September 28, 2005
Donald Norman
Norman is great. I read most of design of everyday things before I got to ITP and it’s neat to read ‘emotion and design’ as the continuation to his earlier ideas. He comes across as so reasonable and down to earth it makes me wonder if he isn’t slipping something by.
Everything comes back to emotion. If a particular tool makes us feel good we will forgive certain usability or design flaws. This ‘feeling good’ is completely relative to the individual. A certain item may make one person feel good because it is easy to use and someone else feel good because it is pleasurable to look at. Function is not necessarily the primary ratings scale. Since there is no single proper way to use anything, people will overlook glaring usability issues with an item if it balances out on the aesthetic end. Of course there are always the manufacturer’s suggestions on proper use but with multiple affordances, re-appropriation is common.
I think it’s interesting that designers may not want to make a tool which generates too much positive affect. It could be argued that creative is a positive of any task or conversely too much creativity, say with something like surgery, may be a negative. In that case the implement might be better suited to have less positive affect.
Attractive Things Work Better
Design of Everyday Things
Posted by mb2811 at 03:30 AM
September 27, 2005
Week 3 Lab: Serial Ouptut
It took a while to solder the serial port together. Eventually I realized that the serial port that came with the store kit was a piece of crap and everyone else had bought an individual serial port with coupling 'half pins'. I broke off all of my pins and then it was easier to solder on some angle pins. My first serial port program:
SEROUT2 portc.6, 16468, ["Hello World!", 13,10]

I then attached a variable resistor to the PIC and ran the following code for output to the serial. Basic stuff. I did burn my finger on the voltage regulator when I misalligned the PIC. Always check twice.
DEFINE ADC_BITS 10 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (3=rc)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in uS
ADCvar VAR WORD ' Create variable to store result
TRISA = %11111111 ' Set PORTA to all input
ADCON1 = %10000010 ' Set PORTA analog and right justify result
Pause 500 ' Wait .5 second
main:
ADCIN 0, ADCvar ' Read channel 0 to adval
serout2 PORTC.6, 16468, [DEC ADCvar, 13, 10] ' print it to serial out,
' with linefeed and carriage return (10, 13)
GoTo main ' Do it forever

I then added a motor to my circuit. Instead of just getting a numeric read from my pot, I wanted a physical actuator to convey the POT value in the physical world. In hindsight, my problem is that I put the motor on the same circuit as the pot which diminished what was going to serial out. As my motor revved up, the numbers stopped appearing in hyperterminal. Tomorrow I will try to put the motor on different output pins and see if hyperterminal and the motor can run at once.

Posted by mb2811 at 12:14 AM
September 20, 2005
Electronic Push Button Menorah
I was waiting for my bulk parts from Jaemco to arrive so I could build something interesting with levers and switches when I realized I wasn't thinking about my work the right way. The goal here isn't to neccsarily build a gizmo but to incorporate technology into the everyday. So I went home to see what I had lying around and the first thing I saw was a menorah which was a great fit since we are playing with LEDs.

I've built out the menorah on the breadboard with the intention of embedding it into an old menorah with a broken music box base. The old mechanisms were analog and I could make the menorah digital with my new circuit.

The menorah starts with all nine lights off. As you hold down the button the shamesh and the first light turn on. If you keep on holding down the button the lights slowly turn on one by one until they are all on. Then the mechanism cycles.

Specs:
A push button (stateless switch) will cycle through all the different light settings. The push button is on portc.2. The LEDs can be mounted on an analog (candles + fire) menorah.
The shamesh, the center light, will light with the first light and stay lit.
'// shamesh (center light)
output portb.7
'// memory slots & slights (total of 16)
output portb.6
output portb.5
output portb.4
output portb.3
output portb.2
output portb.1
output portb.0
output portd.2
input portc.2
main:
'// init
'// Going in a CLOCKWISE U
'// Shamesh RB7. the shaemsh is initially off
LOW portb.7
LOW portb.6
LOW portb.5
LOW portb.4
LOW portb.3
LOW portb.2
LOW portb.1
LOW portb.0
LOW portd.2
LOW portc.2
startagain:
'// Light
'// 1 - RB6
'// 2 - RB5
'// 3 - RB4
'// 4 - RB3
'// 5 - RB2
'// 6 - RB1
'// 7 - RB0
'// 8 - RD2
'// if the button has been pressed
if portc.2 = 1 then
'//i don't think there is an elseif
'// first is the last one on? if so turn them all off
if portd.2 = 1 then
LOW portb.7
LOW portb.6
low portb.5
low portb.4
low portb.3
low portb.2
low portb.1
low portb.0
LOW portd.2
goto bottom
ENDIF
'// now just one at a time, moving backwards
if portb.0 = 1 then
high portd.2
goto bottom
ENDIF
if portb.1 = 1 then
high portb.0
goto bottom
ENDIF
if portb.2 = 1 then
high portb.1
goto bottom
ENDIF
if portb.3 = 1 then
high portb.2
goto bottom
ENDIF
if portb.4 = 1 then
high portb.3
goto bottom
ENDIF
if portb.5 = 1 then
high portb.4
goto bottom
ENDIF
if portb.6 = 1 then
high portb.5
goto bottom
ENDIF
'// if we made it this far, nothing is lit turn the first one on
HIGH portb.7
HIGH portb.6
low portb.5
low portb.4
low portb.3
low portb.2
low portb.1
low portb.0
LOW portd.2
ENDIF
bottom:
pause 500
goto startagain
Posted by mb2811 at 05:23 AM
September 19, 2005
First PIC Lab
This is the first PIC assignment. I have to make sure I learn how to sequentially debug my circuit for when it gets more complex. My PIC circuit wasn't working because the voltage regulator was fried and also because I wasn't using a 10k resistor for my reset.
I tried to use the random number generator but Todd told me it's much better to use ADCIN to generate random numbers. Here are his code samples:
http://toddholoubek.com/pcomp/examples/code/allcodeindex.html
The analog out on port one generates a one or a zero. I'd like to incorporate something from the house as my switch/sensor because I don't have any parts right now. I think i'd like to incorporate organic elements into my design to counteract the coldness of the technology. Here are some basic things I got done:

A basic traffic light. The different leds alternate at a predefined interval. It would be cool if I had two traffic lights that talked to each other. If someone was coming in one direction (motion sensor) and no one else was coming the other way, the traffic light would automatically turn green.

Lights connected to a potentiometer. The code regulates the light and a physical action manipulates the pot.
Posted by mb2811 at 01:38 AM
September 10, 2005
Art of Interactive Design: Chapter 1 & 2
"I hear and I forget; I see and I remember; I do and I understand." --Chinese Proverb
The discussion of interactivity is reminiscent of our class discussion on analog versus digital. The Art of Interactive Design is a reaction to the digital revolution but ironically, interactivity is more granular if it is examined as analog. Interactivity involves three elements, input, processing and output. These three elements are on a degree continuum and for optimal interactivity these three must be in proper balance relative to each other.
The first thing that comes to mind is a red-green-blue color wheel (here is a web safe one). For optimal interactivity we are looking for the perfect combination of these three colors out of 1.67 million possibilities. How much input should we take before we respond? How should we think about the input? These questions will help us reach optimal interactivity. Just as close colors on a color wheel look almost the same, especially to an untrained eye, so does interactivity design exist in a gray area of possibilities. Blue is not orange, but #121212 is pretty close to #0F0F0F.
Are rugs interactive?
Inanimate objects will become interactive once we grasp their -ness. Some people may claim to "speak rug", and for those individuals a rug is interactive. For the rest of us a rug is reactive. We react when we see it (This person can afford a rug! I should ask to borrow some money.) and we react when we step on it (This rug is very soft. I wonder if i should take off my shoes?). A rug isn't interactive as rug but it is a proxy for an interactive human. Owning a rug and putting it on the floor is a "speaking" and a form of interaction only possible when interactors are available.
Speculatively, a rug may be able to interact with another rug using its own personal language.
Posted by mb2811 at 08:06 PM
Less is More
Reaction
It is interesting to ask why has technology advanced so rapidly while thinking about technology is stagnant and has not advanced since the development of mainframes. For reasons most likely grounded in social Darwinism, recently-alive people like to think that they are living through something momentous, a time and place that no other generation has ever experienced. A real revolution happening outside their door while they are on this planet. That is rarely the case. Revolutions take time, incredible disruption and discomfort. The truth is we may think we are part of the 'computer revolution', but we've only scratched the surface.
To me, real technological revolution would be much more threatening. Every new version or advance of an operating system or software platform is delivered via a comfortable paradigm. My terminal and basic i/o devices are my point of reference. You go to the terminal when you want to do computer-y things and you turn off the computer when you are done. There is a predefined mental distance. Real change comes with Buxton's proposal: rich, single function complex systems should appear in the physical, social and relative context we are accustomed to. These computers, if that's what they would still be called, would cohabitate with us and imply some loss of control and autonomy. We would be letting them in and allowing them to partially take over as in Buxton's wireless car radio example.
The scenario outlined above would be a true advance. G-d's principal shows that it would take millions of years for our brains to enhance their processing ability and technology's promise is that it can meet us half way.
Other Reflections
Buxton talks about a wireless functional appliances within a car that talk to each other. Mostly for work reasons I have been a PC user my whole life. I bought a new powerbook for school. Once when I was listening to iTunes and my iChat started ringing, the iTunes song actually faded out! When my phone call was done the music faded back in again, almost like a call waiting system in a pbx. This little feature blew my mind. I think I may have called friends to tell them about it. On a PC I couldn't even tell you what would happen. I know i'd be messing around with IRQs or two sound cards.
Buxton also talks about playing music out of a device that looks like a radio versus using a terminal as a music player. Whenever I see internet enabled radios, they always have to look like a star trek prop, as if the designers are saying, "don't worry i may look like a radio but really i'm a computer. i'm advanced!" That kind of garish design is a big turnoff. We'll make progress when internet enabled radios stop having inferiority complexes and more importantly when society lets them in.
Less is More by William Buxton
Posted by mb2811 at 06:02 PM
September 09, 2005
Basic Electronics Lab
I had brought a power supply from home to try to use on this project. It was rated at:
120V IN
9V OUT
400 mA
The dongle of the power supply didn't fit with the provided plugs from the cabinet so I decided to just clip off the end of the power plug and try to wire it in myself. I used the multimeter to figure out which end was positive, soldered some leads onto the two wires from the power plug and finally glue gunned the whole thing. It didn't work. With Caryln's help, we decided that the power supply was faulty. I ended up borrowing someone else's 12v for the work.
I completed all the projects. I took a few photos and will attach them to the bottom of this page. Here are some notes for interesting things that came up with particular steps:
Step 2
The circuit lit up two lights but the third one didn't light up. Since the lights were acting as resistors, they convert electricity to heat and light. The circuit was only five volts due to the voltage regulator and that wasn't enough power to light up three lights. I tried putting resistors between each one of the lights but that didn't help. When I took each of the lights, gave each of them their own resistor and ran them directly to power they all worked. I think I have demonstrated the concept of serial versus parallel but i'm not completely clear on that. I think seeing a physical parallel versus series circuit would be useful, not just a diagram.
Questions:
Part of my original problem was that I was misreading (or getting malfunctioning) multimeters and I just assumed there was something wrong with the circuit. I'm not clear on all the extra switches on the multimeter and need help using it. I think other students have the same problem. Our circuits worked but without fully understanding the multimeter we cannot debug them intelligently, only with trial and error. Right now they are very simple but that won't work for the more complicated ones.
I am also not clear on what the output is on the voltage regulator since my understanding is the whole circuit becomes five volts when the regulator is added. Other students weren't even using the output on the voltage regulator (just power & grnd) which defeats the purpose of it, right?
3 Photos from the lab. Once i got into it I forgot to take pictures.
Posted by mb2811 at 06:13 PM