andrewringler – Tangible Interfaces http://mas834.media.mit.edu MAS.834 Sat, 12 Dec 2015 03:52:20 +0000 en-US hourly 1 https://courses.media.mit.edu/2015fall/mas834/wp-content/uploads/sites/6/2015/09/cropped-TIlogoB-02-copy2-32x32.png andrewringler – Tangible Interfaces http://mas834.media.mit.edu 32 32 Tangible Programming Environment http://mas834.media.mit.edu/2015/11/17/tangible-programming-environment/ Wed, 18 Nov 2015 03:58:12 +0000 http://mas834.media.mit.edu/?p=5139 Anthony Baker, Scott Penman, Andrew Ringler

** Slides presented 11/17 in class: Scratch On Transform (PDF) **

implementation idea #1

  • physical blocks as tokens on TransFORM
  • transform can recognize block shapes by pins
  • display output on another transform surface

exploded axon sketch

implementation idea #2

  • blocks are displayed virtually to the side of board
  • blocks are gestured onto the board, at which point they become “real” (3D)
  • blocks can be resized, reordered, removed, etc.

loop-axon-sketchinitial sketches-1

looping example

Scratch_Loop_ScreenshotTransparency

Loop

tactile benefits

  • “building” code – without always staring at a screen
  • running code – dynamic, physical representation (with adjustable speed) of steps in program
  • debugging code – physical interaction with pins brings up specific portions of code for further analysis

radical benefits

  • abstraction/scalability
  • holistic programming environment: source code + working surface + output
  • tangible programming environment: physical manipulation of code/state
]]>
Navigable N-Dimensional Space with the Shape Display http://mas834.media.mit.edu/2015/11/03/navigable-n-dimensional-space/ Tue, 03 Nov 2015 17:00:09 +0000 http://mas834.media.mit.edu/?p=5006 Overview

We often use an n-dimensional space in computer algorithms to represent a database of information and also we use this same space to find a specific piece of information within that database. We could use the Tangible Interface Group’s Shape Display to both specify a location within a n-dimensional space and display nearby items to that location.

Search in N-Dimensions (Background)

Consider the simpler case of a 1-dimensional space. Say that I lay out on the floor of my room all of my music CDs. On the left side of the room I place my least favorite CDs, on the right side of the room I place my most favorite CDs, and I place CDs anywhere in between the left and right according to how much I like or dislike them. If I want to find my favorite CDs I just have to walk closer to the right side of the room and pick a CD up.

Usually when deciding what CD to listen to, how much I like the CD, is not a sufficient criteria to choose a CD. Lets say we also want to differentiate music based on how recently the album was released. Continuing to use my floor as a database lets place newer CDs (2015) near the top of the floor and older CDs near the bottom. We have now mapped my CDs onto a 2-dimensional space. Recent CD that I like would be near the top-right hand corner of my room. Old CD that I like would near the bottom-right hand corner of my room, and every other combination of these 2 features would be mapped to my floor.

We could categorize our music according to a 3rd feature (say number of band members) and map that to height of the CD. So CDs with more band members could be propped up on stools, or suspended from the ceiling on strings. But as we add more and more features we wish to categorize our music by it becomes difficult to map these to real world dimensions. This is where using a concept like an n-dimensional becomes useful.

In software we could create a database of all of my CDs. I could categorize each CD according to numerous attributes including likability, release date, number of band numbers, repetitiveness, dance-ability, BPM, etc… We could even place this in a spreadsheet, but how do I use this database to actually find a CD. If we have a spreadsheet I could sort by a column, perhaps repetitiveness, bringing all my trance music to the top. We could also filter by category, say we only wanted danceable music released after 2011. But, another way to consider finding a CD is to consider my database as an n-dimensional space (see feature vectors, feature spaces).

When I placed CDs on the floor of my room every CD had a fixed location in space according to values I gave its attributes: like-ability & release date. Similarly if each CD has say 25 attributes we can consider each CD as a having a fixed location in a 25-dimensional space! Now, say I am in the mood for CDs that are highly repetitive, were released around 1983 and have a lot of industrial noises, I can use those properties to specify a location in my n-dimensional space and then look to see what CDs are near me (see k-nearest neighbors search and euclidean distance in n-dimensions).

Search with Shape Display (Project Idea)

We could use the Tangible Interface Group’s Shape Display to find music within our CD collection. We could use the left shape display to specify a location in n-dimensional space (well, where n is limited to the maximum number of pins). If we use the height of each pin to represent a number between 0 and 1 then by pushing in a particular pin we set the value for that dimension (attribute) thus fully specifying a fixed location in n-dimensional space. As we change our location, the middle shape display would adjust his pins to show the nearest CD, additionally AR could be used to project the album cover onto the shape display, and the album could start playing immediately.

