A Developer’s Guide To User Experience In App Localization
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong><br />
<strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
Table of Content<br />
Why You Never Really Knew About <strong>User</strong> <strong>Experience</strong>, Until Now 3<br />
Even Big Software Vendors Struggle With UX 4<br />
A <strong>Localization</strong> UX Issue Sampler 4<br />
Start As You Mean <strong>To</strong> Go On 5<br />
UX, UI, And Usability <strong>In</strong> <strong>App</strong> <strong>Localization</strong> 5<br />
What Is Your <strong>App</strong> <strong>Localization</strong> UX Role As A Developer? 6<br />
Don’t Make <strong>User</strong>s Think About Your Localized <strong>App</strong> 6<br />
<strong>In</strong>ternationalization And <strong>User</strong> <strong>Experience</strong> 7<br />
Practical Aspects – Language Length And Font Sizes 7<br />
Double-Length Pre- Or Pseudo-<strong>Localization</strong> <strong>To</strong> Find Problems 8<br />
Handling <strong>App</strong> <strong>Localization</strong> UX Issues Caused By Layouts 8<br />
Right <strong>To</strong> Left And Left <strong>To</strong> Right Displays 9<br />
UX Issues With Partial <strong>Localization</strong> 10<br />
Translation Contexts And Glossaries 10<br />
Conclusion 11<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
If you have not yet met the term “user experience,” then now is the time, especially given its<br />
huge impact on app localization success.<br />
Your app’s user experience – what the user experiences when using your app – is typically the<br />
one thing that makes or breaks the success of your app. It’s simple. If users do not see value in<br />
your app, or have fun using your app, or get something out of it that they appreciate, they will<br />
not use it. Your software will become shelfware. All the days you spent coding and testing will<br />
have been for nothing. But how much impact do you have on user experience? Probably much<br />
more than you think. And when it comes to app localization, even more.<br />
Why You Never Really Knew About <strong>User</strong> <strong>Experience</strong>,<br />
Until Now<br />
I know what you are thinking. If user experience, or UX for short, is so important, how come that<br />
there is so little emphasis put on UX compared to the code-writing aspects of software<br />
development? There are two main reasons:<br />
1. UX is often mistakenly viewed as a marketing or UX specialist-only responsibility, a kind<br />
of touch-feely domain involving users “on the other side of the wall.” You might get<br />
instructions or requests to design or modify an interface in a certain way, but nobody ever<br />
seems to explain why.<br />
2. Apart from a catch-all approach of “making sure the app user has a good time”, many<br />
people only have a hazy notion of what UX is about and cannot explain the little they<br />
understand to others.<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
Even Big Software Vendors Struggle With UX<br />
Try this definition of user experience from one of the biggest software vendors on the planet<br />
(yes, Microsoft, I’m looking at you):<br />
“An activity of encounter by a computer user with the auditory and visual presentation of a<br />
collection of computer programs. It is important to note that this includes only what the user<br />
perceives and not all that is presented.”<br />
This is akin to a restaurant offering “cold, dead fish,” instead of lip-smacking, gourmet sushi. We<br />
need a better way to delight users with localized versions of your app, build solid and loyal user<br />
bases in different countries, and keep app subscriptions rolling in (if such is your business<br />
model.)<br />
A <strong>Localization</strong> UX Issue Sampler<br />
Before getting to a more effective definition of user experience, take a look at some of the ways<br />
that poor app localization might negatively affect UX:<br />
● Foreign language text is longer or shorter than the original version, and makes the layout<br />
look strange or simply wrong<br />
● Variable handling generates grammatical errors that make localized strings look<br />
ridiculous to native speakers of the localization language<br />
● Minimum font sizes that were acceptable in the default language (the one you have been<br />
working in to build the original version of the app) make other languages unreadable<br />
● Right-to-left and left-to-right language localizations leave users with different<br />
impressions or just plain confused.<br />
These examples of UX issues concern technical aspects of app localization, and therefore they<br />
concern you as a developer directly. However, there are many more potential UX problems (see<br />
below) that will also involve you as you manage app localization cycles, sending text strings off<br />
for translation, and working with your product management or marketing colleagues to ready<br />
your app for new markets and cultures.<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
Start As You Mean <strong>To</strong> Go On<br />
If you are going to build better user experiences into your app localizations, you will need to<br />
know what to aim for. So, let’s try another definition of user experience to start off on a better<br />
track, this time from the Nielsen Norman Group.<br />
“All aspects of the end-user’s interaction with the company, its services, and its products. The<br />
first requirement for an exemplary user experience is to meet the exact needs of the customer,<br />
without fuss or bother. Next comes simplicity and elegance that produce products that are a joy<br />
to own, a joy to use. True user experience goes far beyond giving customers what they say they<br />
want, or providing checklist features. <strong>In</strong> order to achieve high-quality user experience in a<br />
company’s offerings there must be a seamless merging of the services of multiple disciplines,<br />
including engineering, marketing, graphical and industrial design, and interface design.”<br />
This is far more inspiring. A big reason is that one of the persons contributing to this definition is<br />
Don Norman, who invented the term “user experience”. The other person in the “Nielsen<br />
Norman” pair is Jakob Nielsen, who was already reinventing website usability in 1999 with his<br />
book “Designing Web Usability: The Practice of Simplicity.”<br />
UX, UI, And Usability <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
<strong>To</strong> position things properly for what follows, let’s see why user experience, user interface, and<br />
usability are different. Of the three, only user experience encompasses the whole range of<br />
impressions, feelings, likes or dislikes that users have when using your app. That does not mean<br />
the other two things are unimportant. The user interface must offer access to functionality that<br />
is of value or of interest to the user. The app and its UI must also display good usability by being<br />
clear and simple to use, pleasing to the eye, easy to learn, and efficient (as in the minimum<br />
necessary number of taps, swipes or clicks) in taking users where they want to go. UX groups<br />
together the quality of the UI and the level of usability, and then adds further aspects: for app<br />
localization, for example, this includes the correct use of colors, symbols, backgrounds, and<br />
indications of direction (how to navigate a localized page.)<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
What Is Your <strong>App</strong> <strong>Localization</strong> UX Role As A<br />
Developer?<br />
While it is true that marketing and product management may spend more time on profiling<br />
culture-related app localization requirements, as a developer you are likely to be involved in<br />
ways that go beyond your IDE. For example, you may well handle the translation process,<br />
sending content (text, graphics, audio) to translators, integrating feedback from localization<br />
reviewers, and making the final localized versions of content available as part of the app<br />
package. And frankly, it does no harm to be sensitized to ways in which not just<br />
language-dependent, but also culture-dependent elements can affect the UX of localized<br />
versions of your app. Then it won’t seem so strange when marketing asks you to change the app<br />
screen background image for an app localization into Japanese to one that has brighter colors<br />
and a sun-ray effect, because culturally these changes will better match expectations of<br />
customers in Japan (yes, really!).<br />
Don’t Make <strong>User</strong>s Think About Your Localized <strong>App</strong><br />
Steve Krug wrote his book “Don’t Make Me Think” to help people think like a usability expert (a<br />
large part of creating the user experience), even if they have a different job role, like being a<br />
developer. He aimed his ideas at web applications, but they carry over naturally to mobile apps<br />
too. Among some of his pithy suggestions are:<br />
● Don’t make people think. People typically don’t want to have to puzzle over apps to get<br />
what they want out of them.<br />
● <strong>App</strong>s should explain themselves, at a glance, from the first screen onwards.<br />
● Don’t waste people’s time. Keep text short and sweet, and minimize distances over<br />
layouts and through menus.<br />
● The back button is good. If people guess, don’t penalize them. Let them back out again<br />
easily.<br />
Further care is needed when it comes to app localizations. The interface and the usability for<br />
your app are likely to have been created according to your own cultural norms. However, what<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
may seem natural in one culture may look strange or different in another. For example, this<br />
could affect the UX of a localized version of your app in these ways:<br />
● Translation of terms, especially short phrases or single words for buttons. The shorter the<br />
phrase, the more important it is get to the intention behind the phrase, and work from<br />
that to find the appropriate translation or equivalent for localization.<br />
● Forms for user input. Some cultures (Anglo-Saxon, for instance) often offer three fields for<br />
users to enter their names: given name, middle name, and family name. Elsewhere, in<br />
Asian countries for example, the norm may be just two fields. If you insist on offering<br />
three fields, you are “making them think,” which from a UX standpoint is not the way to<br />
go.<br />
<strong>In</strong>ternationalization And <strong>User</strong> <strong>Experience</strong><br />
The ideas above for improving user experience are more effective when they are integrated into<br />
an app from the start, instead of being layered on as an afterthought. A similar concept already<br />
applies in the internationalization phase that precedes language-specific app localizations.<br />
<strong>In</strong>ternationalization is the process of separating out as much user-facing content as possible<br />
from the app, to make it language independent. The separate user-facing content can then be<br />
localized into one language after another, according to marketing or end-user requirements.<br />
<strong>In</strong>ternationalization also covers graphics and audio content, and by extension, can cover any<br />
other aspect of an app that is not only language dependent, but also culture dependent.<br />
Platforms like Android and iOS make it relatively easy to separate out content and also provide<br />
convenient functions to automatically handle localized formats for numbers, dates, and<br />
quantities. On the other hand, while offering considerable help in ensuring good UX,<br />
internationalization, like UI and usability, is just one part of the whole user experience of a<br />
localized app.<br />
Practical Aspects – Language Length And Font Sizes<br />
Foreign language equivalents of texts in your own language will tend to be either shorter or<br />
longer. <strong>In</strong> some cases, the difference can be dramatic. For example, the word “<strong>User</strong>” in English is<br />
usually translated as “Benutzer” in German (twice as many characters) and “Utilisateur” in<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
French (almost three times as many characters. Clearly, trying to squeeze all these extra letters<br />
into a space tailormade for the shortest version will cause problems with display and layout,<br />
usability, and therefore UX.<br />
Minimum font sizes that work (just) with languages like English may make other more complex<br />
language characters unreadable: 漢 字 , for instance. Additionally, line height used for English or<br />
similar Western languages may be too small for Chinese and other languages needing greater<br />
line heights. Whatever the font size or line height, the characters for any localized language<br />
must be readable. This may mean increasing minimum values for all language versions, or<br />
possibly using different layout criteria for different localizations (see below.)<br />
Double-Length Pre- Or Pseudo-<strong>Localization</strong> <strong>To</strong> Find<br />
Problems<br />
Word length problems caused by volume expansion as in the English/German/French example<br />
above can be detected by making a double-length version of separated text strings and<br />
displaying this double-length version. Text overruns will be much more obvious. However, for<br />
app localizations that lead to volume contraction (English to Chinese, for example), the services<br />
of a native speaker with an eye for layout may be indispensable to identify where too much<br />
blank space is being generated and where fields, buttons, or layouts may need to be modified.<br />
If your app runs on a PC or via a PC browser, using a keyboard, watch out for hotkey or<br />
macro-style key combinations that may not be available on keyboards for other languages. You<br />
may find it better to use function keys (F1, F2, F3, etc.) which are often available no matter<br />
which keyboard is being used. Alternatively, avoid this kind of hotkey functionality from the<br />
design stage onwards.<br />
Handling <strong>App</strong> <strong>Localization</strong> UX Issues Caused By<br />
Layouts<br />
A localized version of an app can lead to unsightly changes in layout, even when automatic<br />
adjustment is used (like Auto Layout in iOS.) The examples in the previous section indicate why<br />
this can happen. A layout that lined up nicely in the default language may become distorted as<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
it struggles to display foreign language equivalents. Efforts to standardize on one set of<br />
dimensions for a language with medium space requirements may not work either, especially<br />
when volume expansion and contraction can double or halve text lengths, respectively.<br />
The best solution or compromise may be different in each case. It is likely you will only recover a<br />
reasonable UI and UX that works for different localizations by trying different options and<br />
getting native speaker input. However, some options might include:<br />
● Using dropdown menus to disguise length differences (this may lead to more clicks/taps<br />
being required, thus degrading usability)<br />
● Dynamic layouts that display longer texts on two lines instead of one (visually, this may<br />
look inconsistent between different localizations)<br />
● Programmatic changes to layouts, driven by the language or locale (country/language<br />
combination) of the localization. This is a possible solution to the changing number of<br />
name fields between different localizations – See the “Don’t Make <strong>User</strong>s Think” section<br />
above.<br />
Right <strong>To</strong> Left And Left <strong>To</strong> Right Displays<br />
Right to left (RTL) languages such as Arabic and Hebrew not only change the direction of text<br />
compared to English, for instance, but they also change notions of time and sequences of<br />
actions. RTL native language speakers may therefore expect to see a “trash can” on the left of<br />
the screen, rather than the right, because that is where they naturally end up before taking a<br />
final action to throw something away. Similarly, “next” and “back” buttons will logically be on<br />
the left and the right, respectively, instead of on the right and the left, as in English language<br />
screens. <strong>In</strong> RTL displays, time runs from right to left. Watch out also for icons used to indicate<br />
functions such as text justification. They too will need to read from right to left, for example,<br />
with a “ragged left” icon, instead of a “ragged right” one.<br />
<strong>App</strong> interfaces that are highly dependent on lateral movement to make their logic and user<br />
experience work properly for LTR languages, may need to be rethought and redesigned for RTL<br />
languages, if the same quality of UX is to be achieved. This is yet another aspect that is best<br />
handled in the initial design phase, rather than trying to change an existing app. Sometimes you<br />
will not have the choice. However, if you are in the fortunate position of starting to design a new<br />
app, you can take these aspects into account, according to the different localizations you think<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
you will require. You can also avoid the issue by using a vertical navigation design from the<br />
start, which obviates the need to start either from the left or the right.<br />
UX Issues With Partial <strong>Localization</strong><br />
By now, you may well realize that localizations may be partial or incomplete in a number of<br />
different ways. Unfortunately, few if any partial localizations allow reasonable levels of user<br />
experience.<br />
● Partial translation. Mixing of phrases in different languages goes against the<br />
overwhelming preferences of native language speakers to buy and use products that<br />
work in their language. <strong>In</strong> mixed LTR/RTL language situations, the result may be even<br />
worse.<br />
● Partial cultural localization. <strong>In</strong>appropriate colors and symbols can also wreck the user<br />
experience in a localized version, when the original or default items are reused without<br />
due care and attention.<br />
● Partial localization of formats. Omitting to change number separators from periods to<br />
commas, for example, when localizing into French from an initial English version, will<br />
make the interface look strange to a French speaker. With automatic formatting methods<br />
built into various operating systems, there is little excuse for getting this wrong. Some<br />
uses of variables may need more thought however, to make sure that grammatical<br />
structures are converted properly into their localized equivalents.<br />
One possible exception to partial localization is the localization of only the promotional<br />
information about the app for use in an app store, such as <strong>App</strong>le <strong>App</strong> Store or Google Play. This<br />
ploy allows marketers to see how many native speakers download the app, helping the<br />
marketers to gauge sales potential for a specific localized market. However, this can only be a<br />
temporary situation, and the product must then be properly localized or revert to the full<br />
default version afterwards, to avoid user disappointment and possible negative feedback.<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
Translation Contexts And Glossaries<br />
<strong>In</strong> Spanish, the English word “run” can be translated in more than 100 different ways. If a user is<br />
using a localized map app, “run” might mean a jog from A to B, but for a home automation app,<br />
“run” might mean “execute a program” as in setting the alarm, or switching a house into night<br />
mode. Context is vital in such cases, especially when there is only one right choice and so many<br />
other wrong ones.<br />
Translation notes and comments that you append to text strings help translators pick the right<br />
translation, maintaining user experience quality for the localized language. Useful information<br />
includes:<br />
● Subject context, as in the feature or domain most closely related to the word<br />
● Sentence/syntax context, for instance, whether the word is a noun, a verb, etc.<br />
● Definition, an alternative way of expressing the word<br />
● Specific usage, about how the word is being used in this specific case<br />
A translation glossary can also help preserve a good user experience in localized versions, by<br />
ensuring that certain words are always translated in the same way, that brand names remain<br />
untranslated, and so on. Such glossaries should always be reviewed by native speakers before<br />
being distributed for general use.<br />
Once again, remember that translation must sometimes go beyond words and make sure that<br />
cultural differences are properly reflected. On the Google home page in English for example,<br />
there is the link entitled “I’m feeling lucky.” <strong>In</strong> some cultures, luck is viewed differently, and the<br />
phrase may be changed to “I choose to trust in God” to correspond better to native speaker<br />
expectations.<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
Conclusion<br />
<strong>App</strong> <strong>Localization</strong> is an essential step towards good user experiences for your app in<br />
international markets. However, it needs more than word-for-word translation. As a developer,<br />
one of the most important qualities you can develop to improve localized user experience is<br />
empathy with your users. This is, for instance, the understanding that what looks like a small<br />
detail from a non-native speaker’s point of view can sometimes derail the user experience for<br />
the native speakers. By working with your marketing and product management colleagues, you<br />
can then design and develop apps that combine efficiency in coding with excellence in user<br />
experience, boosting sales, adoption, and customer loyalty wherever your localizations are<br />
applied.<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp
A <strong>Developer’s</strong> <strong>Guide</strong> <strong>To</strong> <strong>User</strong> <strong>Experience</strong> <strong>In</strong> <strong>App</strong> <strong>Localization</strong><br />
phraseapp.com<br />
sales@phraseapp.com<br />
+49-40-357-187-76<br />
Große Theaterstraße 39<br />
Hamburg, Germany<br />
phraseapp.com | sales@phraseapp.com | +49-40-357-187-76 | twitter.com/phraseapp | facebook.com/phraseapp | linkedin.com/company/phraseapp