UX Guys Blog

We design practical and easy to use digital interfaces

Author Archive

Prototyping

Scott, March 7th, 2011 in UX Techniques, UX Tools

In an ideal world, we could build and test complete, functional, high-fidelity prototypes for every project, then iterate and test again. But even in the real world, with time and budget constraints, we can use prototyping to answer user-research questions, solve interface problems, prove concepts, test usability, and reduce risks before committing to development.

Prototyping techniques range from rough sketches on paper to hand-coded HTML. Tools like Axure and iRise allow non-programmers to develop interactive HTML prototypes that approximate enough functionality and fidelity to cover most testing requirements.

When planning a prototype, there are two basic questions to answer. First, what level of fidelity and functionality do I want? This will determine which tool or technique you use. Second, how am I going to test the prototype? This can range from showing it to a few stakeholders to setting up full usability lab testing with a group of typical users (which of course costs more).

But before you can answer these questions, there is a more important question – what exactly is the problem you need to solve, the question you need to answer? A clear sense of these priorities is vital to cost-effective prototyping, since you only want to develop enough prototype to solve these problems or answer these questions.

Two examples from recent UX Guys projects:

Online Store

As part of a redesign project for a telecommunications company, we developed an online store environment for ordering complex TV, internet and phone products. We built a series of high-fidelity prototypes in Axure to test two different interface concepts. The prototypes were first created as functional wireframes, then once we finalized the logic and flow, we added content and minimal skinning with graphic elements to create the illusion of a real web site for test users.

The first interface concept was a traditional catalogue in which products were grouped by a hierarchy (e.g. HD vs. non-HD TV service) then a good-better-best order for different products (e.g. numbers of phone features or TV channels in different packages). The second, alternative concept was an “assisted-selling tool” that made product recommendations based on how the user answered questions about their preferences and intended usage needs.
The prototypes we developed included readily available comparison tools and progressive-disclosure techniques such as roll-downs and pop-ups for more detailed information. We added a floating shopping cart showing which items have been selected (though due to Axure limitations we were not able to calculate a running total).

We tested our prototype with two groups of eight users on two different evenings. We gave the users a number of tasks, and divided them equally between interface options. We used feedback from the first session to make iterative changes before the second test, but only to correct minor usability problems that presented consistent roadblocks.
In developing the prototype, we used a new visual design and interaction model but preserved the current product names and organization. One of our goals was to find weaknesses in the way the company’s products were structured, positioned and marketed.

In testing, we had two very different objectives, or basic questions: to see how the prototype interface performed in terms of allowing users to complete tasks, and to see how users responded to the organization of the company’s products. Did the conceptual model – breaking TV into service then channel package, for example – actually work? In other words, could we build an interface that allowed users to complete a complex task successfully, but could we also find ways to reduce the complexity of the task by simplifying the underlying structure?

Based on the testing sessions, we learned that both interface concepts were relatively successful at allowing users to complete all tasks, but that users do in fact struggle with the complexity and ambiguous naming of the client’s products. Users were divided in their preference for the traditional catalogue and the assisted-selling tool, so we proposed including the tool as an optional “help” path for users who needed more hand-holding.

Thanks to the prototypes, we have a well-developed IA for an online store environment that we know will work effectively, thereby reducing risks once we start development. But perhaps more importantly, we found compelling evidence of user confusion that we can take to business stakeholders, in an effort to convince them to reduce product complexity.

Internal Software Application

We were engaged on a small project to solve interface-design and usability problems for an web-based internal software application used by the purchasing department of a global auto manufacturer. The client presented us with rough wireframes showing their first ideas for a solution.
We sketched out a number of possible solution concepts, then drew wireframes of the most promising idea. Without going into great detail describing a complex application, the core problem was to present a list of up to 100 different auto parts, then for each part multiple tabs containing dozens of data fields, while allowing values from certain fields to be copied from one part to one or more other parts (e.g. the right- and left-side versions of a suspension component would both come from the same supplier and have the same price terms and shipping costs, so the user should be able to copy those fields from one to the other rather than enter them twice). Our basic question was simply this: was our interface concept “intuitive” and usable? There was no formal testing beyond presentation to the client.

