Cube Code Versions

I haven’t posted in some time, since I am now doing a lot of writing… testing my cubes, conducting interviews, collecting research, and trying to form all of that into my final thesis. I am including many videos “inside” my thesis report to better explain the cube interactions and my interview results. Sometimes words fail to explain what only a video can demonstrate.

Below are videos demonstrating the multiple versions of code I used in the cubes while testing.

What I’ve Learned #4: Skills

Knowing how to build something, physically or virtually, will get your designs further.

Sometimes when I’m learning a new programming language, arduino, or electronics, I wonder if my time is best spent learning something that isn’t specifically about interaction design. I know I will never be a pro at object-oriented programming, fully understand what a capacitor does, or be able to hack an arduino to control my twitter feed.

But… it does feel great to build something and see it working in front of you! …it does feel great to take a crazy idea that is impossible to explain to someone and build it for them to understand firsthand!

Learning bits and pieces of PHP, Processing, Flash, electronics, and Arduino during my time in the Masters program has been invaluable knowledge. It isn’t directly about interaction design, but they allow me to directly demonstrate and explain my interaction design.

Test #3 Dropoff

Friday, April 23rd, 1pm

Dropped off cube for Test #3

User: Unsworn Industries

Physical + Virtual = SUI

If you have agreed to test my SUI Cube prototype, please DO NOT continue to read this blog! …until after you have been interviewed.

I am in the middle of writing, pure thick thesis writing! It is much more difficult than it sounds.

“Why a SUI?” A question I am asked often, and have always felt I could never give a good answer to. I feel I am closer now.

All of the examples that I have documented on this site so far have included two elements: physicality and virtuality. There has been a physical element, typically in the form of a button, that provided access to an interface or functionality. There has also been a virtual element, typically in the form of a touch-sensitive surface, that provided access to another interface or set of functions. Even though many of my examples have been determined NOT to be a SUI, they have all included these two elements which made them a consideration to begin with.

My SUI Cube prototype takes these two elements to create a simple abstraction of the concept…

The physical element is the one-button, 2-state, press down, interface. A person can press the button down, and when they remove pressure, the button pops back up. There is a physical displacement of finger position when using the button.

The virtual element is the touch-sensitive surface of the button. For my prototype it is possible to see the touch-sensitive area, but in most occasions, “touch sensitivity” is invisible. You can not see the touch sensing on an iPhone, for example. Depending on design and technology, this touch-sensitive layer in the cube could be programmed for a wide range of functionality and interaction. My prototype only has a single touch capability. What if multiple touch points could be detected? If I had more time I would consider testing these ideas. If I sewed multiple independent threads on the surface, I could detect movement, direction, and speed of my finger moving across the top. This would also offer the possibility of creating gestures! The number of interactions and programmable actions with just a simple touch-sensitive button could be limitless!

Apple Trackpad (example)

When I have talked with people about my “stacking” concept, the new Apple Trackpad pops up in conversation right away. It seems to be an obvious real-world example of stacking interfaces into a single device. I understand why people think of this device right away because it is Apple’s daring design decision that has provoked people to think “Do I really need a separate button?”. The Apple Trackpad is almost a larger version of the SUI Cube I am now testing. It is a large button that is touch sensitive on the top! More investigation is necessary though…

Apple Trackpad

The lower layer of interaction in the trackpad is the button level. When you press down, it is the same result as if you clicked a mouse or tapped the trackpad: a mouse-click event is triggered. Since a press of the trackpad and a tap on the trackpad are both registered as the same event, it could be argued that this button level could be removed from the trackpad with no degradation of interaction. It is my thought that the button level was kept in the design to assist in those few occasions when only using a tap can make an interaction more difficult than using a button. Some interactions are more efficient and manually possible through the addition of physicality, instead of attempting to combine a string of touch motions that virtually create the same result.

