Better charts from simple questions
Stephen Turbek 9 June 2009
Selecting the wrong chart, like bad chart design, can obscure the data. Here is a simple model pick the right chart for your needs.
First, let’s ask a few questions to make sure we are going in the right direction.
Is a human making the chart?
If a person is creating a chart, they can decide the most appropriate format, and more importantly, highlight the interesting data. Charts generated by automatic systems must be conservatively designed, as their output is unknown. Programmers love Pie charts because the size won’t change and muck up the layout.
Who is the audience?
Knowing the audience is essential for a successful communication through visuals. Assuming the viewer understands the context (e.g. remembering how many widgets we shipped each month last year) or including data the viewed is assumed to understand is a common source of confusion. Provide gentle reminders. When designing for a specialized audience, consistency with standards (for example, complex stock charts) is generally better for communication than a radical improvement.
Are you trying to illustrate a point or analyze data?
Charts are used for several reasons; confusing them leads to bad design. Chart design that works for analysis is often wrong for presentation and vice versa. Charts in a presentation are often meant not to analyze data, but simply to illustrate a point. This is the only time it is OK to use a pie chart (See below for tips on how to make them work).
Do you even need a chart? A chart implicitly asks the audience to analyze the numbers. Often, though, you simply want to tell the number, as below

source: presentation zen
What is being decided?
Analysis charts are tools to help make a decision. “For information purposes only” usually means the designer doesn’t understand the problem. A chart designer should understand the business better than the person who will be reading the chart. Each element on a dashboard, for example, should be the answer to a clearly articulated question, with defined metrics leading to specific actions. Ideally, the business needs should be so well understood that the dashboard should answer a series of yes/no questions, such as “Are our sales on target?” or “Do I need to hire more sales people?”, rather than merely reporting the sales total and expecting the user to recall and compare this amount to an undefined series of others. Essentially, a dashboard should answer the question “Do I need to do something?”
Boring charts are usually the result of not having something significant to say.
What is the context of the chart?
Numbers are only interesting in comparison with other numbers. Knowing the context of the data (what the viewer wants to use it for) makes it easier to pick the right chart. Even the best chart design cannot fix an undigested data dump. Making a chart is easy; the hard part is asking the right question.
If I told you that our company shipped 50,000 widgets, it matters:
If it were this year or this month
If it last year’s ship rates were 10,000 or 100,000 widgets
If our competitor’s ship rates were 10,000 or 100,000 widgets
One good approach is to start by writing the question this chart is supposed to answer. The real question is not “How many widgets did we sell last month?” but “Is our new sales plan worth the investment?” As charts are there to help make comparisons, ask:
Am I comparing [something] against time, other things, or its contents?
To compare against time, use a line chart


A line chart emphasized the continuum of a measurement over time, whereas a series of bars focus on the individual measurements. Time should always be shown horizontally from left to right. Use a step line chart, as angled lines suggest more data than actually exists.
This is equally important with multiples as we want to highlight the relative changes, not the individual values.


To compare items, use a horizontal bar chart


Bar charts emphasize discreteness, that the items have little influence over each other. A line chart, by comparison, emphasizes the connection.
Horizontal bar charts are the most visually effective chart.
-You don’t need a “legend” or call out lines, as pie charts do.
-Text labels fit nicely into the design, saving space to make the chart larger (vertical bars rarely fit text well).
-They can be more easily read and compared to each other. The eye “tracks” (compares items) vertically more easily than horizontally.
To compare contents over time, use a stacked area chart


Stacked area charts emphasize the contents of each measurement and de-emphasize the individual values and the numbers themselves.
To compare the contents of a single item, use a horizontal bar chart

Comparing contents of an item is in fact, simply comparing the components to each other, something our old friend the horizontal bar chart is good at.
The allure of the pie chart remains strong. It makes sense to people to show “parts of a hole” as a pie chart. Programmers also like it because the overall size of the chart does not change, making designing a screen simpler.
But Pie charts are very poor at helping the viewer compare amounts. For example: In the example above right, how different are items 2 & 5? Depending on data labels to explain the chart raises the question of why the chart is there at all. That said, pie charts have their uses, see below for ways to make pie charts work.
To compare the contents of several items, use a stacked horizontal bar chart


Stacked bar charts are one of the most useful charts for analyzing complex contents of multiple items. If the number of items or contents gets above 10, consider breaking it into multiple analyses.
How to use pie charts
Graphic designers know to disdain the pie chart. They are rightly afraid that the result will look like this:

Source: http://brandon.ikevin.net/costume/
This pie chart does not help the reader compare the items and analyze the context.
-It is difficult to compare slices in a pie chart.
-Too many items make it unreadable.
The bar chart is a better for analysis, but pie charts are great communicators of simple messages, which is often what people want them for. They can be ok, as long as you control the data and the display

source: apple computer
Some tips
Tell the story in the title
A caption is worth a thousand pictures. Presentations documents are distributed outside of a presentation, which loses much of the context. Better than a title is the one-phrase summary that a person should walk away with. In the above example, the caption could read “iPods Market Share Continues to Increase”.
Resist the urge to zoom into the action Show charts with axes that go to 0. A common mistake in stock charts, this over-emphasizes changes. Sometimes I wonder if this is intentional, perhaps making for more “exciting” visuals.
Highlight the main figure and diminish the others with color.


Don't display more than six items in a pie chart. If you have more items, you should be using a bar chart.
To make a point obvious, compare only 2 values. Collapsing the many “long tail” (1% - 10%) values into an “others” category reduces visual noise. You can even collapse the majority into an “other” in comparison to the highlighted value, as shown below.

