Training for Internationalization

Dr. Dobb's Journal Fall 1998

Getting up to speed for global markets, local jobs

By Debra Webster

Debra is managing editor at Webster and Associates. She can be contacted at debra@ websterandassoc.com.
Sidebar: Multinational Software Definitions
Sidebar: Hall's Homework

Come Y2K, Bill Hall will have to make good on a bet he made several years ago with fellow colleagues. He predicted that, by the year 2000, all programmers and the companies they work for would be fluent in internationalization issues.

Far from it. Hall's schedule remains full of classes and training sessions designed to teach programmers the basics of internationalization -- the art of engineering language- and locale-neutral software.

"From my experience, it seems that most of us involved in software development have little awareness of how to develop software for international markets," Hall said. "It has a lot to do with the way programming is taught. Any standard textbook on programming treats the Roman letters A to Z as if they were the only characters in the world."

Getting Up to Speed

If they want to learn the ins-and-outs of internationalization, programmers typically have two choices:

If you sign up for classes such as Hall's, you'll be introduced to the basic principles of software internationalization, including character sets, locale, and resource management. The course also covers input methods and Far East issues, along with some tips, tricks, and techniques to create and maintain internationalized applications.

Over the course of many years, Hall has evolved into a self-professed "internationalization freak," bent on teaching programmers -- and their companies -- the importance of internationalization. His historical take on the topic is extensive. He holds five degrees, from B.E.E. to Ph.D., in subjects ranging from computer science and electrical engineering to mathematics (he studied computer science at the University of Michigan in the early '80s, when "internationalization" was nobody's buzzword). After teaching for 15 years at the university level, he joined companies such as AT&T, Olivetti, Novell, and Netcom.

He has also published and spoken widely in forums relating to internationalization. Last spring, he spoke at the Unicode conference in Tokyo on "Unicode and Win32 Internationalization," a topic he addressed in articles appearing in the Microsoft Systems Journal and Journal of Win32 Development.

He currently serves as Director of Internationalization for SimulTrans (Mountain View, California), a leading localization house. In addition to the more routine localization services, SimulTrans provides internationalization services and training (in the form of Hall) to clients.

Who's Taking the Plunge?

Programmers at Adobe Systems ( in San Jose, California) are among the fortunate who don't have to take an evening class after working a full day. Claudia Galvan, International Engineering Manager at Adobe, provides both in-house training for programmers and brings consultants like Hall on site.

"I would say 90 percent of the engineering population is not trained in internationalization," Galvan said. "But while the engineers need training, there aren't that many sources of information available."

Galvan took the extension course two years ago when it was cotaught by Hall and John O'Conner and found it "very, very good." When she needed a consultant to come to Adobe to speak with her engineers, Hall came to mind (O'Conner has since moved to Ventura where he works for QAD Inc.). She asked that he tailor his presentation for the 70 engineers to concentrate on the technical aspects and less on the broad-brush topic of globalization. SimulTrans' seminars, such as the one presented to Galvan's group, are often distilled, company-tailored versions of Hall's full extension course.

As Galvan noted, Adobe is a truly multinational company -- every product is fully internationalized. Staff can even tune in to the company's intranet pages devoted to internationalization, a project of Galvan's team, to learn the latest. In addition to the training, her team helps in the development of localization tools and the internationalization engine at Adobe.

When it comes to hiring programmers, Galvan said those trained in internationalization issues are "definitely high in demand."

"Leaders such as IBM, Oracle, and Microsoft recognize that added value, and pay accordingly," Galvan noted (she held a similar position at Oracle). "And as everyone expands their markets, including the smaller software companies, the demand (for internationalization-trained programmers) will only increase."

Carl Morimoto, a member of the technical staff at Silicon Graphics (Mountain View, California), took Hall's extension course last spring. While SGI is "doing this kind of thing everyday," Morimoto was curious as to how localization and internationalization play out on the Windows environment (SGI software is developed on UNIX).

"Everything in the [Silicon] Valley seems to be moving toward NT," Morimoto noted. "I wanted to learn more about how the programming general architecture plays out on NT."

His advice to fellow programmers: "Just be aware of the issues, especially now with the growing global market." Even at forward-thinking SGI, Morimoto is involved in modifying previous legacy code so that it is properly enabled for international markets.

Hall noted that the scenario Galvan describes is most common when it comes to class participation. Programmers are routinely kept so busy that they don't have time to ponder, let alone study, a new set of coding practices -- unless management steps in and dictates the action.

"Management is often fed up with bad localization experiences, all the bugs, all the problems that need to be fixed, largely because the underlying code base was not properly internationalized as part of the normal development process," Hall said. "As a result, they are the ones who are motivated to adopt the internationalization philosophy. They realize it will streamline the entire effort and greatly reduce the costs of localization."