Two ways of dragging an icon across the desktop (a simplified example):

  • Move finger to place cursor on the icon, press down with left finger, use right finger to drag cursor across screen.
  • Or, move finger to place cursor on the icon, double-tap finger but hold the finger down on the second tap, move finger to drag cursor across the screen, tap finger again to release the double-tap-hold.

The button level of the trackpad provides access to a single mouse event, click.


Apple Trackpad: button level

The upper level of the Trackpad provides a plethora of interaction that goes beyond the assumed abilities of a typical trackpad. For full disclosure, I must admit that I do not have an Apple Trackpad and am only stating functionality from what I have witnessed or seen online.

All typical interactions are possible: tap, double-tap, drag. Apple expands on these interactions, though, through the use of a multi-touch trackpad: “right-click” when tap with second finger when first finger is already touching, two-finger scroll for a webpage, four-finger up to hide all open applications, four-finger down to show a small icon of each open application, pinch two fingers to zoom, rotate two fingers to rotate an image, hold your thumb down while moving your finger to perform a click-drag, press with two fingers for a “right-click”, three fingers swiped to the left or right to move back or forward while surfing the web, four fingers swiped left or right to open the Application Switcher… and on top of all that… you can customize all of these gestures through a preferences pane in the control panel!

Apple Trackpad: touch level

The Apple Trackpad is not a SUI because it does not contain multiple interfaces. This was not an immediate verdict though. If the definition of “multiple interfaces” were stretched thinly, the answer could almost be “Yes” to the multiple interfaces question.

  • The top layer provides cursor movement control, cursor event commands, and access to a limited set of gesture commands.
  • The bottom layer provides cursor event commands, too.

Where the definition of “multiple interfaces” could be stretched, and I think where most people are convinced that it is a SUI, is how gestures are incorporated into the overall functionality of the trackpad. Without the gestures, the Apple Trackpad would without a doubt not be a SUI because of the absence of opposed interfaces. The button and touch-sensitivity are both controlling the same interface. With the inclusion of gestures in the top layer of interactions, the line that separates the interfaces becomes blurred, and the definition of “interface” becomes uncertain.

From my inexperienced understanding of the Apple Trackpad gestures, they are simply shortcuts or “quick-keys” to functionality that is attainable by other means. The gesture is providing the user with a quicker way of performing the function by allowing the user to maintain their hand position and not move their arm to press a button, or by eliminating multiple cursor movements and click commands. Because of this, I do not consider the gestures to be an interface. I do admit, though, that more investigation is necessary…

Apple Trackpad: SUI levels

Test #2 Dropoff

Wednesday, April 21th, 8:30am

Dropped off cube for Test #2

User: Apokalyps Labotek

Test #1 Dropoff

Tuesday, April 20th, 2pm

Dropped off cube for Test #1

User: Do-Fi

Aftertouch (example)

“Aftertouch” is pressure sensitivity on an electronic synthesizer, allowing the musician to change the tone or sound of a note after it is struck [Wiktionary]. For example, it could allow a musician to slightly bend the tone of a note or slowly add vibrato to a tone, by simply pressing a little harder while holding down the key to sustain the note.

(I can not confirm that the photos used for this example are from an aftertouch-enabled keyboard. I am using these photos for demonstration purposes only.)

Keyboard Aftertouch

The top layer of a keyboard is the obvious and most visible layer: the tone-producing key “button”. When a key is pressed, a tone is produced. Depending how advanced the keyboard is, would determine how much control the musician can have on producing the tone. For example, on more technologically advanced keyboards (and usually much more expensive), a musician could produce a tone of varied loudnesses, or varied percussive attacks of the tone. Versus, a cheaper keyboard that produces the same loudness and attack no matter how differently you press the key.

All of these elements pertain to the tone-producing layer of interaction on a keyboard.

Keyboard Aftertouch: button level

The “aftertouch” layer of interaction occurs only after a tone is produced in the upper layer. Presumably there are sensors underneath the key that determine when it is pressed to produce a tone, and also sense when slightly more pressure is given to the press to activate aftertouch. Aftertouch can only be activated once a tone is generated. This fact breaks one of the rules of determining a SUI: interface independence. The upper layer of interaction must be used in order to get to the lower layer of interaction.

