SlideShare a Scribd company logo
1 of 6
Download to read offline
Business Perspectives on Internationalization
- By Adam Asnes of Lingoport

This article appeared in ClientSide News, June of 2003:
http://clientsidenews.com

We get all sorts of questions regarding the technical aspects of
internationalization, but before any of those answers can become truly relevant to
a client’s efforts, the business decision questions must first be addressed. It’s
hard for some managers to understand just what is involved with
internationalization. Why is it different than translation; what is the benefit of
internationalization products and services; how do you measure the benefit; and
how do perform it better, faster, and more affordably?

Our company, LingoPort is focused exclusively on software internationalization
solutions including internationalization development services, our i18n software
products, and technical training. We partner with select localization companies to
provide complete globalization services. Given our focus on software
development, we are brought into the globalization process differently than a
localization company.

I suspect that if you’re reading this article, you’re involved in some way with the
globalization industry, so I’ll keep the definitions to a minimum.
Internationalization (also referred to as i18n) is important because it lets you
efficiently adapt your products for multiple locales, while minimizing support,
maintenance and localization costs worldwide. Internationalization consists of
any and all preparatory tasks that will facilitate subsequent localization efforts. It
can be performed on source code, the controls on a fax machine, a method of
writing a document, etc. With regard to source code, internationalization is
adapting software to support worldwide character sets and cultural formats (e.g.
numerical formats, currencies, date/time formats, etc.), global interface
requirements, data access, storage and retrieval and business rules.

Sometimes companies will internationalize their software in stages, thinking in
terms of specific locale targets, such as a European markets, the Middle East
and Asian Markets. Of course that’s an incredibly broad set of language and
culture possibilities, but from an engineering process the hurdles involve
supporting Latin character sets, Cyrillic languages, bi-directional languages (e.g.
Hebrew and Arabic) and what are often referred to as double-byte languages
(e.g. Chinese, Japanese, Korean, etc.). From a world market perspective, it’s
interesting to look at the percentage of world GNP that constituent regions of the
world make up, grouped by how you would internationalize (see figure 1).
Estimated GNP by I18n
                          2
            Market Region in year
                    B     0
                 Dire
                    i   O
                    4   th0
                          2
                 ctio
                    -                                  Source: compiled from world
                    %   e%0                 En
         A       nal                                   GNP figures from the
                        r                    3
                                            gli
        mul
         si                                            Encyclopedia Britannica
                                             2
                                            sh         2001 edition
          2
        tiby
         an                                  %
         ,5
        te
          %




                        Euro
                         En
                        pe,
                          3
                         gli
                        Non-
                          7
                         sh
Internationalization benefits affect both top-line sales opportunities and bottom
                          %
line cost reductions. Simply put, if you do a good job internationalizing your
software, your global customers will get a better quality product and you have an
easier time of taking care of them over the years.

Even if you never localize your software, your customers may have global
businesses concerns. They may have to support globalized data within their own
organizations and customers. Internationalizing back-end functionality of your
products will help them store, manipulate and retrieve data no matter the format
or character set.

If you do localize, proper internationalization will get localized software into your
customers’ hands faster. Revenue expectations are often tied to releases and/or
specific delivery targets. Ask yourself what the revenue impact is if a product is
not delivered on time, or does not meet the necessary specifications for a set of
markets. Chances are there are hard numbers in a company’s plan to relate to.
The quality of an internationalization effort directly affects the quality of a
localized product. Particularly in software, quality tends to be an invisible but
highly appreciated attribute. A really good interface isn’t very noticeable. It just
works very well. It stands to reason that to be competitive, you want your
products to function gracefully as a user in any locale would expect.

There’s a wide range of internationalization cost possibilities depending on
existing product technologies, architectural concerns and product lifecycle
decisions. In our business we have both customers that are undergoing their first
internationalization effort, and others that have been global for years. They have
somewhat different issues, but the same ultimate objectives.
Internationalization can scare off an engineering manager quickly. Given all of his
or her demanding deliverables, refactoring code may not be very high on the list
of things a development manager wants to add to product requirements.
Additionally, if a company is just beginning marketing efforts abroad, it’s very
possible that the bulk of their domestic customers won’t regard
internationalization as a top priority enhancement that will make them want to
buy more software. For some, that makes internationalization particularly
appropriate for outsourcing. However, internationalization efforts are often
performed in parallel to other development efforts. So outsourcing has to be an
extension of your development team. The internationalization effort has to be well
defined architecturally and procedurally. You are going to live with any
internationalization effort for a long time, so agreeing on requirements, coding
standards, build management, code merging, testing and acceptance is critical.