It would probably not be a great experience to only show a single CD. Instead of using the entire 2D grid to display a single CD we could just show the 10 most important (or however many columns the shape display has) of each CD. Thus we could show the 10 nearest CDs, one per CD per row of the shape display. We could play all 10 CDs simultaneously and then make a CD louder if the user clicks on his row.

shape display input output sketch

 

 

]]>
Blob! http://mas834.media.mit.edu/2015/09/28/blob/ Tue, 29 Sep 2015 02:39:53 +0000 http://mas834.media.mit.edu/?p=4515 by Andrew Ringler

Blob cross-section

Sketch of Blob rolling, bouncing, and deforming

Blob, in its resting state, looks like a tiny toy rubber ball. Blob, however, is an internet connected ball capable of deforming its shape, bouncing, rolling, pulsing at a variety of colors, and making noises. Blob is designed to be a general purpose friendly robotic notifier that we carry with us at all times.

It is the year 2015. Not only do most of us lead very busy lives, but our friends and family expect to be able to reach us anytime of day. In order to offload the mental effort of planning out our lives we store digital calendars on our phones and wait to be notified when an important event needs our attention. In order to remotely communicate we allow our friends to reach us via email, text messages, cell phone calls, Facebook messaging, etc…, each medium carrying its own expectations (from both parties) of time sensitivity, emotional quality, and more.

Despite the varying reasons we want to be notified our devices seek our attention in a very limited number of ways. Our cell phones can vibrate (at limited frequencies) or make noise, and our Apple Watches can tap us on the wrist.

Blob seeks to offer a diversity of personalized ways in which our devices may seek out our attention allowing us to create notification methods that match content, importance, and urgency as well as match our personal style, aesthetic, and needs. Blob is a programmable notifier. Blob lets the user customize its deformations, bouncing, rolling, flashing and noisemaking. Users can create new notifications by setting Blob to record mode. In record mode, Blob acts as a sensor recording actions the users performs on it. For example, if the user squeezes Blob twice, Blob will sense this action and play it back as a notification (or optionally the inverse of the user action). A companion app lets users compose kinetic, light, and sound actions using Blob, as well as their keyboard and mouse.

Blob consists of a solid spherical core with pneumatic cylinders and pistons jutting out of it like the spikes of a blowfish. A semi-transparent flexible membrane covers the pistons forming a sphere. Each piston is attached to the membrane allowing Blob to deform its shape by extending and collapsing selected pistons. Blob can bounce and roll through the coordinated rapid movement of pistons. Internal LEDs allow Blob to glow or pulse at various colors and rates. Internal speakers allow Blob to make sounds.

 

luke-01

Hey! Looking cool. Check this out, https://en.wikipedia.org/wiki/Bouba/kiki_effect
Before you read anything, ask yourself which on is Kiki and which one is Bouba 🙂

 

]]>
Andrew Ringler http://mas834.media.mit.edu/2015/09/19/andrew-ringler/ Sat, 19 Sep 2015 16:36:31 +0000 http://mas834.media.mit.edu/?p=4185 Hi! I am Andrew Ringler. I am a coder and artist. I bring together performance, comedy, filmmaking, visual arts, and code to create engaging experiences. I have a passion for usability, design and accessibility. I received a Bachelor of Computer Science from McGill University and I am currently in my thesis year as an MFA candidate at the Dynamic Media Institute of MassArt. You can see some of my work at andrewringler.com.

I am very interested in exploring interfaces involving hands, arms, and body movement as well as using audio as input and output. In this class I am looking to explore and build a diversity of tangible interfaces. I have built a few tangible interfaces related to my thesis including a recent project called Draw Blocks using wooden shapes and reacTIVision fiducials. I am grateful to be part of a tangible interface community through this class helping to expand my views as I consider new projects and conceptual directions in my thesis work!

Expertise:

★★★☆ Fabrication & Craft
★★★☆ Design
★★☆☆ Electronics
★★★★ Programming
★☆☆☆ Biology
★☆☆☆ Chemistry

You can email me at asringler@massart.edu or call or txt at the following obfuscated 6__1_7 —  6.1.5 ∆ 9,1,, 1 6 phone number that was fun to write but probably useless against the spam bots :(.

P.S. I am now with beard and ponytail.
Andrew Ringler with Beard

]]>