What’s in a name?

by David Hogue
February 10th, 2006

“That which we will call a…” Hey, just what are we going to call it?

Nomenclature, terminology, labels. What we call things and the names we use are very important, and deciding upon the “perfect label” can often be more difficult than we anticipate. As information designers and architects we are tasked with not only organizing information, but also often with naming it.

Sometimes the exercise is quite straightforward: developing a product catalog for an online toy store may be more an exercise in deciding whether building blocks are categorized as “puzzles” or ” learning toys” than in naming them “building blocks.” In either case, the label for the toy seems obvious. After all, we would not change the name from “building blocks” to “plastic construction units.”

But sometimes the nomenclature exercise is not as easy or straightforward. Sometimes we struggle with what to call something, especially when we are trying to decide upon a site’s navigation and interaction terminology, headers, subheaders, text links, and buttons. For example, should we call a section “Online Learning Center”, “Training Services”, or “Guides and Documentation”? Although each of these options conveys a similar type of content, each creates slightly different expectations about what information will be presented, the format of the information, and the extent and form of the interactions possible.

The labels and terms we use are very important, because they assist, guide, and inform visitors to our site (or users of our applications) and help them work efficiently and accurately. Poor nomenclature:

  • is ambiguous, incomplete, or even erroneous.
  • causes confusion.
  • causes frustration.
  • increases abandonment.
  • decreases credibility and trust.

Good nomenclature should go unnoticed, because site visitors do not have to stop and think, “What does this mean?”, “Where will this take me?”, or “What is going to happen?”, because it is immediately obvious and meaningful to them. There are a few practices we can put in place to help us develop better labels and more useful (and usable!) nomenclature:

  1. Use active language (e.g., “See the Ford Model T Specifications”) and avoid passive language (e.g., “More about the Ford Model T may be found here.”)
  2. Use familiar terms that are meaningful to the target audience, and try to avoid internal, (company or product specific) terminology (e.g., “Mental Health” rather than “Psychopathology” on a community health web site.)
  3. Use directive language that sets accurate expectations for the reader about what will happen and what will be presented when they follow the link or press the button (e.g., “Download the Update” communicates that the download will begin right away, whereas “Get the Update Here” is somewhat vague and may either start the download or take the visitor to another page.)
  4. Be concise. Long labels are more likely to introduce ambiguity, and there is almost always limited screen real estate to work with. Tooltips that show up on mouseover are a nice way to include additional, explanatory information if necessary. Also, eliminate any unnecessary words, for example, use “Read the full article” instead of “Click here to read the full article.” There is no need to write “Click here to…” as long as the link looks like a link to the visitor. If it does not look like a link, then make it look like one - do not fix it by adding “Click here.”
  5. Be consistent. The terminology, tone and voice, and grammatical structure should be parallel across the navigation system. If you are using active verbs in the navigation, then all of the navigation options should include them (e.g., “Search for Music”, “Listen to Music”, “Share Music”, and “Buy Music.”)

Reconstructing the User Experience

by David Hogue
February 1st, 2006

As information architects and information designers we spend a good deal of our time studying the organization of information. We dissect it, study it, and analyze it to discover the underlying structure. We create taxonomies, classifications, and categorizations to map out the relationships. We look for connections among disparate pieces and distinctions between similar pieces. We diagram it, visualize it, and try to give every piece a meaningful and unique name. We create navigation systems and site maps and architectures to capture and represent everything we have learned. We design page layouts, schematics, and wireframes to give everything a place to be seen. We try to put it all back together so that others can find the information more easily.

And often we fail.

Everything is findable, understandable, and logically organized. All of the pieces are there, the labels are meaningful, ambiguity is absent, and the prototype succeeded in testing, but site visitors and customers do not come. We have included everything they asked for, we have made it accessible, and we even made the connections among pieces for them, but they leave before they even get to benefit from our efforts. Our carefully crafted architecture and specially selected nomenclature languish, even though all of our test participants commented about how easy and efficient it was to complete the representative tasks we gave them.

We deconstructed the information to better understand it, but during the reconstruction process we left something out: the user experience. No matter how findable, accessible, or well-named the information is, if it is not wrapped in a desirable user experience, it will languish.

The whole is greater than the sum of the parts.

