Creating Universal Systems

"There is only one problem with common sense; it's notmost operating systems today. However, developers
very common."should be cognizant of this requirement, particularly as
- Bryce's Lawthey are designing Inputs, Outputs, and Files. Check
GENERAL DISCUSSIONwith your hardware or operating system vendors for
In this day and age of "globalization" more and morespecifics. Better yet, check it out on the Internet.
Information Systems are crossing geographicalINPUT/OUTPUT DESIGN
boundaries. Because of this, serious considerationDuring design of the Inputs and Outputs, consideration
should be given to making systems universallyshould be given to the expression of certain types of
applicable to any country. Some mightconsider this andata elements; for example:
impossible task, but it is actually easier than youmight- DATES - How dates are to be expressed may vary
think. It just requires a little common sense and somefrom country to country; for example: Nov 13, 2004 -
planning.13 Nov, 2004 - 2004-11-13. How a date is presented to
The biggest problem in making universal systems isan end-user is different than how it is physically stored.
that programmers tend to bury too many of the details- TIME - This is similar to dates; some people like to
of a system down in the program source code, whichsee AM/PM, others like military time, e.g., 14:30 (2:30pm)
is not a good place to tinker around in. Instead, certainNOTE: Regardless of how Dates and Times are to be
elements of the system should be placed in separatephysically presented to the user, standards should exist
files thereby making it convenient to translate.to express how dates are to be physically stored,
Consideration should be given to creating separatesuch as "YYYYMMDDHHMMSS" (Year/Month/Day
files for:Hour/Minute/Second). Failure to do so caused the
PRINT MAPS - An output, such as a report or printout,horrendous Year 2000 (Y2K) problem a few years
can be decomposed into various sections (records).ago.
When a program is executed, one of the parameters- TIME ZONE - Representing local time.
should be the desired language (e.g., English, Spanish,- CURRENCY - What form of monetary values
German, French, Japanese, etc.). Based on thisshould be expressed; Dollars, Yen, Marks, Pounds, Euro
parameter, pertinent print maps are called from a "PrintDollars?
Map File" to assemble the requested output.- MEASUREMENTS - Accommodate different units
SCREEN PANELS - This is similar to the "Print Mapof measures for weights (pounds vs. grams),
File" whereby the sections or a screen can bedistances (miles vs. meters), and temperatures
decomposed into its various panels (again using(fahrenheit vs. centigrade).
records). As a program is executed, pertinent panels- TEXT - The Western world prefers viewing text
are called from a "Panel File" to build the screen.horizontally from left-to-right, but as we go into the
MESSAGES - Messages are too often buried inEastern countries, they like to see text vertically,
source code. Instead, they should be placed in asometimes right-to-left.
separate file for printing or display in a screen.Many operating systems today provide the means to
HELP TEXT - Help text should also be maintainedcapture such settings. However, it might be necessary
separately for easy retrieval.to establish a separate "Personal Settings File" for a
Separating Maps, Panels, Messages, and Help textparticular Information System.
from program source code, makes it easy to translateAttention should also be given to DEFAULT settings,
to foreign languages. Further, it encourages developersparticularly at time of input. Further, where applicable,
to share and re-use resources, thereby contributing toconsider auto "UPSHIFTING" or "downshifting" text as
integrated systems.needed. For example, most Internet addresses (such
A serious consideration in the Far-East is the Doubleas a URL or e-mail address)should be downshifted.
Byte Character Set or DBCS which is used toThe techniques mentioned above are simple and
accommodate Japanese and Chinese Charactereffective to implement. It is important that a translation
alphabets with voluminous characters. To constructstrategy be considered as part of the system design.
one such character, two bytes must be stored in aDuring design, your mantra should be "Know your
single byte (hence the name "DBCS"). Fortunately, theaudience; make it usable; think Global.
technology has evolved and DBCS is implemented in