Another route companies will take to lessen the cost impact is to have a
distributor internationalize their software with a particular market or set of
markets in mind. While this approach typically looks much less expensive at first,
it creates expensive support and maintenance problems later. You likely will end
up with a forked version of code that must be supported independently and
doesn’t lend itself well to updates.

It can be quite daunting to revisit up to millions of lines of source code and adapt
it to support Unicode and other internationalization requirements. People will
refer to internationalization as providing Unicode support, but there’s more to it
than that. Besides, there isn’t just one Unicode method. Optimizing character set
handling over an application will vary depending upon how that application gets
used and its components. If your development team is undertaking
internationalization development efforts, it’s hard to know and control all the
issues that relate to good internationalization coding practices for immediate
tasks and for years to come. Internationalization becomes an ongoing
requirement that needs support. We have debuggers, compilers and automated
testing tools, but there had been a gap in tools that would help both our own
services efforts and our customers’ development teams with internationalization.

In performing internationalization services, we needed a way to accurately sort
through volumes of code quickly. Our customers had a similar need for an
internationalization auditing system that provides diagnostics and “just in time”
internationalization answers directly relevant to their own developer teams’ tasks.
Our Global Investigator software lets us quickly sort through it all and provides a
flexible, rules-based system that can support our clients’ development teams. In
terms of ROI, Global Investigator saves months of diagnostic efforts and greatly
improves project estimation. For companies that already consider
internationalization an ongoing requirement, Global Investigator provides a
system to support their global development goals. Actually, it’s this second group
that tends to be our best product customers.
30
                                                                                            M
x                                                                                           a
                                                                                            i
                                                                                            n
                                                                                            t
                                                                                            e
                                                                                            n
                                                                                            a
                                                                                            n
                                                                                            c
                               A                                                            e
                               r
                               c
15                             h
                               i                      T                      L
x                              t
                               e
                                                      e                      o
                                                      s                      c
                               c           C
                                           o          t                      a
                     R         t                      i                      l
                     e         u           d
                                                      n                      i
                     q         r           i
                                                      g                      s
                     u                     n
7                    i
                               e
                                           g                                 a
                                                                             t
                     r                                            A
x                    e
                               a
                               n                                  c
                                                                             i
                                                                             o
                     m         d                                  c
                                                                             n
                     e                                            e
                     n         D                                  p
4                    t         e                                  t
                     s         s                                  a
x
2                              i                                  n
                               g                                  c
x                              n                                  e




                                   Development Phase
                                   when
                                   an I18N bug is detected

     We have all heard that bugs get more expensive to fix the further they progress
     through the development and release cycle. Some might argue that
     internationalization issues are not actually bugs, as the product may still function
     in its natively intended programming language. But to a customer or sales team
     in another locale, they are truly bugs. Figure 2 illustrates the escalation of costs
     to fix internationalization bugs as a product moves through its globalized
     development cycle.

     As an example, a well-known printer manufacturer needed to provide
     internationalization support for new development efforts using .NET technologies,
     particularly C#. This company recognized that the cost of finding
     internationalization issues during the localization process is extremely high,
     forcing resolutions back into development and testing. Of an even greater
     concern were the costs of missed marketing objectives. They did not want to
miss planned global release dates, or release a product that didn’t meet their
locale-specific quality standards. They use our Global Investigator software to
review source code before completion, and to aid in the ongoing development so
that new internationalization issues are not introduced.

Another client, well known for making virus checking and network packet sniffing
software, was having trouble addressing various internationalization issues
buried in large amounts of C++ and Java. We applied our Global Investigator
software to pinpoint those issues and provide help on how to solve them. In this
case we also provided internationalization consulting and training.

