- Engineering Complexity
- Birth of Murphy for Java
- People = Problems
- Education Through Pain Management
- The Twenty-Cent Solution
- Fraternal Clones
- "We Lost the Napkin"
- The Devil in Blue Jeans
- Jack and the Beanstalk
- The Slashdot Effect
- The Funhouse Microphone
- That "New Car" Smell
- If I Can See It, It Must Be Wrong
- The Ugly American
- Murphy's Law
- Use Egg Cartons
- Conclusion
The Ugly American
Law: Program for the English speaking market and you are doomed to sell only to English speakers.
Q: Worldwide use?
Applications that are used all over the world must take into account time zones, dating systems, and languages. English is not understood by the entire world. Some users, even with knowledge of English, don't use English on a regular basis and thus need the application to be written specifically for their language.
Applications need to be designed for internationalization. It's very costly to convert an application to handle multiple languages. Java provides a lot of support for internationalization. If an application is to be international, design the capability into the application from the very start. Once internationalized, it's a simple matter of supplying text for each language to be supported.
A tremendous side benefit of internationalization is that the user interface is easier to manipulate. This means that when marketing decides to change the text or layout of the design, it's easier because the system is designed for change.
Low Risk
The infrastructure is in place and understands Java internationalization issues.
Domestic use is guaranteed.
High Risk
Not planned, but the application has a worldwide usage potential.
Targeting the Internet, with no control of users' location or language.
The development team has no previous experience with international applications.
Risk Management
All projects, without exception, should be written so that multiple languages can be supported. Programs will be amenable to normal changes and are easily expanded to support multiple languages.
Plan to target at least two foreign languages before going public with an application (even if one is "Pig Latin").
Hire a firm that specializes in internationalization of software that understands Java.