Sunday, March 28, 2010

The Inmates are Running the Asylum: Chapters 8 - 14


Comments

Summary
In the second half of The Inmates are Running the Asylum, by Alan Cooper, he starts giving examples of ways to fix the interaction design problems faced in software development that he presented in the first half of the book. His most important points are below:
  • Persona Design: Interaction designers focus on developing not for all possible users but instead for a few specific "personas", or model users. These personas are specified as much as possible; each one has a name, background, occupation, and reasons why they would be using the software. Designing for personas allows the programmer to only develop features needed and make the program easier to use and address the users' needs.
  • Designing for Goals: Programs should not be designed solely to allow a certain task to be performed; they should be designed to meet a user's practical goals. This means goals that they want to accomplish on a daily basis (while ignoring the edge cases), and also personal goals that they want followed when using the program (for example, not being made to feel stupid).
  • Interaction Design First: You must let interaction design happen first before the programming happens, and not be tacked on at the end. And this does not mean just simple user interface design; interaction design tackles the deeper issues of how the program interacts with the user and the choices that the user has to make.
  • Give the Designer the Responsibility: The interaction designer must have "skin in the game" and be given all the responsibility of the program. They design the program, create the specifications, and give it to the programmers. Since the programmers aren't responsible for the interaction with the user and the success or failure of the product, they will follow the design document much more closely.
In general, Cooper says that design must happen first, and must be given as much time and resources as needed. If you do this, then the time and money spent during development and programming of the product will be reduced, and your product will be much more successful. He illustrated these concepts using many examples from his design experience with his own consulting firm.

Discussion
I liked the second half of the book much more because of the fact that he stopped accusing programmers of being so horrible and actually gave sensible ideas on how to fix the interaction design problem. I especially liked the idea of designing for a specific persona - it definitely seems that you will have a much more successful product if you design for and completely satisfy one type of person, and it follows that you will also make people sort of similar to them happy as well. I liked the examples that he gave of his design experience, because they accurately illustrated his concepts, but sometimes it got a little too much and sounded like he was trying to convince us to call him up to come solve our design problems. Again, this book was written in 1999 and a lot of the issues (with Microsoft especially) have been fixed and we're facing many different interaction problems today with new technology such as touch.

Wednesday, March 10, 2010

Towards More Paper-like Input: Flexible Input Devices for Foldable Interaction Styles

Comments
Kerry

