03.03.2017 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!