DesignAday

My name is Jack Moffett. I am an Interaction Designer with over ten years of experience. According to Herb Simon, that makes me an expert, so I must have something worth sharing. I have started this venture as an exercise to spur critical thinking about my chosen profession. I hope that others may find it thought provoking as well.

DesignAday will present a brief thought about Design every weekday.
Oct 21
Permalink

Robustness

Software is said to be robust when it performs well under unexpected conditions which stress the designer’s assumptions, as well as under normal conditions.

So says Eric Raymond in his book The Art of Unix Programming. A user interface could be considered robust when it predicts the ways in which various people will attempt to carry out their tasks.

For example, if I wanted to move this sentence to the beginning of my post, there are several methods I may attempt to do so. I would first have to select the sentence. I could accomplish this by inserting my cursor at one end of the sentence and then shift-clicking at the other end. This works in both directions. I could also click at one end of the sentence and drag to the other end. Once selected, I could choose “Cut” from the “Edit” menu, insert my cursor at the beginning of the post, and then select “Paste”. Or, I could press Command (Control on Windows) X on the keyboard and then Command V. Or I could right-click the selection and use the same commands in the context menu. Or I could click and hold on the selection for a brief second and then drag the text and drop it where I want it.

The result of a robust user interface is that users will consider it to be intuitive. They will say that it is easy to understand, because it did what they were expecting it to do.

Comments (View)
Oct 20
Permalink

In the Details: The Long Scroll

When dragging within a window, standard behavior dictates that when the cursor contacts the edge of the window, the page will scroll. This allows objects to be dragged to a location that isn’t currently in view, or a selection to be made that extends past the window’s edge. There are a couple of different methods for accelerating that scrolling. For example, when creating a selection with the marquee tool in Photoshop, the farther the cursor moves outside the boundaries of the window, the faster it will scroll in that direction. On the other hand, when dragging folders in OS windows, there is a narrow area inside the border of the window within which dragging will cause scrolling. The closer to the edge the object is dragged, the faster the scrolling will be.

The problem with the selection dragging is that a window will often be right against the edge of the desktop. If such is the case, it isn’t possible to move the cursor outside of the window, so the window scrolls very slowly. This can be painful if you are trying to select several paragraphs of text, or if you are at a high zoom level.

Comments (View)
Oct 19
Permalink

Tales from the Field: Technical Information Lifecycle

When using a printed manual, there is no easy way to report errors found in the field back to the authors, and updates are costly and infrequent. Whether through workflow integration, or a simpler, message-based approach, a well-designed system makes it quick and easy for a technician to enter a discrepancy report, automatically including the current context. When properly integrated with authoring tools and an update mechanism, the system supports an entire technical information lifecycle that keeps a technician’s resources up-to-date.

A major automobile manufacturer, for example, must ship a box of CDs to every dealership each month to update their technical manuals. That means that somebody at each dealership must sit down and feed those CDs into a computer one at a time to update the software. Thousands of man hours could be saved by an incremental, automated update system, not to mention the production and shipping costs.

Comments (View)
Oct 16
Permalink

Foiled Again!

Please excuse me for wrapping up the week with another post related to my new MacBook Pro. It probably seems rather quaint to all of you that have been using laptops, but I am rubbing my wrists, freed from the shackles of a desktop, so it’s on my mind.

I’m on a short business trip and will be participating in a meeting with a customer. I have a few slides to present and can finally do it from my own laptop, rather than handing somebody else a thumb drive. I stopped at Tyson’s Corner on my way here to visit, as I understand it, the very first Apple Store and pick up a mini display port to VGA adapter, so I can plug into the projector. I happily created my slides in Keynote, instead of that other program, and I purchased the Keynote Remote iPhone app. It’s a nifty little tool that lets me control the show over a WiFi network. You just swipe to change slides backwards or forwards. It also displays your notes, if you need them.

