Showing posts with label internationalization. Show all posts
Showing posts with label internationalization. Show all posts

Friday, July 17, 2009

Web is making new mistakes

Lo and behold! The web is making new mistakes.
But before I explain what, let's first look at previous common mistakes and misconceptions, made by way too many designers, software architects or coders during those "Internet boom era" days (some might say "dark days")...

1. "That darned encoding stuff"
That was way uncool in the 90s, when you got and e-mail with incorrect encoding set, or arbitrarily changed by one of SMTP relays, or not set at all.
According to RFC2047, if an encoding of a body or subject is not indicated, it should be treated as ASCII.

"Thanks" to development of web clients (browsers, instant messengers and e-mail clients) which allowed to override this RFC by setting "Default" encoding (changing it from RFC ASCII to accomodate lame content), many other developers and web masters could still not care to indicate international encoding in their content, nor process it properly in case of relays and web platforms. They relied purely on user setting his "Default" encoding to his native language (for me, that was Русский).

All this havoc continued until the bloom of Unicode in XXI century, and nowadays most e-mail bodies are properly encoded and re-coded, while I cannot quite say the same for e-mail subject lines (especially from some forum/BBS platforms).
AOL seems to have fixed their ICQ offline messages encoding only with the latest update of protocols, which broke some clients. That was one reason why RFC822 was not that widely accepted.


2. Browser wars (image courtesy of Saint Michael's blog)
Vertiginous success of Microsoft Explorer as the dominant browsing technology, coupled with Microsoft's competitive practice of ignoring or bastardizing standards, led de-facto to a massive deviation from official W3C standards and behaviours.
Many webmasters never tested their stuff on another browser.
Most companies shrugged of the need to allow a bigger budget for true "web compatibility" testing of their intranets.
The competitive ecosystem was not healthy when Microsoft almost monopolized the market. Microsoft's "Embrace and Extend" strategy had it's negative impact on true multivendor/multiclient compatibility in the Web.
Not only Microsoft's to blame, of course.
Netscape, which probably had 85% browser market share before Windows 95 came out, had made a decision which caused it lose the leadership: to re-write the browser from scratch. Thanks to that, we now have Mozilla Firefox!
Firefox, Google and Apple are leading the world to a standards-based future.

Now, what's wrong with some modern and popular web sites?

With the rise of user location services based on incoming IP address, it became possible to have a fair guess about which country user is in.
The wrong part about it's usage is that some major sites simply imply your native language from your location!
THIS IS VERY WRONG!
And even the fact that it works for majority should not preclude your clear judgement.
Just like ASCII worked for most users in the early 90s simply because most users were in U.S., we should not lay a new time bomb with incorrect usage of the metadata.

First of all, not all people living in a particular country, can read in local language. Some are travellers, some are expats, some from ethnical minorities.
Secondly, with the current state of corporate globalization, there are web proxy servers which are placed in one country per region. The regions are APAC (Asia and Pacific), EMEA (Europe Middle East Africa), LAT (Latin America), NAM (North America). Those comprise communities of different languages, whereas having a single geolocation point on the map, speaking from IP address perspective.
Just imagine some global company install a major web proxy in China - should most employees then be greeted by all major sites in Chinese?

In order to let websites know about user's language preferences, there is RFC2616 (Accept-Language header) and Language preferences in browsers, where user can set up the order of preference for the languages he wants in web content.
Good usage examples of are here or here.

I strongly believe we all should comply to standards, instead of using geo-location as an indication of user's preferred language.

NB: There is a silver lining in such incorrect websites' behaviour - I cannot read popup advertisements of those banner networks which rely on location of my company proxy.