User experience is more than information design, visual design, and interaction design. We often use terms such as compelling, immersive, persuasive, and entertaining to describe a user experience, but where in our taxonomies, architectures, and wireframes do we represent these qualities? What color, shape, sound, or logo embodies them? What interface component facilitates them? Capturing and defining user experience is outside of any single design effort.

User experience is an emergent property. It arises from a wonderful convergence of good design (information, visual, and interaction), useful and usable information, and the intrinsic desires, needs, or motivations of our visitors and customers. To encourage a successful user experience (can we really ever say we create it?), we have to make the visitor or customer want what we offer, to make them feel they need it, and to help them enjoy themselves when they seek and use it.

How do we make information desirable? Not just by making it available, but by making it real. Show people how it connects with their lives, how it is useful and valuable, and how it can help them. When we reconstruct the information and make connections among the pieces, we also need to make connections between the value of the information and their lives and daily experience. We cannot stop at findability and usability. We must strive for desirability, for in the end, is it not our desires that are often the most motivating?

Fluid Nominated For Two Flashforward Awards

by Mark Belanger
January 12th, 2006

It’s with great pride that I announce two Fluid designed and developed projects have been nominated for Flashforward Film Festival Awards.

Both nominations were for RIAs we created. Under Best Application is the Build Your Own Boot application we created for Timberland. We were also nominated under Technical Merit for the RbkCustom RIA we created for Reebok. The Rbkcustom app has an extra cool feature. Even though the entire thing is Flash-based, we generate bit-for-bit perfect JPEG of the shoe you create that can be shared either via email or SMS.

Congrats to Ameet, Andrew x 3, Daniel, Darren, Debbie, Jules, Marty, Nathan, Paul and anyone else on the team I might have forgotten.

Tween Playground - Rereleased

by Daniel Wabyick
December 15th, 2005

Finally! I just put up an updated version of the Fluid Tween Playground that plays nicely with AS 2. While we have been using the core tween code internally for several years, the playground was never upgraded. I had no idea people were still using the playground, but after upgrading our website we started getting a significant number of bounces for the tween library.

For those of you new to this library, Fluid has created a simple class ( fluid.util.Tweener.as ) that provides a straightforward method for designers and developers alike to use time-based animation in Flash. While there are a number of similar libraries out there, many of them involve more complex syntax, or add significant weight in file size. The Tweener class will add less than 2kb to your SWF size.

Example usage:

<snip>
import fluid.util.Tweener;
import com.robertpenner.easing.Quad;

// alpha down to 50% in 300 milliseconds
Tweener.timeTween( myMC, "_alpha", 50, 300, Quad.easeIn );
</snip>

Check it out here - http://www.fluid.com/experiments/tweenplayground .

Let us know what you think, and we would be happy to see what you create with it.

Firefox 1.5 Extension Goodies

by Daniel Wabyick
December 2nd, 2005

I decided to take a bit of time this morning and update to Mozilla Firefox 1.5 and took a look at the latest and greatest extensions. Here is my personal list of must-have extensions for both productivity and fun.

  • Foxpose View all of your tabs in one window like in OSX Exposé. Fun!
  • Web developer Toolbar The defacto standard plugin if you do any web development.
  • IE Tab Open Internet Explorer within a Firefox tab. Very useful for cross-browser testing.
  • Dictionary Tooltip Double-click a word to get a popup dictionary definition.
  • Foxytunes Control your music apps via your browser toolbar.

Have fun!

One Persona, Many Behaviors

by David Hogue
November 21st, 2005

A common mistake when creating personas is equating one persona with one style of online behavior. Although this simplifies the creation and presentation of personas, it is not an accurate reflection of actual site visitors, their motivations, and their behaviors. Do you have the same goals and behave the same way all the time?

People behave differently under different circumstances and have different needs and goals at different times. Although it may be convenient to think of John Q. Persona as “the guy who abandons his shopping cart ten times before committing to the purchase,” this is not necessarily the way he behaves all the time.

Nearly all web site visitors will change their online behavior based on their current goals. Sometimes we have extra time to surf, and sometimes we are in rush and need to get in and get out efficiently. Sometimes we need to search extensively (e.g., I want a good suspense novel), and sometimes we already know what we are looking for and where (e.g., I want the latest Anne Rice book.) But rarely do we do the same thing every time.

