Many businesses are looking for growth outside the United States and Europe. To capture these new markets dedicated engineering effort will be required. This talk will provide tips for developing apps intended for an international audience.
of how something works. Max 30 characters --> <string name="app_name">demonstration</string> <!-- Random lorem ipsum text --> <string name="lorem_ipsum">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</string> <!-- Stuff that should not be translated --> <string name="is_rtl" translatable="false"> isRTL():<xliff:g id="result" example="true">%1$b</xliff:g> </string> <string name="gravity" translatable="false"> gravity():<xliff:g id="left" example="true">%1$s</xliff:g> </string> </resources>
• The word “demonstration” is a homonym. • “A practical exhibition and explanation of how something works.” • “A public meeting or march protesting against something.” <!-- A explanation of how something works. Max 30 characters --> <string name="app_name">demonstration</string>
displayed? • App launcher • Action bar • Hint text • Section heading • Button <!-- A explanation of how something works. Max 30 characters --> <string name="app_name">demonstration</string>
constrains? • Buttons are usually more space constrained • Application name limited to 30 characters • Text limited to single line <!-- A explanation of how something works. Max 30 characters --> <string name="app_name">demonstration</string>
should not be localized • Brand name like Twitter • Certain proper names • Placeholders • Special Unicode characters • Urls • Code <string name="is_rtl" translatable="false"> isRTL():<xliff:g id="result" example="true">%1$b</xliff:g> </string>
format pattern. • Order is irrelevant. “MM/dd/yyyy” will return “dd.MM.yyyy” in Locale ukr_ua. SimpleDateFormat getBestDateTimePattern(Locale locale, String dateFormat) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { final String fmt = DateFormat.getBestDateTimePattern(locale, dateFormat); return new SimpleDateFormat(fmt, locale); } else { return new SimpleDateFormat(dateFormat, locale); } }
East Arabic Internet Users 160 80 0.8 Percent Percent Million Number of Internet Users by Language — Internet World Stats Audience - Arabic Speakers Usage of content languages of websites — W3Techs Middle East and Africa Smartphone Market — IDC
for support by community • https://code.google.com/p/android/ issues/detail?id=56831 • Other developers have created their own solutions • https://github.com/duolingo/rtl- viewpager
and Cyrillic) • Dense (Chinese, Japanese, and Korean) • Tall (South and Southeast Asian and Middle Eastern languages) Material Design • English: Regular 14sp • Dense: Regular 15sp • Tall: Regular 15sp Material Design — Google
of UI elements or the screen •Poor line wrapping •Incorrect word breaks or punctuation •Incorrect alphabetical sorting •Incorrect layout direction or text direction •Untranslated text
and your app to the Play Store screengrab supply https://github.com/fastlane/fastlane/tree/master/screengrab https://github.com/fastlane/fastlane/tree/master/supply
Carrier charges a processing fee • Typically only used for digital goods Prepaid • Popular for young adults and those without credit • Value can be added at retail locations • Usually a fee associated with adding value to card or processing payment
to phone bill Cash U • Prepaid card accepted by online retailers • Available in the Middle East and North Africa • Users load cards at physical retail locations • Commonly used for games and VOIP
JPEG images • 9% decrease in p50 load times • 74% decrease in failures • Increased user engagement, especially in emerging markets 3,000 images per second — Henna Kerman/Twitter
iOS and Android only • Didn’t simulate network error rates Cost Notification • Currently iOS only • Provides employee with region specific costs for network usage