Go Global - #CookpadTechconf 2017

666ef10ec14e5a23d0fcf05bd2665575?s=47 rejasupotaro
January 21, 2017

Go Global - #CookpadTechconf 2017

666ef10ec14e5a23d0fcf05bd2665575?s=128

rejasupotaro

January 21, 2017
Tweet

Transcript

  1. Go Global Cookpad Techconf 2017 Kentaro Takiguchi

  2. @rejasupotaro came from↓

  3. None
  4. 15 languages 58 countries 30M+

  5. Mission: Solve social problems through Cooking and Technology

  6. Imagine what you should do when you launch your service

    in MENA
  7. Go Global Product Development Team

  8. Global Product

  9. How fast your service is adapted

  10. Religion affects your service

  11. Each country has different regulations

  12. We can’t launch our service without understanding local culture

  13. Lifestyle Climate Folk culture Structure of “Local Culture” Speed of

    change
  14. How much should we localize?

  15. Meet must-be quality before release Meet attractive quality continuously Kano

    model How much should we localize?
  16. “quality” varies by country e.g. cafes provide free Wi-Fi in

    Vietnam (must-be quality)
  17. e.g. Japanese people expects high quality for services “quality” varies

    by country
  18. Analyse users by context, not attributes age, gender,… users who

    want to communicate… why, when, how
  19. Global Development

  20. Globalization Internationalization Localization Translation

  21. Internationalization The process of designing a service so that it

    can potentially be adapted to various languages and region without engineering changes In terms of web development,
  22. Localization The process of adapting internationalized service for a specific

    language or region by adding locale specific components or text
  23. “͜Μʹͪ͸” id: hello “͜Μʹͪ͸” (#), “Xin chào” ($) Internatiozalise Localize

  24. en-US ISO 639 ISO 3166 Locale

  25. Language != Country en-US American English en-GB British English es-ES

    Spanish Spanish es-419 Latin American Spanish pt-PT Portuguese in Portugal pt-BR Portuguese in Brazil zh-CN Simplified Chinese zh-TW Traditional Chinese
  26. 1. Search 2. Translation 3. Everything else 3 things you

    should consider
  27. 1. Search Understanding language characteristics + Steady exception handling

  28. None
  29. Dictionary Tokenizer Normaliser …

  30. %☕ Café amargo ' Caña amarga Grammatical Gender (amargo =

    bitter)
  31. None
  32. 1. bò kho * Strict match * Should NOT find

    bò khô since it includes accents in the query. 2. dau hu * Fuzzy match * Should find recipes with Đậu hũ since the original query doesn't have accents. 3. chay * Strict match * chay is defined in dictionary, so it should not return cháy, chấy, etc. Accents Examples
  33. !???

  34. * Green peas cream soup (4 words) + Zöldborsókrémleves (1

    word) Compound words
  35. Compound words Zöldborsókrémleves άϦʔϯϐʔεͷΫϦʔϜεʔϓ Fokhagymakrémleves χϯχΫͷΫϦʔϜεʔϓ Brokkoli krémleves ϒϩοίϦʔͷΫϦʔϜεʔϓ

  36. Consider region

  37. Consider religion

  38. 2. Translation

  39. * Alphabets: * Syllabaries: * Logographies:

  40. name + “ added ” + number + “ person

    to his list” How many problems in this program?
  41. MARY + “ added ” + 7 + “ person

    to his list” Should be “her” Plurals Number could be changed Female / Male How many problems in this program?
  42. https://medium.com/dropbox-design/design-for-internationalization-24c12ea6b38f#.jy8tvy0fu Don’t create sentences with UI elements Don’t Do

  43. How to say “Butterfly” # ௏ , Farfalla - Mariposa

    . Papillon / SCHMETTERLING!!!
  44. No enough padding problem Fatty button problem Set length limitation

  45. http://www-01.ibm.com/software/globalization/guidelines/a3.html UI Expansion

  46. Explain what it is OR ? translate

  47. None
  48. Translation depends on context OR translate

  49. “Premium” could be offended

  50. “Premium Service” * Cookpad Premium * Cookpad Prime * Cookpad

    Deluxe * Cookpad Extra * Cookpad Select * …
  51. None
  52. es-ES es-419

  53. * Text direction * Layout direction * Locale * Format

    * Connectivity * Application size * Traffic 3. Everything else * Writing system * Character * Encode * Font * Text size * Grammer * Text length
  54. Formatter.format(new Date()); // => # 2016/06/09 ޕޙ11:50 Formatter.format(new Date()); //

    => * 6/9/16 11:50 PM Formatter.format(new Date()); // => 0 09/06/16 11:50 PM
  55. Format US English French German Spanish Italian Japanese Time hh:mm:ss

    am/pm (12- hour clock) hh:mm:ss (24-hour clock) hh:mm:ss (24-hour clock) hh:mm:ss (24-hour clock) hh:mm:ss (24-hour clock) hh:mm:ss (24-hour clock) Decimal Separator period (.) comma (,) comma (,) comma (,) comma (,) period (.) Thousand Separator comma (,) space ( ) space ( ) or period (.) space ( ) space ( ) or period (.) comma (,) Number Example 12,345.67 12 345,67 12 345,67 or 12.345,67 12 345,67 12 345,67 or 12.345,67 12,345.67 Currency $12,345.67 12 345,67¢ 12 345,67¢ 12 345,67¢ ¢12.345,67 ¥12,345 Ordinal 1st 2nd 3rd … 1er 2e 3e … or 1re 2e 3e … … 1o 2o 3o … or 1a 2a 3a … 1o 2o 3o … or 1a 2a 3a … 1ͭ 2ͭ 3ͭ …
  56. Unicode and Characters http://www.minarad.com/blog/2015/2/17/going-global-1

  57. # This app doesn’t seem to support Japanese

  58. Font

  59. Text Size

  60. Text Size <!— values-ar/dimens.xml —> <resources> <dimen name="text_size_xxlarge">27sp</dimen> <dimen name="text_size_xlarge">25sp</dimen>

    <dimen name="text_size_large">21sp</dimen> <dimen name="text_size_medium">19sp</dimen> <dimen name="text_size_small">17sp</dimen> <dimen name="text_size_xsmall">15sp</dimen> <dimen name="text_size_xxsmall">13sp</dimen> <dimen name="text_size_xxxsmall">11sp</dimen> </resources> <!— values/dimens.xml —> <resources> <dimen name="text_size_xxlarge">26sp</dimen> <dimen name="text_size_xlarge">24sp</dimen> <dimen name="text_size_large">20sp</dimen> <dimen name="text_size_medium">18sp</dimen> <dimen name="text_size_small">16sp</dimen> <dimen name="text_size_xsmall">14sp</dimen> <dimen name="text_size_xxsmall">12sp</dimen> <dimen name="text_size_xxxsmall">10sp</dimen </resources>
  61. Text Size Default (ar) +1 sp (ar)

  62. Word Order: SVO * I eat bread = [Subject] [Verb]

    [Object]
  63. Word Order: SOV # I bread eat = [Subject] [Object]

    [Verb]
  64. Word Order: VSO 1 Eat I bread = [Verb] [Subject]

    [Object]
  65. Word Order • * = [Subject] [Verb] [Object] • #

    = [Subject] [Object] [Verb] • 1 = [Verb] [Subject] [Object]
  66. Quantity: Ingredient Name?

  67. Left-To-Right and Right-To-Left

  68. None
  69. Performance

  70. None
  71. Christmas

  72. Ramadan ?

  73. None
  74. None
  75. Arabic Indonesian

  76. None
  77. Global Team

  78. 3 4 * 5 6 # 7 8 - 9

    : ; 0 < =
  79. Objective and Key Results Objective Key Result Key Result Key

    Result Plan … … … Plan … … … Plan … … …
  80. Build - Measure - Learn

  81. BACKLOG → DEVELOPING → VALIDATING → VALIDATED THIS WEEK

  82. Hiring Developer blog Talk at conferences Attend hackathons Join local

    dev communities
  83. Replacing Tools to let non-Japanese employees use tools

  84. Communication is going to be English including documents, emails meetings,

  85. Learning from each other

  86. Conclusion

  87. Product Localization A guaranteed growth hack “Local” is based on

    Climate + Folk Culture + Lifestyle Make users satisfied Must-be quality and Attractive quality Analyse data by context When, why and how users use your service Development 1. Search = Understanding language characteristics + Steady error handling Consider accents, compound words, gender of nouns… Everything starts from what local people want to see 2. Translation Context makes translation better Translation is not only for text 3. Everything else writing system, character, encode, font, text size, text length, grammar, layout direction, format, peak time, payment, law, connectivity, religion, infrastructure, unit, … Team Make global team work Think not only development but also back-office operation
  88. Thank you for listening! Kentaro Takiguchi @rejasupotaro