Thursday, April 30, 2009

Inmates Are Running the Asylum

// Comments

The Inmates Are Running the Asylum
Alan Cooper

This book is essentially about the meaning of programmers and managers and their role in the design phase. Alan Cooper starts of by stating that anything combined with a computer is, in essence, a computer. Thus, the people who make the programs that run on those computers have the very important task of ensuring that the computers will be completely functional, but on the side, they also have to design the user interface. Unfortunately, the programmers are not the people that should be the ones designing the user interface. Programmers are really good at one thing, and one thing only. 

The problem is that the design process is delegated to those who do not know how to design. The solution is to have a team of people dedicated to only the design process. By outsourcing the design process, programmers and management are free to do what they do best and the finished product is then more consumer friendly.

I feel this idea is SOMEWHAT true. Programmers and managers certainly are not good interface designers, but they know what is possible and what can be done. There should be a separate team that does the designing, but it has to at least consist of a programmer and manager. It would be more beneficial to have programmers and managers that are no associated with the actual product. If they are working on the product as well, they we are back to square one and that's what we are trying to get away from. 

Overall, I felt this is a very good book about the truth in the design process. This is a MUST read for all programmers and managers or anyone working in a similarly related field. 

Sunday, April 26, 2009

SLAP Widgets

// Comments

Malte Weiss, Julie Wagner, Yvonne Jansen, Roger Jennings,
Ramsin Khoshabeh, James D. Hollan, Jan Borchers

SLAP (Silicone iLuminated Active Peripherals) are the solution to the need for tactile feedback peripherals on large multi-touch tables. Currently, many multi-touch tables do offer some kind of on screen input, but do not offer any tactile feedback. There are some implementations of physical widgets, but they do not have the same degree of freedom to manipulate as SLAP. By using silicon to make the peripherals, the display for each peripheral can be dynamically changed in different situations. The multi-touch table uses a combination of infred technologies as well as a camera with infrared filter and computer vision to detect reflected light. This combination allows for the sensing of the position and surface pressure of each peripheral.
Top view
Bottom view

The exact position of each widget is calculated by looking at the position of reflective tape on the underside of each widget. Touches and changes to the widgets, such as turning a knob are tracked to update the state of each widget. 

After being placed on the table, widgets must then be associated to a virtual object. This is accomplished through a double tap action. If successful, a green halo appears around the widget, otherwise a red halo flashes to indicate a problem.  If a widget is removed from the table witout removing the association, when it is returned to the table, it will hold the same previous association.

Applications interact with the widgets through the multi-touch framework and SLAP User Interface Toolkit. The multi-touch framework provides the position for each widget and the SLAP UITK provides the functionality. Developers only have to create a virtual SLAP object to work with the widgets. They can also develop their own widgets with the toolkit if they wish.

Dynamic keyboard widget

By making the widgets of transparent silicon, developers are not limited to what can be displayed for each widget. The keys on a keyboard can be changed to something that would be more useful to the user in different situations. The other widgets can be just as easily changed as well. 

Typical layout of widgets for video editing.

An excellent example of usage would be for video editing. The different widgets can be used as above to give the user more control over the location of their tools. Using this scenario, a set of tests was devised to determine the usefulness of SLAP. 9/10 users said that SLAP widgets were very intuitive to use. Some said that the lack of auditory feedback was a minor problem, especially for the keyboard. Overall, participants prefered using SLAP widgets to their virtual counterparts.

Personally, if I had a large multi-touch table to use, I would probably prefere to use the SLAP widgets as well. I have a cell phone that has a traditional slide-out keyboard and a virtual one on the screen, and I would rather use the real keyboard because it provides a tactile feedback and feel for the keys. It is more intuitive to use than the virtual one where I have to actually look where I am pressing.