Personas should be representative of actual site visitors, and that means that they will have a range of goals and behaviors. Some behaviors may be more common than others, but they will exhibit a variety of behaviors over time. Yes, John Q. Persona may be more likely to abandon shopping carts than other personas, but perhaps he only does that when comparison shopping for himself. His behavior may be different when he shops for gifts for others, or maybe his behavior changes when he browses from home versus browsing from his office during lunch.

To get the most out of personas, we should separate the personalities (i.e., the personas) from the actual behaviors. Create personas to learn about who site visitors are demographically, what motivates them, how they react to options or designs, and what content or experiences are important to them. Create experience flows to describe the most common behaviors that are observed or desired for the site (e.g., gift shopping vs. product research.) Then play mix-and-match with the personas and the experience flows: which experience flows are most likely for each persona, then rank order them. For example, John Q. Persona may exhibit more cart abandonment behavior than any other persona, but he may also be interested in comparison shopping, product research, and interactive merchandising displays.

Personas are meant to be realistic representations of actual site visitors, so it is important to remember that real visitors behave differently at different times and under different circumstances, therefore personas should also exhibit tendencies, preferences, and ranges of behavior.

WPF/E Watch: A Brief Glimpse

by Mark Belanger
October 18th, 2005

So as RIA developers, Windows Presentation Foundation/Everywhere (WPF/E) is of keen interest to us. It’s purpose is to ostensibly make some of the capabilities within the WPF runtime available to other platforms from the Mac to mobile devices. While Microsoft has loudly proclaimed that WPF was never intended to be a Flash-Killer, I wonder if the same can be claimed for WPF/E. From the limited information available, it appears like it _technically_ could be, but it’s obviously a long, long way from that. First, WPF/E would need to be bit for bit compatible between the various platforms. We’re talking pixel-level perfection, which is what we largely have with Flash today. Second, and far more daunting a task, they need to get market penetration on the level Flash has. How Microsoft would go about that is a big mystery to me. Short of getting Apple to build or bundle a runtime, I don’t know how they’d do it.

Here’s a brief video demoing a small WPF/E on a mobile phone that one of our engineers managed to track down:

http://channel9.msdn.com/ShowPost.aspx?PostID=126729&pvrid=107

If anyone has more details about WPF/E, we for one, would love to hear about it.

Formatting dates in Actionscript

by Daniel Wabyick
October 5th, 2005

As anyone with any programming experience can tell you, formatting and unformatting Date objects into human readable strings can be a repetitive and tedious task, as well as a perfect target for a utility class!

These utility classes exist in the core package of most programming languages, but alas, not Actionscript. Luckily, Matt Kruse at JavaScript Toolbox created a simplified Javascript library based on Java’s elegant SimpleDateFormat class. As Javascript and Actionscript are syntactically compatible, porting this to Actionscript was very straightforward. Check out SimpleDateFormatter, hosted on the osflash website.

Camouflage only works when you’re sitting still

by David Hogue
September 29th, 2005

A recent blog post on MSDN discussing the usability process behind the new Microsoft Office 12 “ribbon” used to present function icons in the interface described how they learned from observation that users could scan the icons more quickly when the icons are not all the same size. But not everyone thinks (based on their intuition) that different sized icons are a good idea.

I (Jensen Harris, the blog author) was reading a blog entry of someone who was kind of critical and dismissive about what we’re doing and our designs. One of his criticisms was “how bad the usability of the Ribbon would be because it’s got icons scattered all over of various sizes.” What we’ve learned is actually the opposite. People can scan disparate patterns more easily than homogenous patterns. When we use more toolbar-like layouts–a bunch of equally-spaced, equally-sized buttons, people scan them less quickly than when each chunk has a memorable layout. So we actually try explicitly to vary the layouts between chunks–it helps people find the thing they’re looking for more quickly.

This is a great example of how we are re-discovering some basic perceptual principles that have been studied psychologists for nearly 100 years: humans (and all insects and animals, for that matter) are designed to perceive change. We notice more quickly when things are different or when they change, and we get perceptually “bored” when things are all the same and never (or rarely) change. We know from software design experience that rows and rows or columns and columns of the same icon in file management UIs offer no scanning advantage, but if just one of those icons differs it seems to literally jump off the page at us. We notice the difference.