I was quite satisfied with myself. Then I realized that my meeting is on a military base. I’m not allowed to have my phone in the building.

I guess I’ll just have to do it the old-fashioned way.

Comments (View)
Oct 15
Permalink

In the Details: Lefty

I was working on my new MacBook Pro today and connected my mouse—there’s no way I’m using a trackpad to do real work. All of the ports on this model are on the left side (as you face it). I’m right-handed, so my mouse cord had to wrap all the way around the back of the laptop. The cords on Apple’s mice are designed to be the perfect length to plug into a port on the back of the keyboard and no longer. It made it around, but I was constantly pulling on it, like a dog on a short leash.

So, is the USB port placement sub-optimal, the mouse cord length stingy, or should I take the blame for using a corded mouse when the best solution is obviously to buy a wireless mouse and throw money away on batteries?

Comments (View)
Oct 14
Permalink

Lap Happy

For 18 years, I’ve been using Mac desktop computers. I started on an LCII, then got a PowerMac 6100/60. After that was an 8500, followed by a G4, a G5, and finally the Mac Pro I’m writing this on. The Macs I’ve used at work have followed a similar path, although there was a Cube in there. My G5 at work was getting long in the tooth, and it finally came my turn to upgrade. This time, I opted for a MacBook Pro.

There are a number of good reasons behind this decision, and they can mostly be covered by explaining why I have never been interested in a laptop before. Power was a significant factor in the past. Processor speed, memory, and drive space were all concerns that are no longer an issue. The biggest reason has been screen real estate. I’ve been using two displays at home since I put a second video card in the 8500. I started using two displays at work about 7 years ago. I just can’t get along with a single display (although Spaces helps). Of course, the Mac laptops drive a second display now. In fact, the 15.4” widescreen display on my new MacBook is higher resolution than the cheap, 17” Dell LCDs I have at my office. Finally, I’ve been attending more meetings than I used to, and it’s inconvenient to have to take everything I think I’ll need on a thumb drive and then ask to use somebody else’s PC laptop to show my slides. It’s even a little embarrassing at times to be the only one at the conference table that pulls out a legal pad to take notes. I’ve had customers rib me about it on multiple occasions.

So now I have a laptop, and I’m realizing all of the accessories I need to get for it. I just ordered a bag, a mini-display port to VGA adapter, and the Keynote iPhone app. Let me know what else I need.

Here’s to going mobile!

Comments (View)
Oct 13
Permalink

10/GUI

Clayton Miller has posted an intriguing concept demonstration for multi-touch interaction as applied to traditional desktop systems. Rather than turning our monitors into touch screens, he suggests adding a large trackpad capable of sensing all ten fingers. This gets around the major problems that he points out as the primary roadblocks to touch interactions at our desks: fatigue from non-ergonomic techniques and occlusion by our own hands.

Clayton’s video artfully explains the problems he is trying to solve, the rationale for his approach, and both the hardware and software that form the solution. As such, it is a much more effective presentation than those recently released by Microsoft.

I can certainly see this concept in use. The track pad on Apple’s Macbooks is moving in that direction. However, I’m of the belief that one of the greatest benefits of a touch interface is direct manipulation. Clayton’s solution is still just as indirect as the mouse—just with nine more cursors. We can learn to type and play the piano without seeing what our fingers are touching due to the static placement of the keys and the tactile feedback they give us. Clayton’s pad would offer neither of these, and I imagine it would take a lot of effort to become proficient in its use.

Finally, I have to wonder about its actual utility. He presents a good case for its usefulness in managing windows, but that’s not what I use a computer for. I don’t sit down at my Mac thinking, “I’m going to move some windows around.” I use my computer to pay bills, prepare to teach my class, specify UI designs, and write blog posts. How will 10/GUI help me do those things more efficiently? I’m not saying it can’t, but I’d like to see it applied to more important tasks. Managing desktop clutter is just a place to start.