The client requested a clickable HTML front-end prototype that would show interactive elements on the page, but with no access to data. A developer quickly took the wireframes and built out the pages, but in the process the developer and the UX architect together added a number of dynamic elements that provided the user with clear indications of what steps should be taken next in the process, and clear feedback showing when an operation was successful. (When the user checked a data field to mark it for copying, the paste button appeared above the list of parts, along with check boxes next to each part and a select-all button. When the user clicked on the paste button, selected parts were highlighted in green for a few seconds to indicate a successful copying of data fields.) Hiding controls until they were needed improved usability by reducing interface complexity and making next steps clear.

The lesson from this project is that while dynamic behaviours can be documented in wireframes, it’s hard to think dynamically when you’re drawing statically, and the HTML prototype was critical to developing screen-level interactions that provided a far better solution for the user.

Working Abroad

Scott, March 7th, 2011 in Work Culture

This past summer I had the opportunity to spend six months in Berlin, Germany, on “working sabbatical” with UX Guys. The reasons for going were complex – my wife’s academic research, our possibly optimistic desire to render the daughter bilingual, and my own infatuation with the place.

One of my personal goals for the trip was to work with a local agency or client. My priorities: gain some new experience, make contact with potential partners and clients in Europe, improve my German, and simply get out of the apartment.

Finding work proved to be relatively simple. I used LinkedIn  and Xing (a European competitor) to connect with the local IA/UX community. Within two days of arrival, despite jet lag and appalling humidity, I met upwards of fifty colleagues at the quarterly “IA cocktail hour”. I learned that there was no shortage of interesting UX work in Berlin, much of it for mobile platforms, and a surprising amount in English.

While working remotely on a Calgary-based project over the summer, I pursued a number of leads until the call came from MetaDesign, an established agency with a strong print and brand identity background.

My first project at MetaDesign was a complex online catalog for an Italian manufacturer of architectural lighting products. We developed a filter solution powerful enough to cope with thousands of different products and dozens of possible facets. I divided my energies equally between designing and documenting the search and results interface, and attacking problems with the underlying data structures and labels. English was the language of client communication, though day-to-day work took place in German.

Our final two assignments were smaller interface-design problems for internal applications at Volkswagen. Working on “branding-free” projects was a refreshing change from public-facing sites, while the complexity of the applications, workflow and user tasks presented interesting challenges. Taking the high-speed train to meetings in Wolfsburg – at 250 km/h – was an added bonus.

When I look back on the experience, my overall impression of working for a German agency is that it’s really not much different from working for a North American agency, except that the office coffee is much, much better. (I still miss the enormous old espresso machine in our kitchen.) Work methodologies are similar, the work environment and agency culture are similar, the deliverables are similar.  Clients are still demanding, projects still go off the rails sometimes, people still work late sometimes. Vocabulary may differ slightly (for example, comps or flats are “layouts”) but the underlying concepts and roles are the same.

While the UX profession doesn’t differ much on either side of the ocean, European office culture does differ in slight and subtle ways. Relations with clients are more formal, at least linguistically. On your birthday, you are expected to supply your own cake and share it with your co-workers.
Language is of course a major issue when working abroad. I am lucky in that my German, though far from perfect, is good enough to work on German projects with German clients. Ultimately I found this much easier than working in English with an Italian client – being a native speaker is almost a disadvantage in that one constantly overcomplicates their speech and writing. Potential expats beware: it may be a cliché, but at the same time true that “bad English” is the global business language. And while there are many opportunities for English-only work in Berlin (Nokia in particular) some understanding of the local language and culture will makes life much easier.
Overall, I enjoyed my “working sabbatical” tremendously. Quite apart from the friendships and contacts I made, and the workout my German received, the projects  I took on presented a refreshingly different set of challenges from public-facing web sites. I had the chance to sharpen another set of skills.

Hopefully we’ll have more chances to work together with MetaDesign in the years to come.