source: apple computer
You want your chart to look as much like Pac-man as possible.
via http://www.boingboing.net/2006/11/02/hilarious-piechartvi.html
Specialty charts
Stock Charts
Different audiences require different charts. New investors expect a stock chart to reflect numbers they understand, for example, a stock price. They can be confused when the Y axis is logarithmic (a better measurement of change, used by more sophisticated investors), and make incorrect assumptions as to how much the stock is going up or down.
The default view of a chart should reflect the audience. Google finance has a simpler chart, aimed at a general audience. A professional trader will want (and take the time to learn about) the additional information.

Source: google finance

Source: http://stockcharts.com/
To compare items over 2 measurements, use a Scatter plot
Scatter plot charts show items measured across two dimensions making connections visible.
Here is a (not beautiful) chart that clearly highlights an abnormal result in the upper right (in this case a player who was cheating in a poker tournament). The chart compares how often the person bet (Y Axis) to how often they won (X Axis).

Source: http://simplecomplexity.net/2008/02/29/catching-an-online-poker-cheater-with-data-mining/
Note that scatter plots are more sophisticated, so annotation and highlighting of interesting data is very important. The above chart clearly needs well labeled axes, the red dot made more visible, and a title.
To compare items over 3 measurements, use a Bubble plot
A bubble diagram is a scatter plot with a 3rd dimension of data shown as the size of the bubble. Though beloved in the sciences and finance, it does require some explanation to the average audience.

The New York Times stock performance chart. Source: http://www.nytimes.com/pages/business/index.html
Do not use Radar charts. These are sometimes recommended for cyclical data sets, such as months per year. Use overlayed line charts instead.

Source www.perceptualedge.com/blog/?p=118

