I recently found a great set of stencils for wireframing iPhone apps and mobile websites in Visio. The stencil set was created by Jonathan Abbett of Beacon 16 and is available under a Creative Commons License.
The stencil shapes include:
Four and Five Button Tab Bars
If you need a higher fidelity GUI design toolkit for iPhone and iPad, Speckyboy Design Magazine published a great list of resources last year. If you need to illustrate touch gestures in your wireframes, Luke Wroblewski maintains a Touch Gesture Reference Guide on his website.
I recently developed a small prototype for usability testing of some new mobile website functionality using Axure RP Version 6. Here are a few things I learned:
If possible, use Axure RP Version 6. It has mobile settings under the Generate Prototype menu that will save you from having to manually add to each page the HTML viewport meta tag every time you generate a new prototype. Screen shots of the settings panel are at the bottom of this post.
Generate separate viewport tags for iOS and Android browsers like below:
For iPhone, you can design your prototype at 320 pixels wide for older devices. iPhone 4 will scale it up to 640 pixels wide so the prototype has the same appearance no matter what version of the iPhone your participant is using.
For Android smartphones, design the prototype at 480 pixels wide. Tablets are another story and my testing did not include them.
To create accordion effects on interface widgets, a common design pattern on mobile websites, you can use Dynamic Panels and Axure’s OnShow event with the Move action. See the advanced dynamic panel tutorial on Axure’s website.
If you are opening the prototype on an iPhone from a home screen icon and want to hide the URL bar, use this meta tag: <meta name="apple-mobile-web-app-capable" content="yes"/>
Test on as many target Android devices as you can. The Android viewport tag worked on most devices I tested, but not all. The differences in Android pixel density and screen resolution necessitate more testing than is needed with Mobile Safari on the iPhone.
Keep in mind you are building a prototype. It doesn’t need to work perfectly on all devices if you can just ask the test participant to zoom in during the session if needed. You should be explaining that they are interacting with a prototype as part of the test script so this should not be a problem.
I finally took Edward Tufte’s day-long information design course last week. Tufte, long a thought leader on the topic of graphically showing quantitative and scientific data, shared his principles for displaying this evidence in any media. Here are my notes:
Designers of data displays, either printed or online, should strive to reduce the time it takes to learn the display format and increase the time the reader devotes to thinking about the data.
Use “small multiples“, repeated use of the same type of graphic, to reduce learning time. Once a person figures out how one graphic is read, they know how to read all the graphics.
Charts and other graphical displays should always tell stories. This often involves displaying information using a time scale.
Data displays should supply context as well as information. A price increase from one year to the next tells little unless it is shown in the context of the past five or 10 years.
Multi-variate data graphics supply the richest context and tell the best stories. Price increases (or declines) shown over time and compared to wage increases (or declines) for the same period tell a much more powerful story than simply showing the price increase alone.
Keep “chartjunk” and “chartoons” to a minimum. Embellishments like gradients or patterns for the backgrounds of charts and graphs only get in the way of the information. Designers should strive for a high ink to data ratio.
If content in a display needs to be compared to other content, put the two chunks of content next to each other. It’s unreasonable to ask a person to go back and forth between web pages or printed pages when trying to compare two or more things.
Using area to display quantitative data is a risky proposition. Unless the scale of the area of all diagram elements exactly matches the scale of the data, the graphic is lying.
In a related thought, the only thing worse than using a pie chart to display quantitative data is using multiple pie charts. It is impossible for people to figure out what percent of the whole is represented by the pie pieces without the numbers being displayed on the slices. And if you need to display the numbers, why not use a simple table instead.
When designing line and bar charts, don’t place a legend off to the side. This forces people to have to scan back and forth between the graphical element and the legend. It is better to put the notation near the elements in the graph itself.
A graphical user interface should be “invisible” so that people can focus on the information. If we as designers do our jobs correctly, people won’t be aware of our work.
I’m sure there are points I missed. All of Tufte’s principles are covered in four of his beautifully produced books that came with admission to the course. They are themselves examples of Tufte’s principles.
Saturday was Day 2 of the Mobile UX sessions at Nielsen Norman Group’s Usability Week in San Francisco. The focus was on designing for touchscreens. Here are my notes:
Allow Users To Go Back and Undo: Make sure users can compensate for accidental taps. Have them confirm any action that would delete their data, erase their work, or process a transaction.
Don’t Force Users To Change Device Orientation: Whether your app is a content app like the New York Times or a utility app like American Airlines make sure it can adjust its layout to however a person is holding their device.
Pad Those Links And Buttons: Padding a widget can improve people’s accuracy in clicking it. For example, if you display an product image and description in a list layout, make the whole row clickable, not just the image or the text.
Padding Can Prevent Errors, But Won’t Increase Efficiency: In cases where you have a clickable invisible padding area around an object, people will still slow the movement of their finger as it approaches the target. Because they don’t know the target is actually larger, they treat it like it is smaller. Fitts’ law is still on the books.
Pad Links On Your Wired Site If You Want It Used on Tablets: Many site managers have learned that iPad and other tablets owners are using their wired sites instead of the mobile versions that were designed with smartphones in mind. See Yahoo!’s tablet site for cues on how a wired site can be tweaked to work on a touchscreen tablet.
Avoid Localized Swipes: When a left or right swipe only changes one horizontal section of a screen, it confuses people as to what the gesture does. Localized swipes don’t match real world movement, in which pushing something moves the entire object, not a portion of it. Don’t make your app a stack of independent carousels.
Provide Cues To Unseen Functionality: Gestures are great for maximizing screen layout but can be undiscoverable by new users. The convention of pulling down on a screen to refresh content that Twitter and other mobile sites use is hidden from the view of new users. Provide cues to new users to help them learn these gestures.
Don’t Rely On The Accelerometer For Navigation: People who are new to more advanced mobile devices may not even know about “shaking” as a means for input. Others may find it clumsy or uncomfortable. It’s OK to use the accelerometer, but don’t make it to sole means for input. Urbanspoon’s iPhone app is a good example of an app that uses the accelerometer but also has a big red button.
Use Sliders With Caution: Sliders as interface controls are imprecise. Don’t use them if the person has to get to an exact value.
Tablets Are Not Smartphones: Don’t be afraid of rich interactions on iPads and other tablets. Tablet users are not “on the go” in the same way as smartphone users.
Design A Distinctive Home Screen Icon: Make your app’s icon distinct so it can be recognized on a crowded home screen. If people have to remember your app’s icon, they may never click it.
More Is Often Less: Adding features to your mobile app doesn’t always make it better, especially if they add too much complexity. Add features of they make sense in a mobile context, not just because they exist on your wired site.
Today was Day 1 of the Mobile UX sessions at Nielsen Norman Group’s Usability Week in San Francisco. Here are my notes:
Design For Interruptions: Since mobile usage is out “in the wild” you have to assume interruptions will happen. Support auto-save and user initiated saving of work. Remember what people type into form inputs and never make them type the same information twice.
Design For Continuous Experiences: If users can enter information or save things on your wired site, make sure they can access that information on your mobile app/site. And also let them save and add information on the mobile version that flows back to the wired site.
Reduce Interaction Cost: Anything you can do to remove typing reduces interaction cost. Even on the most advanced mobile device, typing is annoying at best (I know this because I’m writing this on an iPad). Whenever your design asks a person to type, ask yourself if there is another way to get this information other than the device keyboard.
Make Designs Self-Sufficient: Don’t make people have to leave your app/site to get a necessary piece of information. For example, if your site is a banking site that only processes transactions on business days, don’t offer a date picker that includes weekends or holidays. If someone has to get into their device calendar to check if June 19 is a weekend, they may not get back to the same place in the transaction and may have to start over.
Don’t Force People To Rely On Memory: Don’t send people an email with a cryptic promotion code and then send them to a site where they have to remember that code. Pass the code in on the URL if they click anything on the email and keep it in memory for the length of their session. If they have to go to their email when presented with a promo code input during checkout, they may never get back to complete the transaction.
Preserve Session State Throughout The Visit: Don’t let people click a Save to Favorites icon from a search results screen and then send them back to a screen where they have to reenter their search term(s) to get the same results list. Remember what they were doing and get them back intact when they go down alternative paths. And provide them a way to easily start a new search if indeed they are done with their previous search.
Remember People’s History: Don’t make people reenter information they already provided. If someone enters a zip code or selects a gender while shopping for shoes, persist that throughout their session (at a minimum). There’s little that’s more annoying than having to reenter information on a mobile keyboard.
Day 2 of Mobile UX is tomorrow. The focus is on touchscreens. You can follow the live tweets at #nnguw.
Sometimes you just want your menus to have a drop shadow. So in an effort to push the fidelity of an iRise simulation to a higher level, I recently created a simple menu Master that uses sections to display the kind of drop shadow you’d normally handle with CSS3. It was a little more labor intensive than CSS, but fairly easy to do once the menu bar was laid out.
To make the menus as easy to maintain as possible, the drop shadows are applied in the Master and the shadow color is handled in the Style Manager. Mouse events are used to toggle the drop shadow sections on and off with their associated menus. The screen capture below shows everything you need to know to mimic the effect of CSS3 drop shadows. And if you wanted an even richer display using rounded corners and a gradient drop shadow (like Mac OS X) , a transparent PNG could be used.
For the most part the interface is consistent with the Windows version. I was able to create projects in both Mac version 8.7 and Windows version 8.6 and open and modify them in each other. The Mac version has support for iBlocs, although the interactions for setting widget properties was a little wonky and unintuitive at first (at least for the iframe iBloc I tested). Datasheets, masters, and other functionality was working as expected.
The biggest bug I encountered was hidden fields not passing values in both Safari 5.0.5 and Firefox 4.0. This is a major bug for me because I frequently use hidden fields to pull datasheet values on to a page without displaying them and then pass them through to other pages on link or button clicks to maintain state within a simulation. Hopefully this one gets fixed soon. The other major functionality missing is no connectivity to the Definition Center, iRise’s central repository for shared projects. This is completely understandable as I imagine the development team is focused on getting Studio stable before tackling Definition Center.
All in all, I’m impressed with the alpha so far and am glad to see iRise finally adding support for the Mac.
Eye tracking equipment maker Tobii recently demonstrated an experimental laptop designed in collaboration with Lenovo that uses a person’s eye movements to interact with the computer’s user interface.
The interactions involve combining mouse clicks or keystrokes with eye movements to provide an enhanced user experience. The eye tracking dimension of the demonstration shows that eye movement would be used to complement, not replace, keyboard and track pad input from the user’s hands. Anders Olsson of Tobii demonstrates in the video below the modified Windows 7 user experience.
Tools meant to make things easier for people shouldn’t slow them down. I ran into this situation when I was signing up for a webinar through GoToMeeting this week and tried their Show in my Time Zone features since the meeting was scheduled using Pacific Time.
Clicking a link exposed a layer with a select menu of different time zones, but they all led with the offset from GMT, such as (GMT-06:00) Central Time (US and Canada). So the user has to shift their focus to the middle of the options to scan the list for the first characters of meaningful information. Why not format the list as: Central Time – US and Canada (GMT-06:00)? It’s admittedly a small detail, but as Charles Eames said, “The details are not the details. They make the design.”
I attended a fascinating lecture tonight on product design given by Kevin Henry, an associate professor of design at Columbia College in Chicago. Henry’s talk explored techniques industrial and interactive product designers can use to visualize their designs and visions.
While his talk, organized by the Chicago chapter of the Interaction Design Association, focused heavily on industrial design, it also looked at how interaction design techniques like sketching and prototyping play important roles in product discovery and envisionment.