19
1 Globalization Issues in Embedded Systems [Medical Devices] Jon Ritzdorf Solutions Architect “a special-purpose computer system designed to perform one or a few dedicated functions” Embedded vs. General-Purpose (Personal Computer) Benefits Usually Portable Cheap(er) to produce Reliable Defining “Embedded” Systems VS. VS.

G11n Issues In Embedded Systems Med Dev

Embed Size (px)

Citation preview

Page 1: G11n Issues In Embedded Systems Med Dev

1

Globalization Issues in Embedded Systems[Medical Devices]

Jon RitzdorfSolutions Architect

“a special-purpose computer system designed to perform one or a few dedicated functions”

Embedded vs. General-Purpose(Personal Computer)

BenefitsUsually PortableCheap(er) to produceReliable

Defining “Embedded” Systems

VS.VS.

Page 2: G11n Issues In Embedded Systems Med Dev

2

Prevalence in the Medical Field

Got Global?

During development embedded device development is locallyfocused

North American market, maybe UK/AUS

If considered at all, going “global” is an afterthought

“We’ll worry about Japan later”

“After we get this product released locally, then we’ll deal with Brazil”

Page 3: G11n Issues In Embedded Systems Med Dev

3

A Slippery Slope

Waiting until a product is fully

developed before making it “global-ready” is risky

Time

$$$

Market Share

Cost is exponentially more to retool after the fact

vs. doing it right from the beginning

Top 5 Challenges

Main hurdles in creating “global-ready” embedded systems for the medical field

Date / Time / Number Conventions

Patient Names

Non-English Character Support & Display

“Custom” User Interfaces

User Interface “Real-Estate”

Page 4: G11n Issues In Embedded Systems Med Dev

4

Date / Time / NumberDate / Time / Number

What day is this?01/02/03

US: January 2, 2003France: February 1, 2003Japan: February 3, 2001

What number is this?1.234

US: One – point – Two – Three – FourGermany: One-thousand Two-hundred and Thirty-four

1,234

Date / Time / Number

Time8:00 PM

Japan: 20:00

Not all countries use a 12-hour clock!

Of note…Also can’t assume “:” is always used to separate hours:minutes:seconds!

Italy: 20.00

Page 5: G11n Issues In Embedded Systems Med Dev

5

2/11

3:00p12a 6a 12p 6p

4.00 U

Date / Time / Number

Date / Time / Number: Solutions?

Ideally, build in “locale awareness”for date/time/number*

date/time formattingnumber/date/timeseparators

*Java Locale Class, C++ Locale Class, .NET Culture Class…

OR, ISO 8601 – Universally understood date/time formats

CCYY-MM-DD = 2008-07-0824-hour clock = 20:00

06/24/083:00pm4,000.00 U

24.06.0815:004.000,00 U

Page 6: G11n Issues In Embedded Systems Med Dev

6

Date / Time / Number:Solutions?

97,44 %

Français

Patient NamesPatient Names

Different patient name conventions are rarely supported

John SmithGiven name + Family Name

Smith, JohnFamily Name, Given name

Page 7: G11n Issues In Embedded Systems Med Dev

7

Patient Names

ChineseAlways family-name followed by given-name

毛泽东 (Mao Zedong)

HungarianFamily-name followed by given-name (no middle names)

Kovács Júlia

IndonesianSingle names are common

SuhartoLonger names without family-names

Diah Permata Megawati Setiawati Soekarnoputri

Patient Names

Page 8: G11n Issues In Embedded Systems Med Dev

8

Patient Names

VS.VS.

StevenSteven

毛泽东毛泽东

Patient Names: Solutions?

Two major forms of name conventions

“Western order”Names can be broken into multiple fields| First | Middle | Last |

“Eastern order”One field for the entire nameOften written | Last First | but anything can be input

Page 9: G11n Issues In Embedded Systems Med Dev

9

Names…and Data too!

Other patient name globalization challengesCollation/Sorting

Not all langs. sort A-Z like English!Not all langs. have an alphabet!

Other patient data related challengesNational IDs AddressesPhone numbersWhat we might consider “private” information

Religion (required in Indonesia)

NonNon--English Character SupportEnglish Character Support

Characters outside of the English alphabet can cause multiple issues in embedded systems

Page 10: G11n Issues In Embedded Systems Med Dev

10

Non-English Character Support: I/O

Support all international users and Input/output of all scripts without:

breaking functionality

incurring data loss

display problems

…generally frustrating or angering a potential user of the product

головная боль??????? ????

Non-English Character Support:Keyboards & Display