I’d like to thank Vlad Jenkins & John Daschbach for inspiring design ideas.
How to make personas useful (and it’s not stock photos)
Personas are a popular user experience deliverable, whose purpose and use are often misunderstood. This article suggests ways to make personas useful, and not just a pretty face.
As a UX consultant, this was a familiar scene: our team had worked late hours for this Friday client review. The deliverable this week: Personas. After 4 weeks of user interviews, the client was getting anxious: were these expensive consultants going to do something, or just suck up money? We distilled all of what we found into rough types; argued about the details; was this detail enough to warrant another Persona, or were 5 too many already? We put together a slick presentation and the client was suitably impressed. Tired but happy, we went home for the weekend. Months later, the project finished and I realized that, as successful as they seemed, the client and the team really didn’t do much with those Personas. Was it all just a waste of time?
What are Personas?Many websites and software applications have multiple types of users with different needs. A data entry clerk uses an application differently than an account manager. Designing for only one user type and ignoring others’ needs leads to unsatisfied users, while mixing functionality for different users is a common cause of confusing software.
A persona is a fictitious character that represents the specific goals and needs of a type of user for a website or application. They summarize user research and business knowledge, helping the project team and stakeholders keep in mind the sometimes conflicting user needs.
Personas are used to:• Enable stakeholders to understand users and prioritize features and functionality
• Keep the entire team focused on the goals of real users
• Add detail to use cases, describing the “who” doing the actions
• Recruit real users for usability testing
There are a number of excellent books written on the care and feeding of Personas (1).
Persona Problems
User experience work never completes a project; its deliverables are interim deliverables. Wireframes obviously lead to a screen or page, but Personas’ are an attractive deliverable without an obvious next step.
User experience teams (and some clients) still expect them, which can make them “consultainment”, a feel good deliverable. Photos of users gives the feeling of real data, more than the typical not-statistically-valid user research may deserve. If there is no real user research being performed, there is a danger is that Personas may simply reflect and strengthen the project team’s stereotypes of users. As many product managers have never met an actual user, and the UX team may be new to the field or industry, the “echo chamber” effect of uninformed personas may set the project back.
Defined well, Personas can be a useful communication tool to get stakeholders to agree on the fundamental goals of a project to prioritize features. Unfortunately many Personas are neither provocatively interesting nor correct-ably wrong, but merely vague. Sadly, many clients cannot tell the difference, it’s up to us!
Bad Personas
• Are based on estimates or market segmentation
• Are not really read
• Are not actionable
• Reinforce user stereotypes
• Are simply copied from another project
• Always have between 3-5 types
Good Personas
• Are based on more than 10 end user interviews
• Explain themselves
• Are immediately actionable
• Give a new paradigm for thinking about the users
• Reflect the distinct functional or demographic characteristics of the user audience
When should Personas be created?
Only when they are needed. But how do you know? My tests are:
• Is there new data (user research, market research, customer service interviews)?
• Do the roles have clear definitions and distinct needs?
• Are there specific questions that an audience outside the project team need to make to define the project? (e.g. senior stakeholders, who often will not read lengthy user research findings documents need to decide whether to target sales representatives or the end consumer.)
If you don’t have yes for all three, Personas should be skipped. If the client expects them, explain that you will be able to work on wireframes sooner, they always love that.
If there is no new user research data, the Personas risk reflecting project team biases. Don’t add noise. If they must be created, clearly label them as “unverified” and use them to contrast assumptions of the stakeholders.
If you cannot clearly distinguish between user types, merge them until they have irreconcilable differences. The key test here is “why does it matter?” Advertising people are congenitally unable to put “Active Retirees” with “Tweeners”, but our job is to determine how people use the application. Personas can be useful in countering marketing segments by showing how usage patterns cross demographic patterns, for example new credit card applicants.
The primary audience for Personas, stakeholders and project sponsors, need to be able to answer the implicit question “Are these our users and which are the priorities?” It is critical to validate this early or one risks an unclear project. (I’ve heard it said that development teams will use Personas after the user experience team has “rolled off”, though I have never actually seen this happen.)
As a communication tool, Personas fill an important role. User experience can learn a lot about a client base, we need to pass on that information before we leave a project.
Persona Interrogation
Here are questions that I’ve found often distinguish users types.
• Are they familiar with the subject matter at all? (i.e. IRAs in general, rather than a particular account)
• How often do they use the system? Weekly, Monthly, Quarterly, Yearly?
• When they do use it, do they use it ad hoc, or intensively?
• How many of them are there % of user population, % of total client population (Often actual users are a subset of clients)
• How important are they as a client? For many sites, the vast number of users generate no income. Their numerical superiority should not define functionality for paying users, but identifies an opportunity to increase conversions to paying customers.
• Are you segmenting Personas by role (data entry vs managers) or by audience (visitors vs. customers), or self segmentation (independent movie buffs vs. Hollywood fans)?
Design Personas to be used
Assume the clients barely care Personas are in a sense the PowerPoint presentation to a user research findings document: Easily consumed, without all the details. The goal is to communicate enough information to make decisions, not catalog your findings. Each document should introduce itself and tell the audience what is wanted from them. I’ve seen stakeholders listen patiently without reacting. If the personas result in neither agreement nor correction, it has failed. As Edward Tufte said, “If the chart is boring, you’ve got the wrong numbers”.
Make them actionable
TELL THE CLIENT WHAT TO DO for this Persona. If there is no actionable findings, question whether to keep the Persona. Too many user research projects do not take the final, essential step of telling the development team what to do with their findings. If you have nothing to say, don’t say anything, but if you do, translate it into clear and actionable directions.
Just the facts For each sentence, ask the question “what should someone do with this piece of info”? If you cannot say how that Persona X is “retired with 2 kids” affects a feature or method, drop it. Go light on biographical details: our goal is not to have people identify with them, but to explain why their needs are different from another groups.
Be wary of photographs in personas, even if clients respond to them.
The human brain has special sections devoted to analyzing faces and categorizing people without really thinking –this is bad for Personas. Base Personas on what users do, not who they are. Racist, sexist and age-ist stereotypes, even if meant to be positive, should be avoided at all costs.
A Persona document should contain
• An Explanation page
What is this document, and why should any stake holder care?
• A Findings Summary / to do list page
What specific changes should the team do based on your findings?
• An Overview / comparison of all the Personas
How do they differ?
What is the percentages of total audience? Of active users? This can be found in web analytics or CRM systems.
Which would find the project most valuable?
Which are most important for this project?
(Keep these measures general: High, Medium, Low. The goal here is to let the stakeholders confirm that the team is aligned with their priorities.)
Each Persona should contain
• Title the persona by summing up the findings (E.g. “Small business owners need advanced account features”) or with a representative user quote (“I need more guidance when shopping”).
• Brief Description 1-2 sentences that sketch out the user type
• Characteristics that differentiate it from the other Personas
• Relevant quantitative data that explains and backs up the existence of the Persona (number of accounts, median annual spending)
• General Goals –What are they trying to accomplish by using this system. e.g. “Plan for retirement”
• Tasks –What are they trying to accomplish in a typical session e.g. “Check their balance”
• Insights –What surprising fact came out of the user research e.g. “Most of these users were unaware of the new features launched last year”.
• What to do for this Persona Give specific, actionable changes e.g. “Make the registration options visually distinct”.
Personas are valuable if done right
Personas can be a useful tool to communicate with stakeholders outside the project team, as long as they give actionable guidance and provoke decisions. The challenge to the UX team is to use this medium to advance understanding and not merely entertain the project!
1 The User is always Right: A practical Guide to Creating and Using Personas for the Web by Steve Mulder and Ziv Yaar
The Inmates Are Running the Asylum by Alan Cooper
Advancing Advanced Search
Published on
Boxes and arrows on 16 Jan 2008
16 Jan 2008
Advanced search is the ugly child of interface design -always included, but never loved. Websites have come to depend on their search engines as the volume of content has increased. Yet advanced search functionality has not significantly developed in years. Poor matches and overwhelming search results remain a problem for users. Perhaps the standard search pattern deserves a new look. A progressive disclosure approach can enable users to use precision advanced search techniques to refine their searches and pinpoint the desired results.

Fig. 1: A typical separation of standard and advanced search (Yahoo!). The design discourages use of advanced search.
In the quest to make web sites more usable, we settled on a pattern of a clean, minimal search box with a link to an advanced search page. Jakob Nielsen recommended, “use an intimidating name like ‘advanced search’ to scare off novice users from getting into the page and hurting themselves.”(1) This model has been successful. Search rivals hierarchical website navigation on many sites and is the primary means of navigation on enormous sites such as Ebay and Amazon. Advanced search, however, has not fared so well, with only a small percentage of users using it.
Why most people don’t use advanced search
Despite its name, advanced search has not advanced very far. There is great power to conquer the overwhelming number of search results, but the current standard presents barriers to users. Specifically,
- The link is often small, vague, and does not describe benefits to the user
- Advanced search pages typically have confusing page design for the few who make it there.
- There is generally poor search revision functionality: Once a search is performed, the “advancedness” is lost. For example, the Google advanced search delivers the standard search results page. You have to get the query right the first time; there is no opportunity to adjust your query.