Hewlett-Packard is a great example of a company fully committed to the internationalization frame of mind, Hall said. "They will even delay a release of a product if it's not fully internationalized." Microsoft is similarly committed to internationalization measures. Both companies also invest heavily in localization services, ensuring that their products support 20 or more natural languages.

Hall would like to see more architects, quality-assurance personnel, engineering managers and project leads sign up for the classes "since they are the ones who design and implement world-ready code."

SimulTrans has no qualms about training a company's team of programmers in the art of engineering locale-neutral software despite internationalization being high on its own list of services.

"We provide training to other companies' engineers so that they produce world-ready code, improving their revenue success and saving us and their end-users abroad significant inconvenience," Mark Homnack, SimulTrans' president and CEO, explained. According to Homnack, if the developers don't embrace the internationalization process, they repetitively introduce locale-specific errors -- errors that require an internationalization round with each release.

"It's in our best interest to train and encourage programmers to develop internationalized software," he said. "When companies write software for a global audience, everyone benefits. Even the engineering and testing costs for these products are reduced...We help our clients establish a long-term product development methodology that extends beyond a one-off, single-project focus," Homnack added. "Internationalization training improves the likelihood of both successful development programs and localization partner relationships."

Windows NT 5 Helps Pave the Way

A new release of an operating system is routinely accompanied by hype regarding features and capabilities. Unfortunately, what's often overlooked by product marketing managers in their quest to sound the best is an OS's increased support for internationalization.

With little fanfare, each version of an OS adds to its capabilities the ability to support more languages, scripts, and locales. These features raise the bar for developers and increase expectations among users who, in turn, expect all new software to follow suit.

Hall sees the forthcoming release of Windows NT 5 to be a good example. "In addition to adding several new locales, adding about 20 more items to its locale store, and upgrading NLS API's with new features, Windows NT 5 has leaped forward in its internal design," Hall said in reference to its use of a single, world-wide binary accompanied by language pack add-ons.

NT 5 can also handle complex writing systems. Hall was able to put this feature to the test when, using the English Beta II version of Windows NT 5 client, he used the simplest of applications ("Notepad, no less!") to enter several lines of text containing a mixture of Japanese, English, Arabic, and Russian. The text printed correctly, and the Arabic was shaped correctly and in the right-to-left direction.

"Pretty impressive for Windows, I must say," Hall noted. "I was afraid that I would not live long enough to see this capability."

Industry Trends

From Silicon Valley, Homnack enjoys a bird's eye view of the internationalization business. He founded SimulTrans in 1984 while pursuing a Ph.D. at Stanford University. Taking advantage of Stanford's resources and international researchers, his staff started with smaller projects but was soon translating technical specs for Intel, marketing materials for Apple, and online documentation for Autodesk.

Software localization became a primary focus in 1991. Since then, SimulTrans has developed in-house departments for translation, desktop publishing, localization, and its current crown jewel, internationalization.

"We've seen internationalization requests from our clients quadruple over the past two years," Homnack said in reference to the impetus to establish a complete internationalization program earlier this year. "As operating-system designers such as Microsoft and Sun facilitate internationalization through APIs and other means, our clients need training in the use of these tools." Training by Hall helps educate programmers in new methodologies, thereby ensuring that products are more easily localized and work correctly in all target markets.

Is SimulTrans in competition for the internationalization-trained engineers?

"We don't compete -- we supplement software companies with our internationalization engineering advice," Homnack said. "Most software development houses don't recruit engineers with a specific international focus. We can teach the basic principles to most engineers so that they can cover most of their needs with little additional cost. And if they have more significant needs, they can outsource the challenge and associated overhead to us."

On the Other Side of Y2K

Hall would like to see programmers receive at least high-level internationalization training while in school, "to develop the awareness they need from the very beginning of their computer education."

"The current situation costs industry billions in unnecessary development costs," Hall said. "It's time industry started leaning on the educators. If more companies pushed for internationalization training at the college level, guys like me could be out of work in a couple of years."

When reminded of his earlier Y2K wager, Hall smiled. "Yeah, it could happen. But I wouldn't want to bet on it.".

DDJ

For More Information

Kano, Nadine. Developing International Software for Microsoft Windows. Microsoft Press, 1995.

Uren, Emmanuel, Robert Howard, and Tiziana Perinotti. An Introduction to Software Internationalization and Localization. Van Nostrand Reinhold, 1993.

Lunde, Ken. Understanding Japanese Information Processing. O'Reilly & Associates, 1993.


Copyright © 1998, Dr. Dobb's Journal