To add productivity to long and tedious internationalization tasks, we have
created implementation tools that speed up the process of string externalization
and code refactoring, based on interfacing with our Global Investigator detailed
report output. The framework of our string extractor can be quickly adapted to
best suit application externalization requirements.

The next challenge for companies is to perform testing. As we saw in figure 2,
the cost of fixing an internationalization bug during localization is over three times
greater than fixing it during testing. However your team may not have the skills to
test a Japanese or Italian product. Since it’s before localization, you probably
don’t even have the translated strings to work with even if you had a tester with
the necessary linguistic skills. We have developed pseudo-localization tools that
insert gibberish pad characters around the existing strings within the product
interface. Now the tester can visually inspect for character set support and




interface expansion, based on the requirements of the languages in question.

This graphic shows how performing pseudo-localization lets a tester visually
inspect an interface for internationalization compliance.

Code merging is another risk that needs monitoring for any internationalization
effort. How this is performed depends on business and technical requirements,
but it needs to be minded closely. I have seen businesses that internationalize as
a branch of their code, and that branch never properly makes its way into future
product releases. Their global customers essentially are frozen at one release,
while the gap to the current release just gets larger with each passing quarter.
We prefer to perform regular merges at set intervals to avoid this problem. This
also requires good coordination with all development groups.

It’s also important to note that some internationalization efforts can be
compartmentalized through the application so that parallel localization efforts can
be performed, compressing time-to-market. In other words, when one section’s
internationalization is complete and all strings have been extracted, those strings
can be passed to a localization company for translation and testing, while the
next section of code is internationalized. This takes tight coordination with your
localization company with development and testing efforts. We have done this on
multiple occasions with our localization partners - it should be noted, we have a
good feel for working with one another.

There are many internationalization war stories, and the engineering process is
typically perceived as anything but glamorous. But we do it because
internationalization efforts are an important investment in sales opportunities
worldwide. With good planning and execution, internationalization can go
smoothly and become a routine part of your development process.

Adam Asnes is President of LingoPort, Inc, which specializes in internationalization
engineering and training and publishes Global Investigator software. Adam can be
reached at aasnes@lingoport.com - visit http://lingoport.com for more information

More Related Content

Similar to Business Perspectives on Internationalization (i18n)

Frank PIller: Service Providers Supporting Open Innovation
Frank PIller: Service Providers Supporting Open InnovationFrank PIller: Service Providers Supporting Open Innovation
Frank PIller: Service Providers Supporting Open InnovationFrank Piller
 
Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...
Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...
Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...Michael Heiss
 
Open Business @ DMY Berlin 2011 - MakerLab
Open Business @ DMY Berlin 2011 - MakerLabOpen Business @ DMY Berlin 2011 - MakerLab
Open Business @ DMY Berlin 2011 - MakerLabMassimo Menichinelli
 
Twitter Data Analysis
Twitter Data Analysis Twitter Data Analysis
Twitter Data Analysis Manan Gadhiya
 
From content to community
From content to communityFrom content to community
From content to communitypwcom.co.uk Ltd
 
slides_ZU_Text_mining_final (MEDIUM).pdf
slides_ZU_Text_mining_final (MEDIUM).pdfslides_ZU_Text_mining_final (MEDIUM).pdf
slides_ZU_Text_mining_final (MEDIUM).pdfPetr Korab
 
34 Rule, 38 Dotted, 38 Skip Handwriting Paper In Land
34 Rule, 38 Dotted, 38 Skip Handwriting Paper In Land34 Rule, 38 Dotted, 38 Skip Handwriting Paper In Land
34 Rule, 38 Dotted, 38 Skip Handwriting Paper In LandSandra Willey
 
The Multiverse Theory of User Needs
The Multiverse Theory of User NeedsThe Multiverse Theory of User Needs
The Multiverse Theory of User NeedsTanner Volz
 
Anc Corporate Presentation General
Anc Corporate Presentation GeneralAnc Corporate Presentation General
Anc Corporate Presentation GeneralRekha_Shah
 
CV Fabrizio Avanzini - ENG 2012
CV Fabrizio Avanzini - ENG 2012CV Fabrizio Avanzini - ENG 2012
CV Fabrizio Avanzini - ENG 2012Fabrizio Avanzini
 