Fig. 2: Google’s advanced search is still complicated.
Who does use advanced search?
Tim Bray wrote, “The people who do use Advanced Search are your most fanatical users, the professional librarians, spooks, and private investigators.”(2) As in many situations, segmenting a population makes it harder to see whether the needs of a subgroup are shared by the majority. Current design is based on the idea that there are two separate audiences with distinct needs. The reality is that there are overlapping needs that are limited by the search pattern.
The essential problem of search — too many irrelevant results — has not gone away.
A typical user has to make a choice between doing a search and clicking a link to do a search. In other words, do you want it now, or want to go somewhere else to look? The immediacy of the search text field and the complexity of advanced search means that users will try the text search first.
Perhaps the old framing is wrong. Rather than being a matter of geeks versus normal people, the question should be whether users see a benefit to advanced search on starting. Unfortunately, there is typically no way to use advanced search at the point users realize they need it — when they haven’t found what they were looking for and have too many search results. They have “missed the exit” to advanced search. Users don’t want to lose the investment in their search; they need a way to use additional techniques to work with what they have. A new model of search can help with this problem.
Other approaches to search
Let’s take a quick look at other search innovations from the last decade. Web data has matured and become more structured. Taxonomies and tagging are now common. There are new opportunities to deal with search results overload by filtering, as long as it is clear and easy for the audience. Despite the truism that users will not go past the first page of search results, they will use obvious tools to refine their searches.
Searching by defined parameters is natural in some circumstances (for example, airline ticket searching) but the majority of sites are not sufficiently data-driven to have an interface designed around the data.

Fig. 3: travelocity.com Flight searches, in a sense, only use advanced search.
Tags can improve search results by better describing what someone is seeking.

Fig. 4: amazon.com’s approach to tagging a product
Faceted searching, or returning browsing categories in the search results (as eBay does) can be effective at prompting the user to select a single category.

Fig. 5: ebay.com’s faceted search
Filtering search results
Amazon and Kayak offer filters to enable users to reduce many results to a few. This can be very effective, but there are obvious constraints due to the limited space available for each filter. Only the first few filters are visible when the page loads.

Fig. 6: Filtering on amazon.com and Kayak
Another approach: Progressive disclosure of functionality
One solution to the essential problems of advanced search discoverability and complexity is to progressively disclose (3) the functionality to the user. Instead of a single, complicated page, break it into understandable units and give each to the user when they ask for it.
In this example, show the ways the user could filter the results (e.g., “Brand” or “Price”) in a highlighted banner above the search results.

Fig. 7: Filters highlighted in a banner (it doesn’t have to be green, it just has to stand out!)
When the user clicks a link, display the filter with enough space to clearly articulate how to use it. Don’t cram it in; the user asked for it. In contrast to the left-hand column filters in the examples above, which are naturally space-constrained, this method can hold many more types of filters and doesn’t show functionality they didn’t request.

Fig. 8: When the user clicks "price" above, give the module enough space to be readable.
Let’s look at an example scenario.
1. The user performs a text search normally.

Fig. 9: Searching for a DVD player using the simple search box
2. On the search results page, show options to filter the search in a prominent location above the results. Communicate the value of filtering. Order them by popularity, using size and font weight to highlight others. If there are many options, consider hiding rarely used options under an expandable section.

Fig. 10: A search results page, with options to filter.
3. When the user clicks an option, display a page module for that search parameter without reloading the page. The user should be able to change the parameters at any time to receive an updated search. If possible, show the number of results for each parameter, so the user can see how exclusive it is, and identify which parameter maybe giving them 0 results.

Fig. 11: The search results, filtered by price.
4. Enable the user to add several modules, stacked in chronological order as the user builds up a complicated query.