Other character support globalization challengesKeyboard SupportUser Interface Support

Page 11: G11n Issues In Embedded Systems Med Dev

11

Non-English Character Support

Why the problems?

Old ProductEmbedded system programming = “low-level” code

Little to no support outside ASCII

New ProductNo thought given to global user base in design, engineering and programming phases

Non-English Character Support:Solutions?

If for a Future Product…

Force teams to think “global”

“Don’t forget about potential users in [insert country here]!”

Embrace UNICODE as your character set…

Holds scripts of the world’s major languages

Pass, parse or manipulate data in any language

Ideally, program in languages with UNICODEas native (default) for text

Java, C#, [Fill in the blank].NET, XML

Page 12: G11n Issues In Embedded Systems Med Dev

12

Non-English Character Support:Solutions?

If for an Existing Product…

Have teams test existing products with non-English text

A great learning experience

Breaks almost everything ☺

Implement UNICODE into core text operations…

Not so easy for “old” code

Non-English Character Support:Solutions?

If old code is stubborn to comply…

Maybe time to consider a “New & Improved” version?

Mostly issues with older C/C++ embedded systems

Back at the drawing board?Huge advances in embedded platforms over the past 5 years

Windows CE Embedded.NET Micro FrameworkJava ME (Micro Edition)Embedded Linux

Page 13: G11n Issues In Embedded Systems Med Dev

13

““CustomCustom”” User InterfacesUser Interfaces

“Custom” User Interfaces

Traditionally a must for all embedded systems

There was no UI toolkit for “low-level”programming languages

Resource restrictions made implementations of “Windows” style interfaces impossible

UI Types of the past…Line drawn (vector) interfacesRaster (bitmap) images with text on topASCII (English) Only interface

Support for only ASCII (English) text and a simple 1-byte font

Page 14: G11n Issues In Embedded Systems Med Dev

14

“Custom” User Interfaces

Inspiration can be found in the telecom industry

“Custom” User Interfaces

Medical devices stuck in the past?

Neuromodulation Device company last week: “We can’t support accents in our UI…the code is 10 years old. Have the translators use unaccented words.”

German

French

Korean

Page 15: G11n Issues In Embedded Systems Med Dev

15

“Custom” User Interfaces: Solutions?

Custom UIs & monolingual support should be “nostalgic”

UI frameworks with international support are available for every major programming language/platform

Memory/processing power cheaper (and smaller) than ever

Multilingual fonts are widely available (Thanks to Unicode!)

Consider a new UI built on established frameworks with STRONG international support…don’t build your own!

Qt Embedded (multi-platform)

GTK+ & “Pango” (multi-platform)

MFC/ATL (Windows CE Embedded)

WPF (.NET Micro Framework)

User Interface User Interface ““RealReal--EstateEstate””

Med. Dev. are oftenverycrow-ded

Page 16: G11n Issues In Embedded Systems Med Dev

16

User Interface “Real-Estate”

Leads to many globalization issuesAesthetics

small fontsoverlapping

Translation relatedlength limits & abbreviationsconcatenation

User Interface “Real-Estate”

Setup Close

SchließenAbbrechen

CancelEinstellungen

安裝 關閉取消

Setup CloseCancel

Page 17: G11n Issues In Embedded Systems Med Dev

17

User Interface “Real-Estate”

Space for expansion in three areas are crucial for other languages1. Overall screen space

don’t crowd controls on one screen

2. X and Y axis for each controlroom to grow up and out

3. Spacing between controlsroom to make larger controls if text still doesn’t fit

Setup CloseCancelexpandexpand

expandexpand

expandexpand

User Interface “Real-Estate”

Dynamic resizing/moving of controls in a user interface ALSO saves time

Setup CloseCancel

Einstellungen SchließenAbbrechen

Page 18: G11n Issues In Embedded Systems Med Dev

18

User Interface “Real-Estate”: Solutions?

For tight screens consider…Extra dialogsTabbed interfacesIcons/visuals in lieu of text

Provide any unresolved length limitations up front beforetranslation begins

Abbreviations might be available, but don’t assume anythingAbbreviations can exist in English and not in other langs.

…and vice-versa!

Shrinking fonts to fit text is OK…sometimes

安裝 關閉取消

Good Examples?

St. Jude Medical: MerlinRuns on Embedded Linux and Qt

Page 19: G11n Issues In Embedded Systems Med Dev

19

Good Examples?

Zoe Medical: Well@Home & Nightingale PPM2Runs on Windows Embedded CE (.NET)

Perfect Examples?