Thursday, January 29, 2009

Favorite Interface: Canon XSLR

Oddly enough one of my favorite interfaces (besides my ipod touch) is control system for my Canon XS dslr.

Now obviously there is a fair amount of learning that must be done if you are completely new to cameras and digital cameras.  But compared to several digital cameras I have used (particularly cheaper, snapshot digitals) this camera has one of the best and simplest sets of controls.

The key advantage of this camera is input mapping. When you are taking a picture and want to adjust any standard camera control (zoom, focus, exposure or f-stop) there is a button or input specifically for that function. On many smaller cheaper cameras which are geared for automatic function, you must dig through a series of menus on the camera to adjust those settings.

Another advantage is the inputs are not just labelled buttons. If you wish to change zoom, you don't just press a zoom button, you can actually physically control it with your lens. If you want to change the exposure length or f-stop there is an actual wheel mechanism that feels similar to using a standard film camera. Similarly, use of the flash is controlled by whether or not the flash mechanism itself is extended. If the flash is closed then the camera will not use flash, period. This is particularly nice when you are in a museum as you can know with certainty whether or not the flash will go off when you take a picture.

Another nice touch is that when switching through shooting modes (such as going from manual mode to full automatic) some inputs gain or lose constraints according to what you will probably want to do in that mode. For example in automatic mode the camera does not allow you to try to adjust any settings like exposure and f-stop and also does not allow you to do continuous photo shooting. If you are in automatic mode it is evident that you wish the camera to do all sensing and adjust accordingly, so you dont need to set any of those and won't need to take several shots in a row as nothing will change from one to the next. In manual mode, however, all the complex controls can be used, as it is supposed that the user knows what they are doing and wants to have this extra flexibility and risk (that the photos may be under exposed). Similarly continuous shooting can then be enabled in manual mode as the user will likely want to take photos while adjusting settings (if they want to bracket a shot for example.)

Design of Everyday Things: Summary


The Design of Everyday Things

Posted comment on Drew's blog

This book covers the psychology of daily human interactions with objects and how designers can use an understanding of this create better designs. It covers some basics of human explanatory systems, human memory and common ways the human brain can create errors. The book is replete with examples of designs that are either successful or fail at interacting with particular parts of the human mental system. At the end of the book is a summary of the design process with what amounts to a checklist for making a good human interface for your device or system.

I would have to say that the most enlightening and fascinating part of this book was the analysis of everyday interactions and the mental processes associated with them. I was particularly interested in the section on internal vs external memory as I see this as very important for software. If a piece of software can use concepts and mental models that are already used in other pieces of software it makes it much easier for users to learn new software. Then for concepts that are new the software can provide explicit written or visual clues as to how new, unknown functionality can be used.

This shows why it is so important for pieces of software to use mostly standard UI elements of the windowing system they reside in. I know as a mac user this used to be problematic, as very often pieces of software would be quickly ported from windows and would use windows-like interface conventions instead of switching to more Aqua like UI layout. In these applications none of the conventions that I knew were followed and so I had to learn a new set. Now of course if I had used Windows it would have all been very natural.

Another section I found particularly interesting was the discussion of forcing functions. The idea of forcing a user into a certain set of operations so they are unable to create errors is very useful. It is (or should be) very easy to apply this in software design and, with the advent of display input systems, hardware too. With devices such as iPods we can remove controls dynamically to make sure that only relevant input is possible. However that seems to be more the exception than the rule as very often software is engineered so that extraneous input is still possible. In some cases, however, the inclusion of forcing functions is entirely dependent on who will be using a system. For a novice user, we may want to allow them to perform only safe operations, whereas a more advanced user will likely want more power over the system at the risk of possibly damaging the system (perfect example being sudo.)

Thursday, January 22, 2009

On the concept of control mapping.

Random thought...
I just realized one of the worst (or best) examples of terrible control mapping:

Cable box remotes.

I was trying to set up my grandfather's tv/dvd/cable system a year ago. The cable guy had already come through and hooked everything up to 'work' with his cable box. He had even set up one of those universal remotes. Those things are TERRIBLE, for not only are there more buttons on them than are possible to count, but each button serves quadruple duty. There are something like four buttons across the top that serve as selectors for which device you would like to control, like CABLE, TV, DVD, or AUX. The only thing that tells you that you are on a particular device is a small red light next to the corresponding button.

Then, in order to begin watching tv you must go through a complicated routine. Switch the remote to the cable control to turn on the cable box, then switch to TV to turn on the tv. Now if you want to change channels you need to switch back to CABLE before pressing the channel buttons (labelled + and -). If you forget to do this then you will change the channel on your tv off of the channel that connects it to your cable box which in some cases won't seem to be a problem as you can still surf channels on your tv. However your speakers and DVD are hooked up through the cable box so if you want to use that and are on the wrong TV channel you are SOL.

In summary, too many buttons, too many functions, impossible to achieve what you want.