Fig. 12: The search results, filtered by price and rating.
Recommendations
Define an implicit method for Boolean rules (AND and OR rules) based on normal search patterns — do not ask users to compose Boolean queries. A system that has worked for me is this: If a user selects several different search parameters, perform an AND search between them (e.g., Sony AND Portable). If they choose multiple values for the same parameter, perform an OR search (e.g., Sony OR Panasonic). However, if parameters (such as product features) are clearly non-exclusive, perform an AND search (e.g., Portable AND “HD ready”).
Recognize that quick searches, text searches, and advanced searches may be built with different technologies (e.g., direct database searches, a Google box, or a content management system). You may need to work closely with the developers to make a seamless transition between technologies.
If there are many parameters (more than 15), consider reducing complexity by hiding less used ones under a “see more…” link below the displayed options. Clicking it should display all the options without a page refresh. Evaluate your search logs to make sure you are exposing the right ones. Consider rotating the exposed ones to discover potential popular features, as exposed options will naturally get more usage.
Conclusions
At its core, advanced search is an under-utilized tool hampered by its own design. By enabling the user to add specificity as they request it, designs such as the one above avoid the lonely fate of the standard advanced search page. Defusing this complexity and locating it where users will naturally find it will help advanced search be truly advanced.
References
(1) Nielsen, J. (1997). Search and You May Find. Alertbox, July 15, 1997.
(2) Bray, T. (2003). On Search: The Users.
(3) Wikipedia. Progressive Disclosure
What I learned from my failed web 2.0 project
From April till December 2006, I conceived, designed, and coded survee.com (
see some cached pages), an attempt to
- build an new approach to online surveys
- explore AJAX coding
- Start a company
- try out new interaction models
Though I dropped the project, it was very satisfying and it taught me some lessons. I'm attempting here to make those clear to myself and perhaps others. This project was no big deal in the grand scheme of things, but perhaps it will provide some entertainment: here are my rough notes
When I started the project, I was very comfortable with my job and looking for new challenges. After learning about all the change that had happened to browser scripting (for example DOM scripting and XMLHTTPREQUEST, aka "AJAX") since I had stopped doing JavaScript in disgust in 2000, I was excited about the possibilities and wanted to try them out. As I am a User Experience designer/ analyst in my day job, I was also excited about the UI possibilities, and felt that the best way to come up with new ideas was to invent something. I was coincidentally unhappy with the survey tools I used (surveymonkey.com and many others) and thought this was a good opportunity, particularly as surveys consist of user-generated content. I wanted to make a tool, not a site. It was a heady time; 37Signals "Get Real" was an inspiration. After 11 years of designing sites for other people, I was in control of my own project. Sole responsibility was a great feeling.
I surveyed some friends, who thought this was a good idea, then I started designing.
I followed some interesting current ideas, including separating content from style & behavior. I learned about the power of CSS and was much impressed.
I decided to make an AJAXy interface with each survey being stored in one HTML document.
and all interaction (showing one question at a time was a key design idea) done via javascript. The same document worked for non-Javascript browsers through careful use of stylesheets. (I was very proud of this questionable feature.)
Some things I learned:
It was a lot of fun and very fulfilling. Having your own company is great. YOU did it. Plus coding something that then works is a great feeling.
It's hard to do it alone! Having someone who
- understands what you are working on
- cares
is very important. My wonderful & supportive wife has no interest in browser javascript incompatibilities (luckily for her), but when you are hacking your way through something, it is crucial for long term survival to have someone to vent to.
Get a partner. As someone said: if you can't convince one person to join you, it probably isn't that good of an idea. I didn't try very hard and I couldn't figure out what I wanted to share or how to divide the work. I asked 2 people I respected, but asked too late; perhaps I was too possessive to want to share.
Other people's attention is INVALUABLE! and surprisingly hard to capture. Your best friends do not want to spend their time talking about your project. Just because it is exciting to you does not make it so for them. You become in a sense, crazy; focused on something other people don't care about (yet). Yet if you don't talk about it, you lose heart. It is hard to find out how unimportant it is to other people: that 5 minutes of time you were asking for to look at it never happens.
You have to be disciplined. I think I did OK on this. We have no TV and I canceled Netflix. I worked on it 2 hours a day and stayed up late on weekends. I stopped reading books. But it is a marathon, not a sprint.
Starting a company has to work at this time in your life. We had a baby during this time, and in the end, the lack of sleep and desire to play with our new little guy won over the project. Also, I got a great new opportunity and changed jobs. Both wonderful changes, but
doom for the project. I imagine that just-post-college kids have an edge here. Every decision to work on the project is a decision to NOT do something else. For those of us who have a life: family they enjoy, a house that needs repair, cooking, washing dishes,etc , life is the real competition. A single person eating take out in an apartment is a better situation.
I had thought, after a year of hard development, I can iterate more slowly and have a life. I didn't get there.
Test it on real people. this keeps you honest. Spend time every day watching someone use the tool. Buy them coffee in a Internet cafe or something.
I should have used that most common browser for development. I worked on a mac (with Windows running via Parallels for testing). This was a mistake. My excuse: IE has poor javascript error communication. This lead to less focus on bug fixing and avoiding IE incompatibilities. I always made it work on IE, but it took longer than it should have.
You have to make each annoying development step as easy as possible, otherwise you won't do it as often as possible. Make browser shortcuts, write scripts, whatever. This is a marathon. Make your office / workspace comfortable.
Iterate in public. I fell into the trap of not rolling things out often enough. I kept adding features and delaying promoting it. "Once it has [rich text editing, whatever] people will really like it." This gave me cover to avoid facing the real word.
Build the application around the "help" content. Don't explain the how something works, focus on what it should do and write the text first, then design the way it works. I would reserve a column for it in the interface and make an initial animation highlighting it.
Technologically, we are not there yet. Expect to spend most of your time on stupid details. I decided to not support any pre 5.0 browsers with my Javascript version to keep me sane, but even so, there are still many annoying barriers to developing good ideas for people, for example browser incompatibilities, MySQL variations between the versions on my local dev box and my host, etc. My head is full of some of these quirks, which I will forget very soon and anyway will be solved and replaced with new ones.
Comment everything ad nauseum. You, or at least me, will forget everything in a few weeks. You are not writing it for others, but for your future self. Imagine you have memory loss like the movie MEMENTO. Don't just explain what is happening, explain WHY you are doing it. "This is because of an IE6 bug"
There are some ideas I was happy about in the project.I tried out what I call EIAE Everything Is Always Editable. I had no display mode and editing mode. If you saw some text, it was an editable field. This was more javascript, but it was cool. Perhaps a bit too cool as people did not expect to change their password so easily, but in general, I think this is the future.
I cut through a lot of the user blocking interfaces. Disk space is cheap. Signup took 2 fields: email and password. If you clicked "try editing a survey" you got an account, all you needed to do was change the email address. If there were a lot of garbage abandoned accounts, I'd clean them out later.
I only got to do part of what I had initially envisioned regarding graphing (one of the main reasons I started the project in the first place). but the little I did, I think was clean and clear.
In the end, I think it was a good design, but I didn't have the time to really bring it to market. The effort of publishing and promoting was a lot more than I expected. A partner with knowledge might have changed this.
I'd like to do it again. (Once the kids are grown up a bit.)
Automatically Create Table of Contents in Visio
I use Visio to create wireframe documents, and as updating Tables of Contents in Visio is very dull, I wrote a macro (a small program) that automatically generates a Table of Contents list for a Visio document. It is stored in a Stencil.
The Table of Contents format is:
1 First Page
2 Another Page
3 Etc Page
(Where the page title comes from the page title seen in the tabs at the bottom of the page.)
How to use:

- Set Security to Medium (to allow Visio to run Macros)

- Close Visio
- Open a Visio Document
- Select a text box that you want to put the table of contents in
- Open the Table_of_contents_creator_macro.vss stencil
- Choose to enable macros
- Select the text box you want the Table of Contents to appear in (or it will create a new box)
- Select Tools > Macros > Table_of_contents_creator_macro > Module1 > Table_of_contents_creator

- That’s it!
Here is the code itself (you would write this in the visual basic editor in Microsoft Visio)
Sub table_of_contents_creator()
'this macro creates a table of contents in a visio document by
'going through the pages in the document and adds the page number and page title
'by stephen turbek s@stephenturbek.com
'written for use in microsoft visio 2003 SP1
'adapted from http://www.greenonions.com/tocscript
'I added allowing user to select a text box and replace the contents, rather than build lots of little boxes
'this way you can style the text easily, and simply replace the contents when you update the doc
'note: this is my first VB script
' define a shape to use for the Table of Contents (TOC)
Dim TOCEntry As Visio.Shape
'get selection
Dim selectedShapes As Selection
Set selectedShapes = ActiveWindow.Selection
'is any shape selected to put the ToC in?
If selectedShapes.Count > 0 Then
'take the selected shape to put the table of contents in
Set TOCEntry = ActiveWindow.Selection.Item(1)
Else
'nothing is selected, create a shape
Set TOCEntry = ActiveDocument.Pages(1).DrawRectangle(1, 1, 7.5, 10)
TOCEntry.Cells("VerticalAlign").Formula = "0" 'make text box top vertically aligned
TOCEntry.Cells("Para.HorzAlign").Formula = visHorzLeft 'make text box left aligned
End If
'clear out the shape's text
TOCEntry.Text = ""
'a variable to hold the page array
Dim PageToIndex As Visio.Page
' loop through all the pages
For Each PageToIndex In Application.ActiveDocument.Pages
'exit when it hits the first background page (don't want those in the ToC)
If PageToIndex.Background Then Exit For
'append the page number, a tab, the page name, and a return to the ToC text shape
TOCEntry.Text = TOCEntry.Text + CStr(PageToIndex.Index) + vbTab + PageToIndex.Name + vbNewLine
Next
End SubLabels: table of contents, visio, visual basic
Real Wireframes Get Real Results
Published on 09/19/2006
http://www.boxesandarrows.com/view/real_wireframes
Read the PDF “Just because project teams understand the purpose of wireframes, that doesn’t mean everyone will. Similar to listening to someone sing out loud to his iPod: we only hear the singing, while the person hears the whole orchestra.”
How many times have you been asked, “So, is the new website going to be black and white too?” after presenting your wireframes to a client or a usability test subject?
This question is almost a traditional part of being an information architect. Wireframes do not clearly define what they mean to convey, leading to confusion. This is most apparent in wireframe usability tests with users who don’t know anything about the project or process. Fortunately, there are a few simple steps that will make wireframes be understood by anyone. They don’t even have to be much more work. It’s simply a matter of choosing to “get real” from the start.
Real people don’t understand wireframes
Usability tests are done to get early feedback on content and functionality decisions from people outside the project team. These participants, unfortunately, are not sure how to respond to a wireframe. It is not intuitively clear what they should be doing, which site they are looking at (public site, intranet, client site)—it may not even be clear that they are looking at a web page. This lack of information and context adds a bit of cognitive friction to each step in the process. This level of confusion results in less confident answers and fewer opinions.
Wireframe tests usually take place with well-meaning, but unsophisticated users. They generously accede to poking and prodding and answer questions as best they can, despite not exactly understanding what is wanted. This realism gap is due to the lack of definition of what should and should not be looked at. “Look at the field names but not body copy.” “You can look at the forms but not images.” “Comment on the page layout but not design, and, yes, the font size but not font.” It’s no wonder that the layperson is confused.
Visual affordances, such as color and underlining links are key to using a site, and these cues make a significant difference in a usability test. Users cannot confidently predict how they would use a page if they don’t recognize links or can’t read what the page expects them to. Information architects, however, tend to shy away from these cues because they don’t want to step on designers’ toes. Wireframes, after all, are not designs.
Or are they?
Avoiding “design” elements removes visual cues that users rely on:
- Color, which identifies hyperlinks and focuses the user’s attention on an element of the page
- Branding, which confirms that the user knows where they are
- Recognizable web page elements, such as forms and search fields
- “Content,” such as account numbers or product names, which allows experienced users to focus on how they would really use the page, instead of interpreting “lorem ipsum”
The boundaries of the role of the information architect shouldn’t be more important than clarity.
Originally the term “wireframe” referred to a quickly rendered 3D model showing the model’s structure used while the model maker was working. They were much faster to work with than the full rendering. Interestingly, they are not currently used as modern tools and techniques are fast enough.
Why wireframes?
Information architects construct wireframes instead of designing final pages, in part, because:
- Wireframes are faster.
- Information architecture and design phases can happen in parallel.
- Wireframes force viewers to focus on the content, not the visual design.
Notice anything? All these goals are internally focused on the project-team. Wireframes aren’t created for external audiences.