Keyboard Aftertouch: touch level

Aftertouch is not a SUI for multiple reasons:

  • Multiple interfaces? The upper layer produces a tone, while the lower layer augments the tone. Both are related and interfacing with the tone generating interface of the keyboard. Are opposed interfaces necessary for a SUI?
  • Both interfaces described here occupy the same physical space, but it is unclear whether the interfaces described here are separate and plural.
  • There is no interface independence. Aftertouch can not be activated without first interacting with the upper layer of interaction.

Keyboard Aftertouch: SUI levels

Day 120

Only 5 weeks left in the thesis and only 1 week until I hand in my midway progress!

This week’s activities:

  • With 2 cubes now complete, I am delivering them to local designers to test their interaction and potential future use.
  • Working on interviewing techniques and questions that I will be asking. I’m video recording the interviews to be used for videos to support my final paper.
  • Writing initial drafts for final paper…

After midway critique:

  • Traveling to Stockholm and Århus for additional testing, along with testing more local designers and “people on the street”.
  • More writing and editing video…

Some photos from recent prototype building. In case you are wondering, I ran cords out of my 4th floor apartment into the courtyard so the apartment wouldn’t smell like burnt wood/metal/plastic.


Cords out the window.

All pieces inside each cube.

Cubes drying after being glued.

Circuit board with touch sensor and LEDs.

Final assembly of internals (button stand and cube in background).

iPod (example)

The original iPod, now labeled “iPod Classic”, is an example of a simplified SUI interface.

iPod Classic

Using your finger, you can touch the jog wheel and move your finger in a circular motion. This interaction modifies a number of controls on the screen.

  • It scrolls whichever list is visible on the screen. A clockwise motion scrolls down, while a counter-clockwise motion scrolls up.
  • If a horizontal status bar is visible, it can adjust the current position in the status bar to the left or right (clockwise for right, counter-clockwise for left). This is used for adjusting the volume and adjusting the time position of the song.
  • If the star rating is visible, scrolling to the left or right with the jog wheel selects more or less stars.
  • To use the Genius playlist control, scrolling the jog wheel to the right moves a selection arrow control, that initializes the Genius feature.

The jog wheel is typically used as the selection control for the iPod. The device does not have any type of pointing device to make selections, as someone is typically used to using on a desktop computer for example. Using the jog wheel as a selection interface is more apparent when trying to play Solitaire on the small device. Moving your finger to the left or right on the jog wheel moves a “selection hand” on the screen. The hand moves in a linear pattern allowing you to select a card to move in the game. This selection interaction on a desktop computer is strictly given to the mouse or trackpad to provide input.

iPod Classic: touch level

Underneath the jog wheel are 4 buttons that provide more input to the iPod interaction.

  • The top button (MENU) is typically used as a “back button”.
  • The right button is used to advance to the next song, or when held down, used to advance the current song by a few seconds.
  • The left button is used to go to the beginning of the current song, go back one song, or go back in time in the current song.
  • The bottom button is used play or pause the song.

The middle button that is not underneath the jog wheel, and thus not included in the SUI interface, is used to advance through the menus or commit to an action.

iPod Classic: button level

The iPod Classic represents a SUI interface:

  1. Multiple interfaces
    1. Jog Wheel controls menu selection (scrolling through lists), and parameter adjustments (changing volume, place in song, star rating).
    2. 3 of 4 buttons control music playing
    3. MENU button function is related to menu selection and not music playing.
  2. Interfaces occupy the same physical space.
  3. Each interface can be independently controlled without interfering with the other interface.

The iPod’s adherence to the SUI framework is weak for rule #1, though: there is not a strict separation of interface functions.

  • One button in the lower layer is used in conjunction with the jog wheel in the upper layer.
  • The jog wheel can be used to adjust a music playing parameter.

iPod Classic: SUI levels

TODAY IS DAY 222 OF MY THESIS