internationalizing strava - lumosity...
TRANSCRIPT
![Page 1: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/1.jpg)
Internationalizing Strava
@jsilland
#LumosityTechTalks
![Page 2: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/2.jpg)
Hi!
![Page 3: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/3.jpg)
Strava
• A social network for athletes
• X million regs / Y million monthlys
• Most of those outside the US
![Page 4: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/4.jpg)
Strava’s technical stack
• Rails, because 2009
• JavaScript – boxing in the middleweight class
• Breaking the Monorail into backend services written in Scala & Go
![Page 5: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/5.jpg)
Process: Define goals
• What are you looking for by going to a new market? ▸ Users, revenue?
• Will you need to change your product? ▸ Really?
![Page 6: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/6.jpg)
Process: Content Inventory
• Where is it stored?
• Who creates it?
• How structured is it?
• Goal:
• Comment messages
• Assemble a glossary
![Page 7: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/7.jpg)
Toolbox: Content flow
• Translation pipeline ▸ Let your content flow freely
• Translation memory ▸ Enforce consistency
• Translation workbench
![Page 8: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/8.jpg)
Strava’s content flow (Mobile)
UI Strings Android iOS
TransifexContinuous build / cron
![Page 9: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/9.jpg)
Strava’s content flow (Web)
UI Strings Web App
Transifex
Continuous build / cron
Managed Content
Admin
9pmEvery 2 hours
On release cut
![Page 10: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/10.jpg)
Toolbox: CLDR
• Formatting of dates, times, numbers, currencies
• Pluralization
• Collation
• Language names and codes
• Regular expressions
• Segmentation
![Page 11: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/11.jpg)
–Dan McKinley (Etsy, Stripe)
“Choose boring technology”*
* http://mcfunley.com/choose-boring-technology
![Page 12: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/12.jpg)
Process: Iteration
• An all-at-once approach wasn’t sustainable for us
• One platform + One locale first ▸ Mobile was more important to us ▸ France was relevant to us
![Page 13: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/13.jpg)
Timeline of language launches
1
3
5
8
10
12
14
Aug 13 Dec 13 May 14 Sep 14 Feb 15 Jun 15
Web Mobile
![Page 14: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/14.jpg)
Toolbox: Pseudolocalization
• Easy detection of anti-patterns ▸ Hardcoded strings / non-externalized content ▸ Concatenation ▸ Layouts that do not scale
![Page 15: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/15.jpg)
![Page 16: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/16.jpg)
Cub
github.com/jsilland/cub
Supports iPhone, Android, YAML formats A fork of Google’s pseudolocalization tool
![Page 17: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/17.jpg)
Challenge: Visual Design
• Fight your design team
• Don’t fight your design team
• Talk to your design team
![Page 18: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/18.jpg)
Process: LQA
• Internal vs. external: no silver bullet ▸ Depends on cadence and size of releases
• If possible, involve your users ▸ For translating the glossary ▸ For pre-release feedback
![Page 19: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/19.jpg)
Internationalization…?
• Internationalization is not a feature ▸ But localization is ▸ Don’t become the “go-to person” for i18n
• I18n is about repaying debt ▸ Technical ▸ Design ▸ Knowledge
![Page 20: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/20.jpg)
Success looks like…
• Your domestic users didn’t notice anything
• Your international users complain that they don’t see English anymore ▸ Give them the option to switch
• Features kept on shipping
• All your users can read and write messages that include emojis
![Page 21: Internationalizing Strava - Lumosity Engineeringengineering.lumosity.com/assets/internationalizing-strava.pdf · Strava • A social network ... 1 3 5 8 10 12 14 Aug 13 Dec 13 May](https://reader034.vdocuments.us/reader034/viewer/2022042808/5f8a664869ca0e181b6b7064/html5/thumbnails/21.jpg)
Q&A
#LumosityTechTalks@jsilland