Usability, MVC, ASP.NET

1. December 2010 00:35
by Henrik Stenbæk
0 Comments

Language select best practice

1. December 2010 00:35 by Henrik Stenbæk | 0 Comments

Inspired by a discussion I had with a colleague recently (not really recently, more like 6 months ago) about the use of flags to choose language, I have reconciliation to assemble this list of best practice where users could select the language and culture on a website.

 

Ask users to select a culture

From a developer's standpoint, it is not enough that the user to select a language. To format dates, calendar, numbers and the like properly it is necessary to know language and country ("a culture").

 

en-US

en-GB

     
A large number with two decimals

123,321.99

123.321,99

First day of week

Sunday

Monday

Short date format

6/15/2009

15/06/2009

Within the same language exist culture-specific variations. A good (and now classic) example of this is from amazon where the text on the Add to Cart button varies between the  amazon.co.uk and amazon.com site:

image001 image002

 

Countries are not languages

The classic example of a bad “Choose of language” is the cases where a site prompts the user to choose a language from a list that only contains countries.

easportsactive

http://easportsactive.com/home.action has (until recently) this near to this wonderful misunderstood language selection. Entitled "Please Select your Language" invites the user to choose his language and then present a list of nine countries; several of them have more than one official language:

  • Canada has two primary languages: English and French (67.5% speak English only, 13.3% speak French only, and 17.7% speak both)
  • Belgium has two predominant languages: an estimated 59% of the Belgian population speaks Dutch (often colloquially referred to as "Flemish"), and French is spoken by 40% of the population.

 

Don’t display flags only

For many years, the experts recommended that you do not use flags for language selection. This recommendation has also found its way to W3C Working Draft “Authoring Techniques for XHTML & HTML Internationalization: Specifying the language of content 1.0”, Technique 16: Don’t use flags to indicate languages:

Flags represent countries, not languages. There are many countries that use the same language, and numerous countries that have more than one official language.

 

Yet there is a tendency that many sites still chooses to use the flag, this is linked to it may be difficult to scan a long list of countries and that a flag is a familiar and easily recognizable symbol.

When the flag is not used as the only symbol, but is followed by the country name and proper title (“select country”) it may work fine. For countries with multiple languages, these will appear after the country name as on www.tradedoubler.com where this technique work fine (note the two variants of Belgium and Switzerland).

tradedoubler

 

Treat the flag with respect

If you choose to use flags on a website it should be done with due respect to both form and color. Changing the flag can offend people's national sentiment but also actually be prohibited by law. In several western countries it is forbidden by law to scold other nations' flags. In Denmark, the only legal way to dispose of a national flag (Dannebrog) is by burning it while it is banned in Denmark to burn flags of other nations.

Apple.com has a complete overview of how not to treat all the world's flags. Under the heading "Choose your country or region" is a complete list of all the world's mistreated flags.

Apple

Who may, for example recognize the Japanese flag:

Apple_2

I dare not think of what a Muslim like the way the text (the Islamic declaration of faith) in the Saudi Arabia flag is pruned

Apple_1

For some reason it seems to Luxemburg and the Netherlands have the same flag, despite that the two flags are different on both the red and blue color (I think Luxembourg is the correct one).

Apple_3

 

Write the country and/or language name in its native tongue

delta_wrong_2 If a person who speaks only German enters the French version of the Delta Airlines website, it can be difficult to know that Germany is called Allemagne in French – Deutschland would be more correct

 

Language only

If the website does not have culture-specific formatting needs so it may be sufficient to let people choose a language and nothing else. Flickr has a list of languages written in native tongues:

flickr.

 

Language (followred by culture)

Facebook has chosen a solution where they listing language first followed by culture, if present: Français (Canada) and Français (France).

In the same way it’s possible to show both versions of Norwegian and it also opens the possibility to invent new cultures, notice “English (Pirate)” and “English (Upside Down)”, which is only possible due to this construction.

facebook2

 

Multistep culture select

Few websites offer users to select their culture through a multistage process. Pixmania.com is one of them, not graphically pretty :-) And it also assumes that the user knows his country's location on a map

pixmania1

(By the way – what has happened to Cyprus, it disappeared completely behind the "flag")

Clicking on the Switzerland flag on the map, shows a popup asking the user to select one of the 3 languages used in Switzerland

pixmania2

On the site the currency is default to CHF and the site still offers me to switch to one of the 2 other languages relevant for Switzerland.

pixmania3