Summary
In Towards More Paper-like Input: Flexible Input Devices for Foldable Interaction Styles, the researchers (from Queen's University) present a new form of input with foldable interactive sheets in which the user deforms the sheet to produce input to a device. Deformability of the interactive sheet can directly mirror the actions available on the interface, and mimics the physics of real sheets of paper. This Foldable Input Device (FID) looks and behaves like a a mouse pad, and consists of cheap sheets of cardstack and paper with IR retro-reflectors, tracked through an IR webcam. The computer that is connected to the sensor camera is equipped with C++ and OpenGL so that the deformations of the FID can relate to real-time graphics manipulations on the computer.
Interactions with the FID include swiping your thumb across the device, scooping, folding down the top corner, folding down the middle, squeezing, shaking, or leafing (like leafing through the pages of a book). These are shown in the picture below:

The applications for this type of input system are very great. You could navigate around a desktop by sliding the FID around on a table, selecting items by hovering over them then making a scooping motion with the sheet, leafing to browse through a list of items, shaking to re-sort a list, or zooming in and out by bringing the FID closer to or farther from a display. On the screen, there is a graphic (transparent) that hovers over the application, and represents the current shape and size of the FID so that the user can see what their actions do in relation to the application.

Discussion
This interface seems to follow the endless list of new input devices that completely rethink the way we interface with computers and devices. The problem is that I fail to see how easy or intuitive it would be to move a sheet of paper around and use it to select things on the screen, when I can just as easily use a mouse to select an area. The main problem with these new devices is that the general public must learn to not rely on physical feedback (such as physical clicks and the noise associated), and learn to use these other devices. I know that touch-screen interfaces are probably the future of computer interaction, but as of right now, I do not find it intuitive because I am not clicking and using a physical device. It will take some getting used to if we move all interaction to touch-screen.

Tuesday, March 9, 2010

OctoPocus: A Dynamic Guide for Learning Gesture-Based Command Sets

Comments
Nate

Summary
In OctoPocus: A Dynamic Guide for Learning Gesture-Based Command Sets, Olivier Bau and Wendy E. Mackay present a new dynamic guide that combines on-screen feedback to help users learn new sets of gestures to control their devi ces: OctoPocus. It can be applied to lots of different single-stroke gestures, and helps users smoothly learn the set with as little effort and time as possible. Their goal was to not focus on making the gesture-recognition algorithm better, but instead teaching the users to perform the gestures correctly so that they can use any algorithm.

The program focus on using "dynamic guides" to help the user learn the gestures. This consists of feedforward information, which explains to the user the current set of options, and what the gesture should look like if completed correctly, and feedback, which explains to the user how well the current gesture has been recognized. OctoPocus only appears if the user has hesitated, so that expert users can continue to work without being interrupted by an annoying explanation interface. When a user hestitates, the system reveals each gesture's intended path, and also feedback on how well the user has done the gesture thus far. If more than one gesture has the same initial stroke, the system will show the possible options from that current point in the gesture, as shown in the picture below.





After doing user studies with the system, the researchers found that users liked the system and were able to learn and execute gesture-based commands much more quickly than other help systems.

Discussion

I thought this seemed a little out of place, because I can't think of any current gesture-based systems where you make gestures to choose options. While touch-screen phones have gestures to zoom in or out, or move menus around, they usually have dedicated touch-screen buttons to execute commands. But, as I know that all input systems seem to be going towards touch-screen in the future, then we may possibly need these help systems for learning complicated gestures. I especially liked the idea that experts can go through the gestures quickly without being affected by the help system, because I know that if it always showed up then I would get tired fast!

Edge-Respecting Brushes

Comments

Summary
In Edge-Respecting Brushes, Dan R. Olsen Jr. and Mitchell K. Harris outline a new form of paint brush for painting programs (such as Adobe Photoshop) that is edge-detecting; that is, it identifies and paints around or along edges of an existing image. This edge-respecting algorithm combines both intelligent selection and applying affects to an image to allow the user to paint around, or over objects. For example, in the picture below, the user can use the edge-respecting brush to paint only the skin of a person in an image, or paint the background of a portrait another color without having to go through the tedious process of selecting only the section that they want to paint.


This brush works more effectively than the traditional fill paint can, which will fill down the the pixel of boundaries, allowing for leakage into other parts of the picture. This brush will allow for breaks in lines, and fill in only the part the user wants to paint. This allows for users to quickly fill in areas in a cartoon image for example, or change the color of an object in a picture quickly and easily. The brushes also extend to other non-painting tools, such as the brushes that apply blur to the picture or lighten or darken an area. When the user clicks the mouse, the algorithm fills outward using Dijkstra's algorithm (like normal flood fill), but terminates the recursive calls whenever a pixel that is a neighbor exceeds some given threshold. In normal flood fill, the algorithm terminates at the first pixel that is different from the mouse click pixel, even just by an unnoticeable amount of color difference. When users tried out this new brush algorithm, they felt it was must easier to use, quicker, less tedious, and more intuitive than the traditional selection - fill algorithms.

Discussion
This better come to Photoshop soon. This is possibly the most important innovation for computer painting systems because sometimes when editing pictures that are lower quality, fill areas may have smaller variations in color (like not all white, but some light grays as well). Usually I have had to paint the area manually zoomed in really close because the flood fill tools left out most of the fill area (because of the small color variations). This brush would make everything so much easier, and make photo editing much faster. Users that do not know all of the tools of Photoshop or other photo editing programs would find this more accessible and easier to use, especially for the newest novices.

Fixing the Program My Computer Learned: Barriers for End Users, Challenges for the Machine

Comments

Summary
In Fixing the Program My Computer Learned: Barrier for End Users, Challenges for the Machine, the researchers focused on the field of machine-learned programs, in which the computer takes measurements of user interaction and learns things from them, in order to make the program better suit the user. But, as the machine could learn the wrong things and have errors, the program may not work as well as it is supposed to. The researchers in this paper wanted to provide a way for users to debug and fix errors that have been "learned" into the knowledge base of a machine-learned program, and make this debugging process as easy and stress-free as possible.

The goal of this paper was to discover the issues faced when debugging learning systems, including the gender differences in debugging, and common issues faced by users in the process. They produced a prototype email application that learned from the way users sorted emails, and would archive and sort emails into folders based on past user actions. The debugging process in this prototype made sure to explain the logic behind the sorting of emails, so that the user can directly change and debug the logic of the program. The program allowed the user to ask the system questions such as "Why was this email filed in Personal?", or "Why is this email undecided?", and in this way they can directly change the logic.

Doing a study with the system (with half males and half females), it was found that the barrier most encountered was the "selection" barrier, which meant that they had difficulties choosing the right words or messages to modify to give feedback to the system, but they also encountered "coordination" barriers, which meant that they didn't know how their feedback would help change the learning process of the computer. Females in general had more barriers that they encountered than males, although males were more vocal in talking through their barriers.

Discussion
I thought this was an interesting way to debug a program. It would be really nice if I could ask my program when it crashed with errors what happened, and have it answer in English directly and explain to me what the error was. Especially for users that are not from a technical background, they can still tweak the performance of their programs and make them do exactly what they want to do, instead of having recommendation programs that continually recommend a movie or music that you don't really want to experience.