It is possible for historical reasons that function icons in toolbars are the same size because is it easier to design and build a toolbar where everything fits together like uniform bricks. It’s more difficult to create a toolbar where all of the pieces are different sizes and must be properly arranged in order to “look right.” Perhaps we have a perceived need for a grid-based system because it is simpler, not because it is better.

Yes, icons do vary in color and content based on the function, so there are differences among the icons already, but a standard icon size introduces a regularity that makes it more difficult to see those differences. Reading researchers have known for a long time that we read LONGER TEXT PASSAGES WRITTEN IN ALL CAPS MORE SLOWLY THAN WE READ PASSAGES WRITTEN WITH BOTH UPPER AND LOWER CASE LETTERS, because the ascenders and descenders provide us with word patterns based on the differences among the letters that we recognize more quickly. All caps letters are uniform rectangles, but a mixture of upper and lower case letters are a sequence of different sizes and shapes. We notice the differences.

Change and difference can occur in more than size, shape, and color; it can also occur over time. Our attention is drawn by things that move. Yes, we can see things when they are stationary, but when something moves it attracts us, it makes us want to look at it. Predatory animals are particularly sensitive to movement, but when the prey remain motionless it is much harder for the hunter to perceive it. Camouflage only works well when you are sitting still. Many animals are equipped with the coloring and instinct to blend in: fawns lay motionless in the dry grasses and stick insects cling motionless to branches. If they move, they become dinner.

We can use these perceptual principles to our advantage: facilitate scanning by using color, shape, and size cues to create memorable patterns, and draw attention with the use of differences, change, and motion. Although it may be easier to build UIs based on a grid pattern, the reality of our perceptual systems (and of the organic world) is that patterns are based on differences not similarities.

One FlashGeek’s experience with WPF

by Darren David
September 23rd, 2005

Having just finished up a 3 month stint building out our proof-of-concept kiosk for The North Face, I figure it’s time to kick down about my experience. So I’m a Flashgeek - I’ve been working with Flash since Flash 3 and pretty much learned everything I know about programming from my code mentors ( you know who you are ) and dabbling in ActionScript. AS2 is ( was! ) the closest I’ve ever come to a strongly-typed language. That said, AS2 is still pretty loose with what’s allowed, and there are still a lot of gotchas that only come from having pulled yourself up by the bootstraps with the rest of the Flash development community.

Don’t get me wrong, I love Flash. I think in ActionScript. Knowing the happy and dark spaces of a platform makes you that much more efficient — and it lets you concentrate on architecture instead of chasing problems all day. So what about WPF? It’s, well, “liberating”, to say the least. C# is very elegant. XAML is a bit verbose, but when it comes to layout and styling it’s top notch. Visual Studio is the IDE that eclipse dreams of becoming one day. Compile time is fast, debugging support is powerful, and the .NET framework is *immense*. Imagine not having to roll-your-own . Results come quickly. The WPF API is well-thought-out and the layout manager makes setting up flexible UIs super simple. And the designer/developer split really exists. No more unmergeable binary files or “over-the-wall” lobs from design. You can literally start prototyping when IA is complete and let skinning exist on a separate thread without compromising logic. Imagine when IA starts working in Expression ( or similar)!

So what /didn’t/ I like? Well, the most frustrating thing was coding against a moving target. We were getting code drops every 3-6 weeks, often with breaking API changes. Perf still really isn’t there, but for the TNF POC we were definitely pushing the boundaries of the platform. It’s not always obvious /how/ to do something - the SDK is not totally complete with code samples — we couldn’t have done what we did without good hands-on support from Microsoft.

Oh, and it only runs on Windows. For now. But heck, it’s still in Beta, and they have 14 months ( Nov 2006 methinkst? ) to sort out all of these issues.

Honestly, the pros seriously outweigh the cons. If you know Java or AS2 intimately, it’s really just like learning how to speak with a different accent. And some phrases in your vocabulary have been shortened to single words ( imagine never writing another XML de/serializer again - just feed it an XML schema and let .NET create typed objects for you. In like 3 lines of code! drool…. ). Seriously, though, I wonder if I’m more amazed because I’m an AS2 developer who has never used Java - it may be less exciting for you J2EE geeks. But hardware accelerated 2D and 3D? Put that in your Swing and smoke it! ;)

maybe that’s more like $0.03.

I can’t wait to see how Flex 2.0 ups the ante, it’s looking really nice so far.