Archetype Group Brochure
Archetype Group BrochureArchetype Group Brochure
Archetype Group BrochureStephen Fealty
 
Europeana v2.0 WP 7 & EuropeanaTech
Europeana v2.0 WP 7 & EuropeanaTech Europeana v2.0 WP 7 & EuropeanaTech
Europeana v2.0 WP 7 & EuropeanaTech Max Kaiser
 
Email benchmarking report UK 2010
Email benchmarking report UK 2010Email benchmarking report UK 2010
Email benchmarking report UK 2010Anton Lapkin
 
What is digital transformation and its impact on strategy using strategical f...
What is digital transformation and its impact on strategy using strategical f...What is digital transformation and its impact on strategy using strategical f...
What is digital transformation and its impact on strategy using strategical f...Gaye DELAHOUSSE
 
Case Study Renault Clio mobilike 2012
Case Study Renault Clio mobilike 2012Case Study Renault Clio mobilike 2012
Case Study Renault Clio mobilike 2012mobilike
 
Python in education
Python in education Python in education
Python in education pyconfi
 
Introduction to Continuous Delivery
Introduction to Continuous DeliveryIntroduction to Continuous Delivery
Introduction to Continuous DeliveryKmanthei
 
On Open Business @ EDUfashion conference - Ljubljana 02/06/2011
On Open Business @ EDUfashion conference - Ljubljana 02/06/2011On Open Business @ EDUfashion conference - Ljubljana 02/06/2011
On Open Business @ EDUfashion conference - Ljubljana 02/06/2011Massimo Menichinelli
 

Similar to Business Perspectives on Internationalization (i18n) (20)

Frank PIller: Service Providers Supporting Open Innovation
Frank PIller: Service Providers Supporting Open InnovationFrank PIller: Service Providers Supporting Open Innovation
Frank PIller: Service Providers Supporting Open Innovation
 
Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...
Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...
Social Media and ROI: Why use-cases are more compelling than Excel sheets; RI...
 
Open Business @ DMY Berlin 2011 - MakerLab
Open Business @ DMY Berlin 2011 - MakerLabOpen Business @ DMY Berlin 2011 - MakerLab
Open Business @ DMY Berlin 2011 - MakerLab
 
Twitter Data Analysis
Twitter Data Analysis Twitter Data Analysis
Twitter Data Analysis
 
From content to community
From content to communityFrom content to community
From content to community
 
slides_ZU_Text_mining_final (MEDIUM).pdf
slides_ZU_Text_mining_final (MEDIUM).pdfslides_ZU_Text_mining_final (MEDIUM).pdf
slides_ZU_Text_mining_final (MEDIUM).pdf
 
四大移动操作系统企业应用安全性和可管理性横向评测
四大移动操作系统企业应用安全性和可管理性横向评测四大移动操作系统企业应用安全性和可管理性横向评测
四大移动操作系统企业应用安全性和可管理性横向评测
 
34 Rule, 38 Dotted, 38 Skip Handwriting Paper In Land
34 Rule, 38 Dotted, 38 Skip Handwriting Paper In Land34 Rule, 38 Dotted, 38 Skip Handwriting Paper In Land
34 Rule, 38 Dotted, 38 Skip Handwriting Paper In Land
 
The Multiverse Theory of User Needs
The Multiverse Theory of User NeedsThe Multiverse Theory of User Needs
The Multiverse Theory of User Needs
 
Anc Corporate Presentation General
Anc Corporate Presentation GeneralAnc Corporate Presentation General
Anc Corporate Presentation General
 
CV Fabrizio Avanzini - ENG 2012
CV Fabrizio Avanzini - ENG 2012CV Fabrizio Avanzini - ENG 2012
CV Fabrizio Avanzini - ENG 2012
 
Archetype Group Brochure
Archetype Group BrochureArchetype Group Brochure
Archetype Group Brochure
 
Europeana v2.0 WP 7 & EuropeanaTech
Europeana v2.0 WP 7 & EuropeanaTech Europeana v2.0 WP 7 & EuropeanaTech
Europeana v2.0 WP 7 & EuropeanaTech
 
