Slide 1

Slide 1 text

Go Global Cookpad Techconf 2017 Kentaro Takiguchi

Slide 2

Slide 2 text

@rejasupotaro came from↓

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

15 languages 58 countries 30M+

Slide 5

Slide 5 text

Mission: Solve social problems through Cooking and Technology

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Go Global Product Development Team

Slide 8

Slide 8 text

Global Product

Slide 9

Slide 9 text

How fast your service is adapted

Slide 10

Slide 10 text

Religion affects your service

Slide 11

Slide 11 text

Each country has different regulations

Slide 12

Slide 12 text

We can’t launch our service without understanding local culture

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

How much should we localize?

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Analyse users by context, not attributes age, gender,… users who want to communicate… why, when, how

Slide 19

Slide 19 text

Global Development

Slide 20

Slide 20 text

Globalization Internationalization Localization Translation

Slide 21

Slide 21 text

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,

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

en-US ISO 639 ISO 3166 Locale

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

1. Search Understanding language characteristics + Steady exception handling

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Dictionary Tokenizer Normaliser …

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

!???

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Consider region

Slide 37

Slide 37 text

Consider religion

Slide 38

Slide 38 text

2. Translation

Slide 39

Slide 39 text

* Alphabets: * Syllabaries: * Logographies:

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

No enough padding problem Fatty button problem Set length limitation

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

Explain what it is OR ? translate

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

Translation depends on context OR translate

Slide 49

Slide 49 text

“Premium” could be offended

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

es-ES es-419

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

# This app doesn’t seem to support Japanese

Slide 58

Slide 58 text

Font

Slide 59

Slide 59 text

Text Size

Slide 60

Slide 60 text

Text Size 27sp 25sp 21sp 19sp 17sp 15sp 13sp 11sp 26sp 24sp 20sp 18sp 16sp 14sp 12sp 10sp

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

Word Order • * = [Subject] [Verb] [Object] • # = [Subject] [Object] [Verb] • 1 = [Verb] [Subject] [Object]

Slide 66

Slide 66 text

Quantity: Ingredient Name?

Slide 67

Slide 67 text

Left-To-Right and Right-To-Left

Slide 68

Slide 68 text

No content

Slide 69

Slide 69 text

Performance

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

Christmas

Slide 72

Slide 72 text

Ramadan ?

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

No content

Slide 75

Slide 75 text

Arabic Indonesian

Slide 76

Slide 76 text

No content

Slide 77

Slide 77 text

Global Team

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

Objective and Key Results Objective Key Result Key Result Key Result Plan … … … Plan … … … Plan … … …

Slide 80

Slide 80 text

Build - Measure - Learn

Slide 81

Slide 81 text

BACKLOG → DEVELOPING → VALIDATING → VALIDATED THIS WEEK

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

Replacing Tools to let non-Japanese employees use tools

Slide 84

Slide 84 text

Communication is going to be English including documents, emails meetings, …

Slide 85

Slide 85 text

Learning from each other

Slide 86

Slide 86 text

Conclusion

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

Thank you for listening! Kentaro Takiguchi @rejasupotaro