ARDUINO CHARLIE 3

Posted by J. on Sunday, June 21, 2009

#include Charlieplex.h
#define NUMBER_OF_PINS 5

byte pins[] = {17,16,15,14,13};

Charlieplex charlieplex = Charlieplex(pins,NUMBER_OF_PINS);
charliePin leds[20] =
{
{1,0},{2,1},{3,2},{4,3},
{0,1},{1,2},{2,3},{3,4},
{2,0},{3,0},{4,1},{4,2},
{0,2},{0,3},{1,4},{2,4},
{0,4},{1,3},{3,1},{4,0},
};

void setup(){ /*nothing*/ }

void loop(){
for (int i=0;i<20;i++) {
charlieplex.clear();
charlieplex.charlieWrite(leds[i],HIGH);
delay(50);}
}

ARDUINO CHARLIE 2

Posted by J. on

#include Charlieplex.h
#define NUMBER_OF_PINS 3

byte pins[] = {15,14,13};
//define pins in the order you want to adress them
Charlieplex charlieplex = Charlieplex(pins,NUMBER_OF_PINS);
//initialize object

charliePin leds[6] ={{1,2},{2,1},{2,0},{0,2},{1,0},{0,1},};
//individual 'pins'

void setup(){ /*nothing*/ }

void loop()
{
for (int i=0;i<6;i++) {
charlieplex.clear();
charlieplex.charlieWrite(leds[i],HIGH);
//delay(100);}
}

ARDUINO CHARLIE1

Posted by J. on

/*
*
* CHARLIEPLEXING PROOF OF CONCEPT
* 6 LEDS ON 3 PINS
*
*/

void setup() // run once, when the sketch starts
{/*nothing*/}

void loop() // run over and over again
{
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, INPUT);

digitalWrite(13, HIGH);
digitalWrite(14, LOW); delay(100);

digitalWrite(14, HIGH);
digitalWrite(13, LOW); delay(100);

pinMode(13, INPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);

digitalWrite(14, LOW);
digitalWrite(15, HIGH); delay(100);

digitalWrite(14, HIGH);
digitalWrite(15, LOW); delay(100);

pinMode(13, OUTPUT);
pinMode(14, INPUT);
pinMode(15, OUTPUT);

digitalWrite(13, LOW);
digitalWrite(15, HIGH); delay(100);

digitalWrite(13, HIGH);
digitalWrite(15, LOW); delay(100);
}

ARDUINO POV

Posted by J. on

/*
*
* ARDUINO POV CODE
* USING 13 LEDS
*
*/

/*-----------------VARIABLES-----------------*/
int val = 0;
int potPin = 14;
int pin = 3;
int value = LOW;
long previousMillis = 0;
long interval = 1000;

/*-------------------SETUP-------------------*/

void setup()
{
for (int i=3 ; i<=13 ; i++){pinMode(i, OUTPUT);}
}

void loop()
{
//scanup(20); //scandown(20);
ls();
a();
ls();
b();
ls();
c();
ls();
d();
}

/*--------------LETTERS--------------*/
void ls() { flashoff(5); }

void a() { ON(3,0);ON(4,1); flashoff(0); ON(3,0);ON(5,0);ON(7,1); flashoff(0); ON(3,0);ON(5,0);ON(7,1); flashoff(0); ON(3,0);ON(4,0);ON(5,0);ON(6,0);(7,1); }

void b() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); ON(3,0);ON(7,1); flashoff(0); ON(3,0);ON(7,1); flashoff(0); ON(4,1);ON(5,0);ON(6,1); }

void c() { ON(4,0);ON(5,0);ON(6,1); flashoff(0); ON(3,0);ON(7,1); flashoff(0); ON(3,0);ON(7,1); flashoff(0); ON(4,0);ON(6,1); }