Figures 1,2: Originally the term “wireframe” referred to a quickly rendered 3D model showing the model’s structure used while the model maker was working. They were much faster to work with than the full rendering. Interestingly, they are not currently used as modern tools and techniques are fast enough.
Wireframes are conceptual models of a page that web design teams have become to interpreting. Each wireframe is surrounded by experience in reading them, knowledge about the project scope, knowledge about how the designer will use the document. Liz Danzico writes about this wireframes becoming project memory in the article “The Devil’s in the Wireframes.”
Just because project teams understand the purpose of wireframes, that doesn’t mean everyone will. Similar to listening to someone sing out loud to his iPod: we only hear the singing, while the person hears the whole orchestra. Likewise, the test subject knows only that “the page isn’t going to look like what they see,” but what they see is all they have to react to.
Wireframe makeover
Here is an example of the simple steps to transform a standard wireframe into a realistic wireframe. In this example, let’s say we are designing a registration process for Verizon.com (no special criticism is intended for the site below).
The site we are designing for Verizon.com:

Here is a standard wireframe:

And here is the same wireframe, made more real. (An additional 10 minutes was required to use the standard header and a library of realistic form elements in Visio or InDesign.)

And here is a version re-using Verizon’s standard buttons and clip art. (Additional time: two minutes.)

