Another useful weapon is on the menu today. Starting as usual with the rhyme:
“It´s easy to think everyone works the same
That everyone has the same rules to a game
The traveller, hailing from way across the sea
His reality completely different might be“
So, what does it mean?
In part 2:Mischiveous Misconceptions – I wrote about things we think we know. This will be a tie-on to that.
I am talking about Localization, Internationalization & Globalization!
Localization testing is everything related to local culture and/or settings/formats/rules. You want your applications to work in the areas they are to be used in, right?
Internationalization is designing/building products that enable localization.
You want to be able to quickly and smoothly adapt your product to new areas, don’t you?
Globalization is the combination of the two. Easy!
So, what might this encompass?
Well, things including, but not restricted to:
– Format of addresses (fields, formats, order etc)
– Language (character sets etc)
– Time- and/or date-related (time zones & formats, date formats, calendar system etc)
– How we read (left-right, up-down, right-left etc)
– How colours and imagery is used and interpreted
– What measuring system is used
There are so many things that can go wrong with this!
How many have tried to order something from another country online?
Did it go…smoothly? No? Where did you get stuck?
For me it’s usually either “state” or that Swedish characters end up as gibberish on the actual parcel.
A pet peeve of mine is that so many developers today take it for granted. Modern IDE:s handle it “automagically” so they just assume it’s going to work fine. Let me tell you a secret: IT USUALLY DOESN’T!
Do some research! Learn about other cultures. Figure out where your pain points will be. Test. it!
Don’t assume people are like you, that things work like you are used to.
This time my story won’t be from my life: it will be one I regularly use in my talks about ethics and/or famous bugs.
In 2017, at the University hospital of Örebro, a routine examination was in progress.
The staff had, among other things, an ECG and a blood pressure monitor connected to keep track of everything.
During the examination, the patient got nauseous and fainted.
The staff diligently kept notes for the journal and entered “illamående” (nausea in Swedish) into the journal system.
The systems froze.
Why, you might ask? Because it could not handle Swedish characters: å ä ö.
Software supplier means these are unsupported character and recommend the hospitals change keyboard or not use the keys.
This time, the consequences were not catastrophically. The patient might have to do a painful examination again but no-one died at least, right?
Well. Imagine if this had happened during the delivery of my first child. The time when I lost way too much blood for anyones comfort.
Or during the very complicated and long surgery my Mom went through during her cancer treatment.
It is no joke people. Software has the ability to save lives.
It can just as easily… not.
Quote of the day
“A different language is a different vision of life”Federico Fellini
12 Reasons why Software Localization is so Dang hard – Oliver
“A coworker is asking about localization…” – Jennydoesthings on Twitter
Does your code pass the Turkey test? – Moserware
Mars Climate orbiter – Wikipedia