void d() { ON(4,0);ON(5,0);ON(6,1); flashoff(0); ON(3,0);ON(7,1); flashoff(0); ON(3,0);ON(7,1); flashoff(0); ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void e() { ON(4,0);ON(5,0);ON(6,1); flashoff(0); ON(3,0);ON(5,0);ON(7,1); flashoff(0); ON(3,0);ON(5,0);ON(7,1); flashoff(0); ON(3,0);ON(5,0);ON(6,1); flashoff(0); }

void f() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void g() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void h() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void i() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void j() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void k() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void l() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void m() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void n() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void o() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void p() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void q() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void r() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void s() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void t() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void u() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void v() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void w() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void x() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void y() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

void z() { ON(3,0);ON(4,0);ON(5,0);ON(6,0);ON(7,0);ON(8,0);ON(9,1); flashoff(0); }

/*--------------PLAY FUNCTIONS--------------*/
void scanup(int speed1) {for (int i=3 ; i<=12 ; i++){val = speed1/10;ON(i, val);OFF(i, 20);}}

void scandown(int speed1) {for (int i=12 ; i>=3 ; i--){val = speed1/10;ON(i, val);OFF(i, 20);}}

void flashon(int del1)
{for (int i=12 ; i>=3 ; i--){
for (int n=12 ; n>=3 ; n--){ON(n, 0);}
}
delay(del1);}

void flashoff(int del1)
{for (int i=12 ; i>=3 ; i--){
for (int f=12 ; f>=3 ; f--){OFF(f, 0);}
}
delay(del1);}


/*--------------BASIC2 FUNCTIONS--------------*/

void OFF(int pina1, int del)
{digitalWrite(pina1, HIGH); delay(del);}

void ON(int pina2, int del)
{digitalWrite(pina2, LOW); delay(del);}

void FI(int pina2, int del)
{for(value = 255; value >=0; value-=50)
{analogWrite(pina2, value);delay(del);}}

void FO(int pina1, int del)
{for(value = 0 ; value <= 255; value+=50)
{analogWrite(pina1, value); delay(del);}}

Reflective Statement

Posted by J. on Friday, June 19, 2009

Over the course of this semester Tash and I have pursued quite a long line of enquiry to arrive at the point we are at now.


Initially we intended to pursue a multi-touch system capable of tracking both multiple finger inputs and fiducal markers, using this system we intended to introduce physical input devices such as dials that could be recognised and calibrated by the fiducal software on the fly. on the software end of this design we explored concepts such as cloud computing, virtual scrapbooking and the desktop metaphor. However after doing some more in-depth research it became painfully apparent that we would need an expensive short range projector for the setup we wanted. On top of this we found that every idea we were coming up with was already being explored simultaneously in different parts of the world. Rather than compromise we decided to follow our line of questioning into more rewarding territory.

Augmented reality was our general area of interest so we decided to look at a low-end solution that could be easily demonstrated. We started by looking at the marker based toolkit in processing but quickly realised it wasnt effective for what we wanted to do. We decided to use Flash in conjunction with Papervision 3D and a FLAR library because they are relatively well documented and easy to use (apart from some japanese commenting in FLARtoolkit).

Reflective Statement

Over the course of this semester Tash and I have pursued quite a long line of enquiry to arrive at the point we are at now.

Initially we intended to pursue a multi-touch system capable of tracking both multiple finger inputs and fiducal markers, using this system we intended to introduce physical input devices such as dials that could be recognised and calibrated by the fiducal software on the fly. on the software end of this design we explored concepts such as cloud computing, virtual scrapbooking and the desktop metaphor. However after doing some more in-depth research it became painfully apparent that we would need an expensive short range projector for the setup we wanted. On top of this we found that every idea we were coming up with was already being explored simultaneously in different parts of the world. Rather than compromise we decided to follow our line of questioning into more rewarding territory.

Augmented reality was our general area of interest so we decided to look at a low-end solution that could be easily demonstrated. We started by looking at the marker based toolkit in processing but quickly realised it wasnt effective for what we wanted to do. We decided to use Flash in conjunction with Papervision 3D and a FLAR library because they are relatively well documented and easy to use (apart from some japanese commenting in FLARtoolkit).The final result was functional but slow due to the use of flash and much feedback data, along with multiple marker tracking. The reasons for the overdose of feedback is the use of a different transformation matrix between the single and multiple marker trackers. To avoid these problems in the final design we decided to track a a single marker and use it to control music. To do this I learned to use the internal sound class to play and pause a song depending on whether the marker was being tracked or not. An interesting side effect of this is marker_added is triggered more than marker_removed, resulting in the song being played over itself. The final design used a collada file designed in 3d studio max with textures from photoshop. aliasing created the necessity to hold the marker quite close to the webcam to make the album list playable but apart from that it was quite a robust solution.

The final design is meant to be an example of a bigger system. In theory if you are standing outside a gig or in the album racks at JB hifi you should be able to take a card (or a pxt) with a logo on it and the name of the album/band. By holding the card infront of the webcam and visiting a website you can hear a sample of the music streamed remotely with additional information shown in an interesting way. This idea was more effective in our minds than cloud computing portfolios because it used the cards to present someone elses information in a creative and new way.

The final result was successful in that it applied a theoretical idea in an effective and robust way, obviously the idea could have been pursued further (ad infinitum) but the fact that it worked well enough to clearly demonstrate the idea we were trying to present makes me happy with the final product. I am also happy with the teamwork and the clear process we went through to get a final product, even if it was hard won in the end!

Project Documentation

Posted by J. on

Part one; TUI & Metaphor In HCI


In the beginning of the semester, Joe and I identified our research cluster as tangible user interface. Our interest in this field was to look at new methods of interaction that bridge the gap between the digital and physical realms. We began with with researching tangible user interfaces, which are interfaces where users can manipulate digital information with physical objects, and because physical objects can have familiar properties, they are often metaphorical in nature. This method of interaction, and an element of personal interest, directed much of our initial line of research to the place of metaphor in interaction design.

We began by looking at the most common metaphor in interaction design, the desktop metaphor. The desktop metaphor has been a highly successful instrument in facilitating HCI, but in it’s ubiquitous state, it has become a burden on user interface design, prohibiting it from evolving into something more efficient by being inflexible to development. The desktop metaphor was created from the early 1970s work at Xerox's Palo Alto Research Center, and was not designed to address today's computing needs (Tristam, 2001).

Due to it’s limitations, there is obvious danger when using a metaphor for user interface design. Metaphors can often mislead the user and encourage false expectations (Mohnkern, 1997). Saffer (2005) admits the abstract object has more properties than the more concrete object does and, by using a metaphor, users may neglect the properties that aren’t reflected in the concrete object, therefore using it to comprehend one thing in terms of the other will obscure other merits of the concept. Given that computers are generally thought of as tools to assist work in the physical world, a focus on mimicking the physical world is appropriate, but to what degree determines the successfulness of the interaction.

Tristram (2001) argues that the desktop metaphor has become part of our cultural literacy, and that getting users to try new interface concepts is like trying to teach Esperanto, “a good idea in theory, but for most people not worth the trouble”. Because of this, we believe changing the medium allows us to surpass these techniques and therefore force us to explore something novel. As Tristram (2001) succinctly put it “the desktop metaphor is so tightly wedded in our minds to keyboard, mouse and monitor that unless the outside package changes, the on-screen presentation doesn't have much of a chance to evolve either.”

Part Two; Tabletop Computing


Originally we thought that the right medium for facilitating this exploration was tabletop computing, with less preconceived notions about the interface to impede it. Primarily, we looked to experiment with digital information that could benefit from enhanced tangibility and a novel interface. The technological basis for this design would have been to use a high quality webcam with its infra-red filter stripped off to track the reflection of infra-red light off of fiducals (markers that can be used to track position/rotation) and finger positioning on the touch surface. However, finding completely unexplored areas with tabletop design however proved to be a demanding, and furthermore, the cost of a wide angle projector required to build a touch table would have been prohibitive. Regardless of these barriers, the concepts we produced all had a considerable effect on our research and development.



Our initial concept was PuckUI, a basic heirachy navigation system, designed to break free from traditional methods of desktop interaction. We planned to use markers on the bottom of pucks that would be read by the computer and be used to control the interface in a novel way, using rotation and other movements to enhance tangibility. This was a satisfactory starting point, but it was too broad an application to execute. In addition to this, it also didn’t deviate enough from traditional desktop interfaces to truly explore any new methods of interaction.

Following this concept, we tried to create an application for a more specific purpose. The first was an Album Table, where albums would have markers on the bottom, and on being placed upon the surface, would be read and play the relevant album. Albums could then be physically manipulated to determine the order in which they are played, or moved to skip ahead or rewind tracks. We wanted to create a concept with music because of it’s large scale medium shift from physical to digital has meant a loss in tangibility, and perhaps even perceived value. However, we eventually concluded the concept itself lacked the ability to explore the intricacy of these ideas.

Our second concept was an email application that gave subtle hints as to it’s contents importance. The idea behind this concept was to visualize the intrinsic value of files which is lost in a digital medium. For example, an email with an attachment would be shown as a package, and a quick note as a small, thin, envelope. Other visual clues would include old emails becoming dusty and discolored if ignored for periods of time. We liked the premise of this application, however as it wasn’t something we could properly create, it would limit further development.

Our third concept was to create a personalized ID card, which when place on the table, allowed the user access to his or her most important sites or documents. This concept came from a desire to explore the idea that solid objects contain more data digitally than they do physically, and what it would mean if that could be accessed intuitively. This let us to an interesting research area, of ubiquitous computing and cloud computing.

Part three; Ubiquitous and Cloud computing


The concept of Ubiquitous computing was presented for the first time by Mark Weiser, in his text on Scientific American, September 1991. It describes a computer not as a self contained object, but as multiple objects that are everywhere. Ubiquitous computing represents a paradigm shift in the way we use technology. A move beyond desktop computing, where computing is embedded into everyday objects. It seamlessly integrates physical objects with virtual environment, and assists us from the most basic to most complex everyday tasks.

Cloud computing is essentially a forerunner of ubiquitous computing, which is already beginning to impact on technology today. Cloud computing doesn’t denote any new forms of technology, nor any substantial change in content. In many ways, cloud computing is simply a metaphor for the Internet, and the increasing movement of data into it. The fundamental difference is that cloud computing doesn’t represent the same paragdim shift as ubiquitous computing, it doesn’t suggest such a radical departure from traditional computing. Cloud Computing doesn’t put the computer everywhere but, instead, it gives access to it anywhere. As such, it served as both a more interesting and more pragmatic concept for our work.

This exploration gave a whole new set of depth to our ID card concept. If information, and the means to access it, were available everything, what does that mean for personal data and human computer interaction. One question we considered was what if it is you that becomes ubiquitous, as opposed to the computer. However, due to the aforementioned reasons, we chose not to explore this through tabletop computing. Furthermore, tabletop computing was not the right medium for exploring these ideas, as the technology employed needed to be more versatile and fluid.

Part four; Augmented Reality


This is where our research led us to augmented reality. Augmented reality technologies are by no means new, however they are not as pervasive as tabletop computing, and therefore provides more opportunities in creating new concepts. Augmented reality adds information and meaning to a real object or places. Unlike virtual reality, augmented reality does not create a simulated reality. Instead, it takes a real object or space and uses technology to add contextual data to deepen understanding of it.

One of the reasons we wanted to use AR is because it “bridges the real and virtual world and so objects in the real world can be used as AR interface elements, and their physical manipulation can provide a very intuitive way to interact with the virtual content” (Zhou et al, 2008) This seamless integration could benefit many domains, but for the most part, augmented reality has been largely limited to educational books and marketing. Another aspect of AR is that, being a fairly recently implemented technology, it encourages a renewed sense of enjoyment in it’s interaction.

Part five; Augmented Reality meets TUI/Ubicomp


Because of the nature of AR, it shares a relationship with tangible user interfaces. Tangible AR interfaces are those in which "1) each virtual object is registered to a physical object and 2) the user interacts with virtual objects by manipulating the corresponding physical objects" (Lee et al, 2004). Tangible interfaces are powerful because “the physical objects used have familiar properties, physical constraints, and affordances, making them easy to use” (Zhou et al, 2008). This TUI metaphor can be applied to AR interfaces “where the intuitiveness of the physical input devices can be combined with the enhanced display possibilities provided by virtual image overlays.”

Zhou et al (2008) provide a succinct explanation of the ubicomp and AR correlation, ubicomp "enables information processing capability to be present in everyday objects. Thus, it essentially extends augmented reality interfaces to daily objects. Augmented reality change the world itself into an interface, "taking advantage of natural physical affordances to achieve a heightened legibility and seamlessness interaction between users and information". The augmented reality technology we want to create aligns well with the concept of ubiquitous computing which looks to release the user from the computer and provide a rich ambient environment.

One concept we introduced with this medium, was augmented reality postcards, or AR Cards. The idea was you could give someone a marker which then accessed a flickr stream of photos from a specified location you were visiting, like an interactive postcard. However, apart from adding another layer of tangibility to photo viewing, the concept didn't provide much of an avenue for other interface methods. Furthermore, photo viewing was not a direction we wanted to look at in terms of cloud computing and it's implications.



Part five; Final Concepts


Consequently, we continued to explore the ID card concept within this medium, but the fundamental question we came down to was if this technology is best used for intuitively and interactively accessing information, why limit that to your personal information. This lead to the creation of the interactive business card, which was both more practical for the medium, and more interesting concept. The interactive business card is designed to show clients or friends the work you've done in a dynamic way. In some way's, the interactive business card could be argued as simply a portfolio website 2.0. However, the method of interaction is much different, instead of giving someone a link, you are giving them a tangible object which then turns into a device for navigation. This physical presence and purpose give more weight to the information it contains. We provide a visualization of this concept, but due to its personalized nature, it is not our working example.



Our final concept was the augmented reality music sampler, taking some past cues from our album table, but now in an appropriate medium with much larger social implications. This concept was a way to explore the use of cloud computing for allowing immediate and immersive access to digital information within a unique but intuitive interface. Band cards can be created with individual markers and then given to friends or music producers. The card then links to the 'cloud' to load the music to be played. Physical interaction with the card allows the user to play or pause the track, and the interface provides more information about the chosen band. Currently it's a concept which works mostly in isolation, meaning you need to load a webpage to first use he app. However, as augmented reality technologies become more pervasive, it could be accessed more naturally.



In continuing with the exploration of new interaction and tangible user interface, we wanted to enable the user to directly interact with the virtual interface elements using direct physical manipulation rather than indirectly through mouse and keyboard input. So in our presentation we removed these methods of interaction. Currently however, "various challenges in ubiquitous tracking make this interaction paradigm in its infancy" (Zhou et al, 2008) so although that is how we intend the technology to be implemented, the design allows it so that they can still be present for the interface to function.

The interaction elements of the AR music player currently include 3D tracking of the information and album art avatar, and occlusion dictating the song playing and pausing. One challenge of Tangible AR interfaces is to show users how to control the motions of the real objects to issue commands, and currently this is simply text direction. Future development would include making these hints more subtle, as well as creating band posters with the marker on them, which you could then use in conjunction with an iphone, or similar smart phone, to sample the music before deciding whether to attend the gig.

On technical side, we first intended to use processing with a library designed to track markers. However after a little research we found a flash based library known as FLARtoolkit took much of the heavy lifting out of the basic marker tracking class. Further development with the toolkit on various online blogs resulted in a class known as FLARmanager. Although this class is more powerful, handling multiple markers and various events easily it is also largely undocumented. However the final design is based on a combination of this toolkit and music handling/online data handling classes. Currently the marker with the software virtually links to an mp3 playlist stored online. Ideally this would be streamed straight from lastFM or Myspace to avoid any DRM issues, but simply hosting the mp3s on a secure server demonstrates the technologies potential.



During the course of the project we feel we succeeded in exploring emerging ideas of tangible user interface, augmented reality and cloud/ubiquitous computing. We believe we have created a basic interface which is able to address each of these components, and whilst the current implementation could definitely be developed further, it's an exciting amalgamation of technologies which has sufficiently demonstrated our theories. We have managed to overcome the technical limitations that arose due to current commercially available technology.

Puck UI 4

Posted by J. on





PUCK UI 3

Posted by J. on Thursday, April 23, 2009










PUCK UI 2

Posted by J. on

Media and Literature Review
1.Brief
Its ultimate goal is to bring the reader up to date with current knowledge on a topic and to form a basis for informing subsequent research. The aim of your review is to provide the platform for studio based research within your research cluster.
A media and literature review is a body of text that aims to review current knowledge on a particular topic or area of practice.
Write a media and literature review of between 1500 and 2000 words.
Should include between 8 and 20 relevant sources.
Use appropriate academic language.
Double space lines.
Use APA referencing throughout.
Include a full Bibliography.
2.Review Synopsis
Usability and interface design in the context of multi-touch technology.

Overview
1.Introduction
i.Approach
ii.Essay Goals
2.The Research
i.Multi-Touch
ii.Tangible Interface Technologies
iii.Visual Psychology
3.The How
i.FTIR Touch Table
ii.Mixed-Reality
iii.Software
4.The Why
i.Parameters for Good Interface Design
ii.Exploring possible applications of multi-touch design
5.Conclusion
i.Identifying Flaws
ii.Future Developments
6.Bibliography
i.Literature Sources
ii.Web-based Sources

Review
9.
10.Introduction
This media and literature review intends to cover a number of related topics with a view to further research and finding solutions to problems relating to human-machine interfaces using multi-touch technology. Initially the review will cover the history behind multi-touch hardware, software and various related aspects within the field. Then I will cover the practical aspects of the multi-touch including related technologies and which approach is best suited to future research. Next I will look at the theory behind user interface design in terms of tangible user interfaces. Finally I intend to look at potential applications. If successful this review will inform the reader of the current state of multi-touch research as well as related technologies and the theory behind interface design.
11.The research
Multi-touch interfaces have actually been around for a while; in 1984 bell labs developed a touch screen that could change images with more than one hand. In 1991 Pierre Wilner published a paper about his “Digital Desk” that accepted multi-touch and pinching motions (Buxton, 2009). In the following 16 or so years not much happened to bring these technologies to the mainstream. There have been many reasons cited for this but they all faded into insignificance when Apple brought out the iPhone. Suddenly here was a phone that the average consumer could use, one that used multi-touch and could be developed (more or less) by an ordinary programmer. Also important in the field of multi touch is Jeff Han, whose development of a simple, inexpensive and scalable technique for multi-touch sensing has shown an international audience what touch interfaces are capable of. Until now these developments have only been available to researchers with big budgets. However the development of a touch interface that can be made using a projector, a webcam and some readily available hardware in conjunction with free software means that the DIY developer community as a whole has access to all the possibilities of a much more expensive commercial solution for potentially very little cost. It is important to remember that touch or even multi-touch solutions are essentially just another replacement for the common mouse pointer. The addition of such things as gestures, tangible interface elements and the larger form factor available to a touch table versus an LCD screen makes the strengths of this type of interface more apparent.
The software GUI interface has been around in many forms since its birth in 1973 with the Xerox Alto (Buxton, 2009). In that time many interface elements have been tried but surprisingly few have made the transition into mainstream computing. These include icon based file browsing, the alphabetical list, buttons, check boxes, scroll bars and drop-down boxes. Much of current GUI design theory is centred not on alternatives to these, but on when and where to use them within the interface’s individual information architecture.
The limitations and failures of touch technologies have been well documented over the past few years. In 1991 many computer companies appeared to have a touch screen computer in development. None of them were successfully released. More recently the iPhone has enjoyed success as a commercial multi-touch product, but criticism of its lack of tactile feedback is one that the technology has not yet been overcome. Tactile feedback is important because it helps with spatial memory; it is one of the reasons why touch typists do not need to look at their keyboards. Other related technologies include mixed reality or tangible user interfaces (TUI’s). These take the inherent flexibility of a screen based presentation format and include much needed tactile feedback solutions. Some of these solutions even feed back into the display to produce a virtual object whose position is extrapolated from printed markers. This is known as augmented reality.
Of course all these solutions are only part of a human-machine interaction. The design of a new interface should therefore be based on principles that combine the natural active vision and tactile processing systems of the human mind in conjunction with the most effective and intuitive TUI interface possible. In Colin Ware’s Visual Thinking Design (2008), various elements of design are linked with the cognitive processes that make them effective or otherwise. Without making too much of a leap from current solutions (applying the ‘principle of least astonishment’ (Hix, 1993)) a successful application of some of these myriad principles should result in an interface that is attractive, fun and efficient to use. The spatial cognition improvements demonstrated by using physical markers in a tangible user interface (Kim & Maher, 2007) provides a major step forward in multi-touch interface technology.
12.The How
For the purposes of this project, a Frustrated Total Internal Refraction (FTIR) solution (Han, 2005) appears to be the most practical solution so far. This requires a projector, and a semi transparent material for rear projection of the graphical interface. The multi-touch design requires a sheet of Perspex, some infra-red LEDs, and a high resolution webcam with some processing software. If successful this design can create a reasonably sized and flexible solution to begin TUI development.
The TUI hardware can be connected to the interface using a range of options, from a Bluetooth connection to a printed reactable barcode on the bottom of a static object and a number of simple yet effective solutions for tactile feedback are demonstrated at http://www.youtube.com/watch?v=0h-RhyopUmc. The software which interfaces with the chosen technology will need to be quick to develop for and suited to the highly visual application at hand. In addition, the multi-touch software (Han, 2005) provides co-ordinates, but reactables, gestures and other features will also need to be easily added, preferably without running too much software simultaneously. Ideally, C++ would be the most powerful tool for this but Processing and Flash are almost as capable and have a much lower development time from concept to working example.
13.The Why
Current interface design has not changed significantly since the advent of Windows 95 over 10 years ago. Since then almost every user has become accustomed to such ubiquitous things as menus, scroll bars and the OK/cancel buttons. It would be fair to say that this lack of change is a direct result of refining an approach that works very well. However there are significant disadvantages to attempting to use a touch based solution over an interface designed for a keyboard and mouse. In a study by Otago University ()it was shown that a touch interface is not suitable for any target smaller than 4mm in size. However, given that a touch table has roughly 5-10 times the desktop real estate of a computer monitor it seems feasible that any given UI element can be designed several times larger without making the interface less efficient.
Another difference between a GUI for a monitor and that of a touch table is viewing angle. A table by its nature can be viewed from any angle above its surface, whereas a monitor sits in front of its user. For this reason, rotation is an important factor to consider. A clever solution by The University of Tokyo 2 NTT Communication Science Labs (Kakehi, Hosomi, Naemura & Matsushita, 2006) involved four different projectors and a Fresnel lense that made all viewing angles equally feasible. However a more flexible solution would be to make individual software UI’s dynamically easy to rotate using the TUI and using interface elements that are easy-to-read from the widest possible viewing angle.
For a long time the computer desktop has been seen as a metaphor (for a desk), (Saffer, 2005) yet there are a number of arguments that suggest that this is not the best way to look at interface design. However this has been the status quo because it makes it easier for the majority of people to understand what a desktop actually is for and how it can be used. In the case of a touch table it is obvious that a metaphor for a desk is implicit in its design. Nevertheless, by moving away from the limitations of a desk by using the inherent advantages of a software interface (easy selection, quickly viewing a selection in many different ways (Agrawala & Balakrishnan, 2006)) it becomes apparent that the chronologically ordered piling system of a real desk is not the only way to create a personal information management interface.
Every individual works differently: some remember where their information is visually, while others use a system of careful organisation (Ware, 2008). A good TUI should therefore allow for these different cognitive systems while at the same time being simple enough to encourage greater productivity over traditional systems. For those that like custom interfaces, interface elements should be customisable without simultaneously rendering it less useful (Saffer, 2005).
A very important consideration in using a large space in such a ‘hands on’ way is the ease of reach. A typical human has a maximum reach in any direction of approximately a metre (Toney & Thomas, 2006). Thus any interface elements outside that range is either permanent or useless. For this reason interface elements in this space should display information that is related to the system more than the user actions. Software that runs in the background can also use this space. Inside this region is an area which is possible to reach from a sitting or standing position but which is not necessarily comfortable to access repeatedly. In a study by the University of South Australia (Toney & Thomas, 2006) this area’s suggested use is storage space. Shortcuts and resources can reside in this area. Finally the area closest to the user is known as ‘personal space’. This space can be used for the currently running application(s) and enable the user to use the interface with minimal physical strain.
The human mind is a very capable pattern recognition device. By providing visual cues such as sharpness, colour, orientation, scale, etc. (Ware, 2008) the interface should bring attention to information when it is needed without being irritating or frustrating for the user. In experiments using virtual interfaces with ‘real’ objects in a TUI environment it became clear that spatial cognition is greatly aided by having a physical object to relate to mental processes. Compared to a purely virtual environment creative thinking is greatly improved by such a mixed reality system (Kim & Maher, 2007). For these reasons this interface will be more suited to spatially orientated people for creative applications although it may also help non-spatial people think in a different way.
14.Conclusion
Despite any real or perceived limitations, multi-touch is an attractive technology. This is why there is so much public interest every time a multi-touch technology (such as the iPhone or Microsoft surface) is announced (Atkinson, 2008). Multi-touch and TUI is a powerful solution but it only works at its best when used in the right way. For instance using a touch interface for writing a novel is definitely not going to be a successful exercise, whereas for a group of people to use the same interface to create a mind-map of a project overview is likely to take considerably less time than using email and other current solutions.
Because of the excitement and fast moving nature of current multi-touch developments, it is difficult to find a solution that has not already been discussed. However, by expanding our knowledge of current developments in all aspects of the field, and applying this to a unique task that develops from it could lead to a solution that is both innovative and successful.

Bibliography
Agrawala, A. & Balakrishnan, B. (2006), Keepin’ it real: Pushing the desktop metaphor with physics, piles and the pen. CHI 2006, April 22-27, Montréal, Québec, Canada.
Apted, T., Kay, J. & Quigley, A. (2006), Tabletop Sharing of digital photographs for the elderly. CHI 2006 Proceedings • Collecting and Editing Photos. Montréal, Québec, Canada
Atkinson, P. (2008), A bitter pill to swallow: The rise and fall of the tablet computer. Design Issues. 24:4 Autumn.
Bimber, O., & Raskar, R. (2005), Spatial augmented reality. Wellesley: A K Peters, Ltd.
Buxton, B., (2009). Multi-Touch Systems that I Have Known and Loved. Retrieved March 30, 2009, from http://www.billbuxton.com/multitouchOverview.html.
Ghinea, G., & Y., S. (2006), Digital multimedia perception and design. Hershey: Idea Group Publishing.
Han, J.Y. (2005), Low-cost multi-touch sensing through frustrated total internal reflection. In Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology
Hix, D. & Hartson, H.R. (1993) Developing user interfaces: Ensuring usability through product and process. NY: Wiley. Chap. 2
Izadi, S., Agarwal, A., Criminisi, A., Winn, J., Balke, A. & Fitzgibbon, A. (2007), C-Slate: A multi-touch and object recognition system for remote collaboration using horizontal surfaces. Proceedings of the Second IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP ’07). IEEE Computer Society.
Kakehi, Y., Hosomi, T., Iida, M., Naemura, T. & Matsushita, M. Transparent tabletop interface for multiple users on lumisight table. Proceedings of the First IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP ’06).
Kim, M.J. and Maher, M.L. (2007), Collaborative design in a tabletop system employing tangible user interfaces. Proceedings of the 11th International Conference on Computer Supported Cooperative Work in Design
Lee, J., Lee, J., Kim, H. & Kim, J-I. (2007), Believable interaction with a quasi-tangible tabletop interface. Comp. Anim. Virtual Worlds 07; 18: 121–132
Liarokapis, F. (2007) An augmented reality interface for visualizing and interacting with virtual content. Virtual Reality. 11:23–43 .
Patten, J., Ishii, H., Hines, J. & Pangaro, G. (2001), Sensetable: A wireless object tracking platform for tangible user interfaces. Proceedings of CHI 2001, March 31 - April 5, ACM Press.
Pattison, S., (2008), Seeing things. London: SCM Press.
Saffer, Dan. (2005), The role of metaphor in interaction design, Carnegie Mellon University Thesis.
Scott, S. D., Carpendale, M. S. T., & Habelski, S. (2005), Storage bins: mobile storage for collaborative tabletop displays. Applications of Large Displays. IEEE Computer Society. June/July.
Toney, A. & Thomas, B. H. (2006), Considering reach in tangible and table top design. Proceedings of the First IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP ’06). IEEE Computer Society.
Ware, C., (2008). Visual thinking for design. San Diego: Morgan Kaufmann.

Subscribe to: Posts (Atom)