Email benchmarking report UK 2010
Email benchmarking report UK 2010Email benchmarking report UK 2010
Email benchmarking report UK 2010
 
What is digital transformation and its impact on strategy using strategical f...
What is digital transformation and its impact on strategy using strategical f...What is digital transformation and its impact on strategy using strategical f...
What is digital transformation and its impact on strategy using strategical f...
 
Case Study Renault Clio mobilike 2012
Case Study Renault Clio mobilike 2012Case Study Renault Clio mobilike 2012
Case Study Renault Clio mobilike 2012
 
Python in education
Python in education Python in education
Python in education
 
Introduction to Continuous Delivery
Introduction to Continuous DeliveryIntroduction to Continuous Delivery
Introduction to Continuous Delivery
 
On Open Business @ EDUfashion conference - Ljubljana 02/06/2011
On Open Business @ EDUfashion conference - Ljubljana 02/06/2011On Open Business @ EDUfashion conference - Ljubljana 02/06/2011
On Open Business @ EDUfashion conference - Ljubljana 02/06/2011
 
EuropeanaTech PGM12
EuropeanaTech PGM12EuropeanaTech PGM12
EuropeanaTech PGM12
 

More from Lingoport (www.lingoport.com)

Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Lingoport (www.lingoport.com)
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011Lingoport (www.lingoport.com)
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLingoport (www.lingoport.com)
 
Wordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static AnalysisWordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static AnalysisLingoport (www.lingoport.com)
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport (www.lingoport.com)
 
JavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationJavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationLingoport (www.lingoport.com)
 
Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Lingoport (www.lingoport.com)
 
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Lingoport (www.lingoport.com)
 
Internationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyInternationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyLingoport (www.lingoport.com)
 

More from Lingoport (www.lingoport.com) (19)

Staying Global in an Agile World Presentation
Staying Global in an Agile World PresentationStaying Global in an Agile World Presentation
Staying Global in an Agile World Presentation
 
Internationalizing a Multi-Layered Application
Internationalizing a Multi-Layered ApplicationInternationalizing a Multi-Layered Application
Internationalizing a Multi-Layered Application
 
Shifting Left Webinar Slideshow
Shifting Left Webinar SlideshowShifting Left Webinar Slideshow
Shifting Left Webinar Slideshow
 
Shifting Left Webinar Slides
Shifting Left Webinar SlidesShifting Left Webinar Slides
Shifting Left Webinar Slides
 
Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!
 
Keyboards and Internationalization
Keyboards and InternationalizationKeyboards and Internationalization
Keyboards and Internationalization
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011
 
Internationalization & Localization Process
Internationalization & Localization ProcessInternationalization & Localization Process
Internationalization & Localization Process
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert Discussion
 
Unicode Primer for the Uninitiated
Unicode Primer for the UninitiatedUnicode Primer for the Uninitiated
Unicode Primer for the Uninitiated
 
Wordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static AnalysisWordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static Analysis
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
 
JavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationJavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software Localization
 
Introduction to Internationalization (I18n)
Introduction to Internationalization (I18n)Introduction to Internationalization (I18n)
Introduction to Internationalization (I18n)
 
Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...
 
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
 
Outsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) ServicesOutsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) Services
 
Internationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyInternationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A Study
 
Internationalization (i18n) Primer
Internationalization (i18n) PrimerInternationalization (i18n) Primer
Internationalization (i18n) Primer
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