Comments (View)
Oct 12
Permalink

Tales from the Field: Durability

An average day for a mobile field worker will find him in any number of conditions, including extreme temperature changes, indoor and outdoor locations, low lighting, loud noise, tight quarters, roofs, and crawlspaces. They must climb ladders, negotiate catwalks, and navigate potentially hazardous areas tracing electrical lines and gathering data. They get their hands dirty with grease and particulate matter. The mobile computer that accompanies technicians must be able to withstand these conditions, as well as being bumped and dropped, and survive dirty fingers.

    There are also locations in which electronic devices can cause explosions. Certain areas within oil rigs and refineries are examples of such, where flammable gasses and vapors are a concern. Equipment intended for use in potentially explosive atmospheres must meet intrinsic safety standards.

    Furthermore, the field workers must dress for the environment. They may be wearing eye protection, ear protection, or heavy gloves. They may be carrying a lot of bulky, heavy equipment around with them. These are all important factors that play into the overall context that must be taken into account when designing a solution. They can have significant impact on the choice of hardware and the design of the software.

    Comments (View)
    Oct 09
    Permalink

    JavaScript Dialogs Must Die

    There are three types of JavaScript dialogs: prompts, alerts, and confirms. A prompt displays a field to collect information from the user, while alerts and confirms can only display messages. An alert box has a single button labeled “OK”, while a confirm provides both “OK” and “Cancel”.

    Developers tend to be rather fond of these boxes because they are so easy to implement. Unfortunately, they are not optimal methods by which to communicate with the user. Let’s take a simple confirmation dialog for example. We’ll say that the user has just pressed a button that will delete something. Assuming there is no undo feature, best practice is to display a modal confirmation dialog that asks the user if they are sure they want to delete it. Because the button labels are not customizable, the message must be written as a question that can be answered with “OK” and “Cancel”. So, you end up with a message like “You’re about to delete something. Are you sure?”

    I typically specify custom alert dialogs that are implemented as divs. This gives me the freedom to state the message as I see fit. More importantly, it allows me to customize the button labels to be more specific to the action the user is completing. Let’s face it, we’re often deluged with dialogs, and we tend to quickly dismiss them without reading them word for word. I’m much less likely to make a mistake if the button is labeled “Delete”, rather than “OK”.

    Finally, the dialogs can become much more useful than simply confirming an action. For example, if the item being deleted is a node in a hierarchy containing other items, I could specify a dialog that provides specific options.

    The node Foo has the following children:
    Fee
    Fi
    Fo
    Fum
    (Delete Node and Children) (Delete Node Only) (Cancel)

    The ease of implementing a JavaScript dialog is no excuse for poor usability. The flexibility to provide tailored messages, button labels specific to the actions they perform, and additional actions makes the extra effort worth it.

    Comments (View)
    Oct 08
    Permalink

    Page Mess-up

    The very first project I was assigned in Visual Interface Design during my first semester of graduate school at CMU in 1996 was to redesign the QuarkXpress print dialogs. There were several different dialogs that were accessed individually from the File menu. My solution combined them all in a single dialog where options were grouped based on whether they applied to the page, the printer, or were specific to offset printing. You could choose Print from the File menu and have access to all of the options, rather than having to change a few settings in one dialog, close it, and open another to specify something else.

    It still aggravates me today every time I use an application that doesn’t allow me to change the page orientation in the Print dialog. Sometimes a button will be provided that will open the Page Setup dialog where you can do this, but sometimes I still have to cancel out of the Print dialog and select Page Setup in the File menu. Take the Print dialog from the most recent version of Adobe Reader, for example.

    It does have an option to “Auto-Rotate and Center”, which orientates the page based on the orientation of the document you are printing—and this is typically what I want to do—but it doesn’t allow me to specify the page orientation otherwise. To do that, it’s another trip to the File menu.

    You would think that in 13 years this little problem could be solved.

    Comments (View)