The selected country and language is then shown in the address:

  • pixmania.com/ch/de/home.html
  • pixmania.com/ch/fr/home.html
  • pixmania.com/ch/it/home.html

 

Automatic culture selection

if the website uses Automatic culture selection: be polite and tell it to the user and give the opportunity to change back. Youtube automatically sets the user's language at the first visit ,from your browser's preferred language and shows a brief message about the choices made.

youtube

 

 

 

 

Suggestions instead of automatic selection

AlaTest suggests user to visit another domain (culture) version when the browser settings for preferred culture is not matched with the website culture.

alatest

No language

Finally consider if you need to have language selection at all.

Some sites don’t offer the user to select any language, if they have sites in different countries it’s possible to select the country and then gives the default and only language available for that country.

Amazon

amazon.com is an example of a side who don’t have language versions of their national sites. On the US site users is able to select Canada and are then getting the Canadian site in English.

2. April 2008 21:00
by Henrik Stenbæk
1 Comments

Option selection with instant AJAX availability information

2. April 2008 21:00 by Henrik Stenbæk | 1 Comments

I just stumbled upon http://www.webtogs.co.uk/ an AJAX enabled e-commerce site with a wonderful balance between AJAX, usability and design.

One of the well balanced functions is when the user need to select color and size - sold out "combinations" is showed instantly as well as the estimated delivery.

Notice - the cursor delay when moving over the buttons is due to the screen capture software - when browsing the site without screen capture there is no delay.

Watch the video or check it out yourself on http://www.webtogs.co.uk/.

6. August 2007 22:36
by Henrik Stenbæk
0 Comments

buyersvine.com - search usability disaster

6. August 2007 22:36 by Henrik Stenbæk | 0 Comments

I was thinking if it could be of any interest to post this at all, but now I’m doing it anyway.
When I was surfing for great AJAX usability experience, I ran into buyersvine.com where the search usability has ended up in a total disaster.

Buyersvine.com has created a drag and drop search function, I’m not sure if it’s right to call it AJAX, it’s more a DHTML implementation; but no matter what technology it is: it’s a classic example of a “because-it-is-technically-possible" misunderstanding.
On the search page they ask people to drag and drop search terms (called "search tags") from several lists to a collection of search fields. It not easy to do, especially not if one need to scroll the page at the same time.
One have a lot of search options to choose from, covering everything from the reasonable "Wine by Type" and "Wine by Price" to the more uncommon "Wine by Day" (what about a wine special usable for Wednesdays??), "Wine by Sport" not to mention the "Wine by Profession" (I never realised before that some wines are especially suitable for professors and others for poets).

What isn’t obvious is that the search is combined with 'and' between the search fields: if one selects the price range 50-70 and 70-90, the search shows up empty – because no wine cost both 50 AND 70 USD. At the same time: there are no results for at lot of the suggested "search tags" e.g. on the day tested the site didn’t have any wine in several of the suggested price ranges.

This search could have a huge usability improvement if they:
• Remove the drag and drop functionality
• Indicated next to the search tags how many results one can expect (e.g. "$150-170 (0)")
• Make users select the tags by checkboxes (when multiple can be selected) and radiobuttons where only one selection makes sense (for "Wine by Price", "Wine by Region" etc.)

A great example that less is more

See the video or try it out yourself on http://buyersvine.com/Tags

11. July 2007 08:18
by Henrik Stenbæk
3 Comments

Advanced search filter with instant AJAX feedback

11. July 2007 08:18 by Henrik Stenbæk | 3 Comments

Cofman.com has this great search filter for finding available holiday homes.

Instead of making people fill out a lot of search criteria, click the ‘GO!’ button and then have the result: we don’t have anything meeting your search criteria. Cofman give the user an instant response “{0} meets all your requirements”. But Cofman doesn’t stop here, they also provide another result “{1} houses meets nearly all your requirements” giving the user with a lot of preferences a second chance to find a house.

See it for yourself. Watch the video or go the cofman.com homepage.

 

3. July 2007 19:11
by Henrik Stenbæk
3 Comments

RememberTheMilk signup

3. July 2007 19:11 by Henrik Stenbæk | 3 Comments

remember the milk has this great ajax enabled signup process:

Especially pay attention to the way the Username is validated as you type with the text “{0} is not available”

Dave Ward has an ASP.NET AJAX username availability check implemented with ASP.NET and AJAX UpdatePanel.

Daves implementation it not, like the one rememberthemilk, working with key down but checks the availability when the control lose focus.