Which do you think would be easier for test subjects to understand?
Tips to get real
These tips are best for intranets or sites with defined styleguides, and less useful for graphical or marketing pages where the design is the content of the page.
- Make a header bar with the company branding. It should look like the site they are used to, showing the company logo.
- Use color. Hyperlink color is a basic requirement.
- Put a web browser frame around the image (or at least the first page).
- Use real form elements, not drawn replicas of them.
- Create a template or library of real form elements (feel free to share yours in the comments below).
- Avoid lorem ipsum. Instead, use: “Descriptive text that will explain this product.” to avoid confusion about greeked text.
- Use accurately sized fonts (this also keeps you honest about what can fit on the page).
- Use real detail such as products names and data. Especially on transactional tools with expert users, users care about what they are reading and recognize and use data like account numbers. It may not be important to us, but they have expectations that need to be met.
Compare the wireframe to the current site, note any changes in functionality that may trip them up.
The page doesn’t have to be perfect, just enough to give the test subject their bearings. A semi-designed page is easier to understand than a non-designed page. This is not wasted work; these decisions need to be figured out at some point. Consider bringing designers into the process earlier, cooperating on file formats and processes. It might even make their jobs easier.
Are traditional roles limiting projects?
Wireframes are in fact the first design iteration, and this overlap with visual design can be uncomfortable for teams. However, denial is not the way to fix this issue. Good collaborative relationships should make this overlap an opportunity to reduce work, not fight over ownership. Concern that wireframe might be mistaken for a visual design, or worse, be criticized for lacking design, may be holding the entire project back. It is much easier to communicate within the project team than the outside audience.
Improving Web Navigation with the "All-Menu" Nav
read the PDFWhen DHTML was first introduced, there was much discussion over the complexity of dropdown menus. “Will users know to roll over the menu to display them?” “Can users handle elements that appear and disappear?”
Over time, the desire to include more links outweighed the additional complexity. Dropdown menus are a standard feature of many websites. But usability problems remain.
[image]
The dropdown menu (shown above) is a standard navigation element on many websites. The user moves the cursor over the selected item, causing a menu of items to “drop down”. No special criticism of travelocity.com is intended.
Dropdown menus can be surprisingly difficult to useIt is all too easy to forget that many people are less than expert in using the mouse. There is the inherent difficulty of accurately hitting a small target. Users must be careful to keep their mouse pointer in the proscribed areas. It can be difficult to move the mouse pointer from one menu to another. Many able mouse users have the same problem getting accustomed to a laptop track pad.
Tiny, fragile menus, as shown in this chase.com example above, are more difficult to use than they should be.
Small menus can be difficult to see on graphic-intensive pages
Dropdown menus are designed to be as minimal as possible, perhaps due to a lingering uneasiness with having something "cover" the page content. But when the user is navigating, we should help them focus on their task, allotting as much space as needed.
The tiny menu is lost on this visually complex page.
For even the most experienced users, it is often far too easy to select a wrong item or accidentally roll off the menu item. “Fly out” third level navigation menus are commonly reviled, as they underscore the precise mouse control needed to accomplish a simple task. Navigating is a basic functionality for a website; there should be no stress or difficulty involved in the task. We should question the usability tradeoff of dropdown menus and seek new solutions.
Unclear or overlapping categories require users to compare menusAnyone who has designed a corporate website has probably found that site architecture is often a compromise among logically consistent structure, competing business needs, promotions, and company culture and values. This can lead to inconsistent, overly general, unclear, or overlapping categories.
The architect of a site sees the navigation as a set of categories, with items “bucketed” within them. The expectation is that a user chooses the correct menu item, rolls over it, and selects the correct item from the list that appears, using the structure of the site to inform the decisions.
Users, however, are not so methodical. They are learning the structure of the site as they are using it. A consistent observation in many usability tests is that the user slowly, carefully moves the mouse pointer over each menu item, reads each menu and finally goes back to the best menu and clicks. In the quest to narrow the menus down to a few likely candidates, a complicated site requires new users to view each menu.
Imagine if a restaurant menu were designed like this:
Many people scan the whole menu to get a sense of the options, then make a choice in context of the whole, for example, ordering an appetizer to go with a certain entrée.
Navigation items give context to each otherA navigation category is defined not only by what it contains, but also by what it doesn’t. Users are often looking for a subject that may be poorly defined on the site, often referred to as “___ kind of stuff”. They will compare menus against each other to find the most likely area. Knowing all the options enables users to make the most informed choice.
Sites with unclear or overlapping categories require the user to compare and evaluate (e.g., Is my cell phone plan a “product” or a “service”?). Individual dropdown menus are not easy to compare. Users will move their mouse from one item to another, searching each menu for an item they recognize. Additionally, this action requires precise mouse control.
[image]
In this Travelocity.com example, a plane ticket can be found under “Flights”, “Vacations”, and “Last Minute Deals”.
[image]
In this chase.com example, would IRA retirement planning be found under “Individuals” or “Advice & Planning”? (Answer: Both, suggesting the architect knew it to be unclear.)
Seeing all the optionsAs we know from usability studies, users often do not think about navigation hierarchically, but often scan the page looking for a particular word. In studies of breadcrumb navigation, for example, the breadcrumb links weren't used directly but had the unanticipated benefit of containing the word the user was looking for.
An old solution to this problem was the sitemap. A popular navigation feature, the sitemap allowed users to see all the navigation options.
[image]
Volvo.com sitemap
[image]
Amazon.com has a menu not unlike a sitemap.
In sum, individual dropdown menus are poorly suited for users who are unfamiliar with a site, especially one with unclear navigation categories.
One solution: The “all-menu” navThe “all-menu” nav displays a wide field, showing all the menu choices, highlighting the column and items the user has moved their mouse over.
[image]
The Navicorp site
[image]
The user has rolled over the navigation bar, displaying the all-menu navigation layer. The “Services” column is highlighted.
[image]
The user has rolled over “Service Industries”, highlighting it.
The "all-menu" nav offers a number of benefits:
It enables the user to quickly scan the options available without moving their mouse. The highlighted column helps focus their attention on what they have selected, reducing the added visual complexity.
The "all-menu" nav is easier to use
The user will find it much easier to move their mouse pointer to another sub-menu item. Menus are not fragile and do not disappear as the user moves across categories. This increases speed and accuracy, benefiting all users. The large backdrop field makes it easier for the user to focus on the navigation above a vibrant and visually complex page. Helping the user avoid distraction during the fragile moment of navigation will assist them in accomplishing their task.
The "all-menu" nav makes it easier to compare navigation categories
Overlapping categories are less of a problem when the user can scan the sub items and compare them. Careful selection of the sub items can clarify what the website means by “products” or “services”.
Best Practices with the "all-menu" navThe "all-menu" nav is not appropriate under all circumstances and is best used in navigation where:
• one is concerned about ease of findability
• there are indistinct or overlapping categories, (e.g.,"products" and "small business")
• the user is unfamiliar with the site or subject
• the user is in an “exploring” mindset, rather than an “finding” one
It is less useful in situations such as these, where the navigation is too complex:
• more than 7 columns may not fit on a page
• more than 7 rows in several of the menu categories will likely be too many for the user to comprehend (Rarely used items can be hidden in a “show all” link, expanding the menu to show all items.)
• the audience is highly familiar with the site, and in a “finding” mindset rather than an “exploring” one
ConclusionThe limitations of the standard dropdown menu have never been fully addressed. The "all-menu" nav offers a potentially useful design solution to these problems. In general, we should not accept standards blindly, but explore new opportunities to see how we can better help our users. The competing needs of content, promotion and advertising, and navigation will continue to grow. We may yet see navigation layers cover the entire page as users switch between navigating and interacting with the page.
Your Interface is your company
Avenue A | Razorfish whitepaper
Read the more beautiful PDFProblemOnline interfaces have become the primary way clients transact with financial services firms, yet many of today’s interfaces are poor reflections of these firms.
SolutionFinancial services firms should respond through a greater investment in online systems for internal and external users.
Benefit A user-centered design means fewer help desk calls, happier clients, and more business.
The Financial Services (FS) sector is in a period of rapid evolution: mergers, new offerings,technological change, and increased client expectations mean that firms cannot stand still and thrive. As access to capital markets becomes a commodity, services firms need to differentiate themselves through lower costs or, preferably, the quality of their products and services. They must pay attention to the way in which their clients prefer to interact with them, which is increasingly online --through web sites, portals, and other software.These changes are profoundly affecting retail and institutional lines of business alike.
Tellers and monthly statements notwithstanding,financial services are now largely delivered through online interfaces, as clients have become more comfortable with using the Web for financial transactions. FS companies have essentially become giant software companies: their clients use their online banking interfaces, retirement planners, private wealth management portals,institutional research, prime brokerage applications, custody reporting, trading, and execution systems. In some larger FS companies, the IT staff numbers tens of thousands of employees. Face to-face and phone conversations are too expensive to offer to the broad base of the client value pyramid, and, in any case, client representatives would rather focus on selling than telling a client their balances. These circumstances mean that many clients have little to no contact with an FS advisor. From the clients point of view, their online experience is the company.
New challenges for financial services
Increased competition is leading to commodificationThe information gap between clients and FS companies is growing smaller, especially as clients increasingly use multiple companies, engage third party advisers, and become better educated via the internet. With the repeal of the Glass-Steagall Act, FS companies have increased their offerings, leading to unprecedented competition, with more and more ways for clients to invest, manage their holdings, and analyze their portfolios. Informat