Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go Global - #CookpadTechconf 2017

rejasupotaro
January 21, 2017

Go Global - #CookpadTechconf 2017

rejasupotaro

January 21, 2017
Tweet

More Decks by rejasupotaro

Other Decks in Technology

Transcript

  1. Go Global
    Cookpad Techconf 2017
    Kentaro Takiguchi

    View Slide

  2. @rejasupotaro
    came from↓

    View Slide

  3. View Slide

  4. 15 languages
    58 countries
    30M+

    View Slide

  5. Mission:
    Solve social problems
    through Cooking and Technology

    View Slide

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

    View Slide

  7. Go Global
    Product
    Development
    Team

    View Slide

  8. Global Product

    View Slide

  9. How fast your service is adapted

    View Slide

  10. Religion affects your service

    View Slide

  11. Each country has different regulations

    View Slide

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

    View Slide

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

    View Slide

  14. How much should we localize?

    View Slide

  15. Meet
    must-be quality
    before release
    Meet
    attractive quality
    continuously
    Kano model
    How much should we localize?

    View Slide

  16. “quality” varies
    by country
    e.g. cafes provide free Wi-Fi in Vietnam (must-be quality)

    View Slide

  17. e.g. Japanese people expects high quality for services
    “quality” varies
    by country

    View Slide

  18. Analyse users by context,
    not attributes

    age, gender,…

    users who want to communicate…
    why, when, how

    View Slide

  19. Global Development

    View Slide

  20. Globalization
    Internationalization
    Localization
    Translation

    View Slide

  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,

    View Slide

  22. Localization
    The process of adapting internationalized service
    for a specific language or region by adding locale
    specific components or text

    View Slide

  23. “͜Μʹͪ͸”
    id: hello
    “͜Μʹͪ͸” (#), “Xin chào” ($)
    Internatiozalise
    Localize

    View Slide

  24. en-US
    ISO 639 ISO 3166
    Locale

    View Slide

  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

    View Slide

  26. 1. Search
    2. Translation
    3. Everything else
    3 things you should consider

    View Slide

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

    View Slide

  28. View Slide

  29. Dictionary
    Tokenizer
    Normaliser

    View Slide

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

    View Slide

  31. View Slide

  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

    View Slide

  33. !???

    View Slide

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

    View Slide

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

    View Slide

  36. Consider region

    View Slide

  37. Consider religion

    View Slide

  38. 2. Translation

    View Slide

  39. * Alphabets:
    * Syllabaries:
    * Logographies:

    View Slide

  40. name + “ added ” + number
    + “ person to his list”
    How many problems in this program?

    View Slide

  41. MARY + “ added ” + 7
    + “ person to his list”
    Should be “her”
    Plurals
    Number could be changed
    Female / Male
    How many problems in this program?

    View Slide

  42. https://medium.com/dropbox-design/design-for-internationalization-24c12ea6b38f#.jy8tvy0fu
    Don’t create sentences
    with UI elements
    Don’t
    Do

    View Slide

  43. How to say “Butterfly”
    # ௏ , Farfalla
    - Mariposa
    . Papillon
    / SCHMETTERLING!!!

    View Slide

  44. No enough padding problem
    Fatty button problem
    Set length limitation

    View Slide

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

    View Slide

  46. Explain what it is
    OR ?
    translate

    View Slide

  47. View Slide

  48. Translation depends on context
    OR translate

    View Slide

  49. “Premium” could be offended

    View Slide

  50. “Premium Service”
    * Cookpad Premium
    * Cookpad Prime
    * Cookpad Deluxe
    * Cookpad Extra
    * Cookpad Select
    * …

    View Slide

  51. View Slide

  52. es-ES es-419

    View Slide

  53. * Text direction
    * Layout direction
    * Locale
    * Format
    * Connectivity
    * Application size
    * Traffic
    3. Everything else
    * Writing system
    * Character
    * Encode
    * Font
    * Text size
    * Grammer
    * Text length

    View Slide

  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

    View Slide

  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ͭ …

    View Slide

  56. Unicode and Characters
    http://www.minarad.com/blog/2015/2/17/going-global-1

    View Slide

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

    View Slide

  58. Font

    View Slide

  59. Text Size

    View Slide

  60. Text Size


    27sp
    25sp
    21sp
    19sp
    17sp
    15sp
    13sp
    11sp



    26sp
    24sp
    20sp
    18sp
    16sp
    14sp
    12sp
    10sp

    View Slide

  61. Text Size
    Default (ar) +1 sp (ar)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  65. Word Order

    * = [Subject] [Verb] [Object]

    # = [Subject] [Object] [Verb]

    1 = [Verb] [Subject] [Object]

    View Slide

  66. Quantity: Ingredient Name?

    View Slide

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

    View Slide

  68. View Slide

  69. Performance

    View Slide

  70. View Slide

  71. Christmas

    View Slide

  72. Ramadan ?

    View Slide

  73. View Slide

  74. View Slide

  75. Arabic Indonesian

    View Slide

  76. View Slide

  77. Global Team

    View Slide

  78. 3 4 * 5
    6
    #
    7
    8
    -
    9 : ; 0 <
    =

    View Slide

  79. Objective and Key Results
    Objective
    Key Result Key Result Key Result
    Plan



    Plan



    Plan



    View Slide

  80. Build - Measure - Learn

    View Slide

  81. BACKLOG

    DEVELOPING

    VALIDATING

    VALIDATED
    THIS WEEK

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  85. Learning
    from each other

    View Slide

  86. Conclusion

    View Slide

  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

    View Slide

  88. Thank you for listening!
    Kentaro Takiguchi
    @rejasupotaro

    View Slide