Business Perspectives on Internationalization (i18n)

  • 1. Business Perspectives on Internationalization - By Adam Asnes of Lingoport This article appeared in ClientSide News, June of 2003: http://clientsidenews.com We get all sorts of questions regarding the technical aspects of internationalization, but before any of those answers can become truly relevant to a client’s efforts, the business decision questions must first be addressed. It’s hard for some managers to understand just what is involved with internationalization. Why is it different than translation; what is the benefit of internationalization products and services; how do you measure the benefit; and how do perform it better, faster, and more affordably? Our company, LingoPort is focused exclusively on software internationalization solutions including internationalization development services, our i18n software products, and technical training. We partner with select localization companies to provide complete globalization services. Given our focus on software development, we are brought into the globalization process differently than a localization company. I suspect that if you’re reading this article, you’re involved in some way with the globalization industry, so I’ll keep the definitions to a minimum. Internationalization (also referred to as i18n) is important because it lets you efficiently adapt your products for multiple locales, while minimizing support, maintenance and localization costs worldwide. Internationalization consists of any and all preparatory tasks that will facilitate subsequent localization efforts. It can be performed on source code, the controls on a fax machine, a method of writing a document, etc. With regard to source code, internationalization is adapting software to support worldwide character sets and cultural formats (e.g. numerical formats, currencies, date/time formats, etc.), global interface requirements, data access, storage and retrieval and business rules. Sometimes companies will internationalize their software in stages, thinking in terms of specific locale targets, such as a European markets, the Middle East and Asian Markets. Of course that’s an incredibly broad set of language and culture possibilities, but from an engineering process the hurdles involve supporting Latin character sets, Cyrillic languages, bi-directional languages (e.g. Hebrew and Arabic) and what are often referred to as double-byte languages (e.g. Chinese, Japanese, Korean, etc.). From a world market perspective, it’s interesting to look at the percentage of world GNP that constituent regions of the world make up, grouped by how you would internationalize (see figure 1).
  • 2. Estimated GNP by I18n 2 Market Region in year B 0 Dire i O 4 th0 2 ctio - Source: compiled from world % e%0 En A nal GNP figures from the r 3 gli mul si Encyclopedia Britannica 2 sh 2001 edition 2 tiby an % ,5 te % Euro En pe, 3 gli Non- 7 sh Internationalization benefits affect both top-line sales opportunities and bottom % line cost reductions. Simply put, if you do a good job internationalizing your software, your global customers will get a better quality product and you have an easier time of taking care of them over the years. Even if you never localize your software, your customers may have global businesses concerns. They may have to support globalized data within their own organizations and customers. Internationalizing back-end functionality of your products will help them store, manipulate and retrieve data no matter the format or character set. If you do localize, proper internationalization will get localized software into your customers’ hands faster. Revenue expectations are often tied to releases and/or specific delivery targets. Ask yourself what the revenue impact is if a product is not delivered on time, or does not meet the necessary specifications for a set of markets. Chances are there are hard numbers in a company’s plan to relate to. The quality of an internationalization effort directly affects the quality of a localized product. Particularly in software, quality tends to be an invisible but highly appreciated attribute. A really good interface isn’t very noticeable. It just works very well. It stands to reason that to be competitive, you want your products to function gracefully as a user in any locale would expect. There’s a wide range of internationalization cost possibilities depending on existing product technologies, architectural concerns and product lifecycle decisions. In our business we have both customers that are undergoing their first internationalization effort, and others that have been global for years. They have somewhat different issues, but the same ultimate objectives.
  • 3. Internationalization can scare off an engineering manager quickly. Given all of his or her demanding deliverables, refactoring code may not be very high on the list of things a development manager wants to add to product requirements. Additionally, if a company is just beginning marketing efforts abroad, it’s very possible that the bulk of their domestic customers won’t regard internationalization as a top priority enhancement that will make them want to buy more software. For some, that makes internationalization particularly appropriate for outsourcing. However, internationalization efforts are often performed in parallel to other development efforts. So outsourcing has to be an extension of your development team. The internationalization effort has to be well defined architecturally and procedurally. You are going to live with any internationalization effort for a long time, so agreeing on requirements, coding standards, build management, code merging, testing and acceptance is critical. Another route companies will take to lessen the cost impact is to have a distributor internationalize their software with a particular market or set of markets in mind. While this approach typically looks much less expensive at first, it creates expensive support and maintenance problems later. You likely will end up with a forked version of code that must be supported independently and doesn’t lend itself well to updates. It can be quite daunting to revisit up to millions of lines of source code and adapt it to support Unicode and other internationalization requirements. People will refer to internationalization as providing Unicode support, but there’s more to it than that. Besides, there isn’t just one Unicode method. Optimizing character set handling over an application will vary depending upon how that application gets used and its components. If your development team is undertaking internationalization development efforts, it’s hard to know and control all the issues that relate to good internationalization coding practices for immediate tasks and for years to come. Internationalization becomes an ongoing requirement that needs support. We have debuggers, compilers and automated testing tools, but there had been a gap in tools that would help both our own services efforts and our customers’ development teams with internationalization. In performing internationalization services, we needed a way to accurately sort through volumes of code quickly. Our customers had a similar need for an internationalization auditing system that provides diagnostics and “just in time” internationalization answers directly relevant to their own developer teams’ tasks. Our Global Investigator software lets us quickly sort through it all and provides a flexible, rules-based system that can support our clients’ development teams. In terms of ROI, Global Investigator saves months of diagnostic efforts and greatly improves project estimation. For companies that already consider internationalization an ongoing requirement, Global Investigator provides a system to support their global development goals. Actually, it’s this second group that tends to be our best product customers.
  • 4. 30 M x a i n t e n a n c A e r c 15 h i T L x t e e o s c c C o t a R t i l e u d n i q r i g s u n 7 i e g a t r A x e a n c i o m d c n e e n D p 4 t e t s s a x 2 i n g c x n e Development Phase when an I18N bug is detected We have all heard that bugs get more expensive to fix the further they progress through the development and release cycle. Some might argue that internationalization issues are not actually bugs, as the product may still function in its natively intended programming language. But to a customer or sales team in another locale, they are truly bugs. Figure 2 illustrates the escalation of costs to fix internationalization bugs as a product moves through its globalized development cycle. As an example, a well-known printer manufacturer needed to provide internationalization support for new development efforts using .NET technologies, particularly C#. This company recognized that the cost of finding internationalization issues during the localization process is extremely high, forcing resolutions back into development and testing. Of an even greater concern were the costs of missed marketing objectives. They did not want to
  • 5. miss planned global release dates, or release a product that didn’t meet their locale-specific quality standards. They use our Global Investigator software to review source code before completion, and to aid in the ongoing development so that new internationalization issues are not introduced. Another client, well known for making virus checking and network packet sniffing software, was having trouble addressing various internationalization issues buried in large amounts of C++ and Java. We applied our Global Investigator software to pinpoint those issues and provide help on how to solve them. In this case we also provided internationalization consulting and training. To add productivity to long and tedious internationalization tasks, we have created implementation tools that speed up the process of string externalization and code refactoring, based on interfacing with our Global Investigator detailed report output. The framework of our string extractor can be quickly adapted to best suit application externalization requirements. The next challenge for companies is to perform testing. As we saw in figure 2, the cost of fixing an internationalization bug during localization is over three times greater than fixing it during testing. However your team may not have the skills to test a Japanese or Italian product. Since it’s before localization, you probably don’t even have the translated strings to work with even if you had a tester with the necessary linguistic skills. We have developed pseudo-localization tools that insert gibberish pad characters around the existing strings within the product interface. Now the tester can visually inspect for character set support and interface expansion, based on the requirements of the languages in question. This graphic shows how performing pseudo-localization lets a tester visually inspect an interface for internationalization compliance. Code merging is another risk that needs monitoring for any internationalization effort. How this is performed depends on business and technical requirements,
  • 6. but it needs to be minded closely. I have seen businesses that internationalize as a branch of their code, and that branch never properly makes its way into future product releases. Their global customers essentially are frozen at one release, while the gap to the current release just gets larger with each passing quarter. We prefer to perform regular merges at set intervals to avoid this problem. This also requires good coordination with all development groups. It’s also important to note that some internationalization efforts can be compartmentalized through the application so that parallel localization efforts can be performed, compressing time-to-market. In other words, when one section’s internationalization is complete and all strings have been extracted, those strings can be passed to a localization company for translation and testing, while the next section of code is internationalized. This takes tight coordination with your localization company with development and testing efforts. We have done this on multiple occasions with our localization partners - it should be noted, we have a good feel for working with one another. There are many internationalization war stories, and the engineering process is typically perceived as anything but glamorous. But we do it because internationalization efforts are an important investment in sales opportunities worldwide. With good planning and execution, internationalization can go smoothly and become a routine part of your development process. Adam Asnes is President of LingoPort, Inc, which specializes in internationalization engineering and training and publishes Global Investigator software. Adam can be reached at aasnes@lingoport.com - visit http://lingoport.com for more information