Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Вениамин Тамбурин
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
FrontFest
November 21, 2017
Programming
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Вениамин Тамбурин
FrontFest
November 21, 2017
More Decks by FrontFest
See All by FrontFest
Тим Чаптыков
frontfest
0
1.2k
Егор Банщиков
frontfest
0
900
Jose M. Perez
frontfest
0
760
Алексей Иванов
frontfest
0
1.4k
Екатерина Пригара
frontfest
0
710
Léonie Watson
frontfest
0
780
Кирилл Чернышев
frontfest
0
770
Виктор Грищенко
frontfest
0
660
Игорь Алексеенко
frontfest
0
510
Other Decks in Programming
See All in Programming
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
210
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
570
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
720
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.8k
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
180
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
140
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
5
1.9k
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
120
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
4.8k
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
190
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
150
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The Limits of Empathy - UXLibs8
cassininazir
1
610
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
270
KATA
mclloyd
PRO
35
15k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
Amusing Abliteration
ianozsvald
1
250
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
410
Design in an AI World
tapps
1
280
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
Google's AI Overviews - The New Search
badams
0
1.1k
Transcript
Как мы пишем фронтенд в Букинге Вениамин Тамбурин
None
None
Booking.com работает более чем в 220 странах на 43 языках
В чем заключается роль разработчика интерфейсов?
None
None
Локализация Эксперименты Мониторинг Производительность Ответственность команды Инновации
Локализация и интернационализация
43 языка 50 валют 2000+ комбинаций
None
None
Верстка HTML и CSS всегда должна работать
None
None
None
None
Английский Русский Болгарский Китайский Арабский
None
Мы должны понимать язык и культуру наших пользователей
два варианта на одном экране
None
None
Говоря с человеком на том языке, который он понимает, ты
говоришь с его головой. Если ты говоришь с человеком на его родном языке, ты говоришь с его сердцем — Нельсон Мандела
Эксперименты
None
Buy now Buy now vs
Buy now Buy now ! if track(experiment)
Buy now Buy now Logged in/out Language/currency Country of origin
Browser/OS/Device Visited products Navigation flow Search criteria Validation errors Customer’s city/state Payment type Customer service calls Cancellations Page load time Wallclock/CPU Number of queries Server/client-side errors
Buy now Buy now Продолжительность: 14 дней Посетители: 45140 (22570
на вариант) Transactions Average price 407 (1.8%) $ 42,00 $ 42,84 339 (1.5%) +20% +2%
Что бы мы ни делали, мы делаем через A/B эксперименты
Но новый макет очевидно лучше старого! Мы можем обойтись без
эксперимента! — большинство дизайнеров
Какой вариант лучше? Поднимите правую руку ✋ Не поднимайте руку,
если нет разницы Поднимите левую руку
Какой вариант лучше? Поднимите правую руку ✋ –1.7% отказов
Какой вариант лучше? Поднимите правую руку ✋ Не поднимайте руку,
если нет разницы Поднимите левую руку
Какой вариант лучше? Поднимите левую руку +203% CTR
Какой вариант лучше? Поднимите правую руку ✋ Не поднимайте руку,
если нет разницы Поднимите левую руку
Какой вариант лучше? Поднимите левую руку +43.4% покупок
Какой вариант лучше? Поднимите правую руку ✋ Не поднимайте руку,
если нет разницы Поднимите левую руку
Какой вариант лучше? Ни один вариант не показал значимых изменений
Buy now Buy now vs Net conversion Click-through rates Validation
errors больше слова про то, что мы тестируем и тезнологии, не только кнопки
vs Net conversion Page load time Validation errors jQuery 1.11
jQuery 3.0
vs Time to render Net conversion (per UA) Page load
time Virtual DOM morphdom
Задача — не увеличить конверсию, но быть лучше для наших
пользователей
Мониторинг
Каждая часть приложения покрыта метрикой
None
Каждое событие создает Event
{ action => ’hotel’, referrer => ’http://booking.com’, country => ’us’,
ip => ’222.222.2.22’, git_tag => ’20160625-120178’, node => ’xx555-33’, browser => ’chrome’, version => ’49’, js_error => { file => ’hotel.js’, error => ’undefined B is not a function’, stack => ’...’, line_number => 337 }, js_data => { first_load => 4343, first_paint => 1200 } is_robot => 0, … } Event
Мы можем быстро реагировать на любые проблемы
None
Производительность
Пользователь должен иметь возможность забронировать отель где бы он ни
находился
Первый DOM Content Ready Первый onLoad Средний DOM Content Ready
Средний onLoad Размер страницы Wallclock CPU Память
Service Workers Critical rendering path Asynchronous assets and templates Assets
pre-fetching
Любое улучшение производительности пройдет через эксперимент
Ответственность и автономность команд
Каждый дизайнер и разработчик может выдвинуть идею и воплотить ее
в жизнь
Идея Обсуждение Дизайн и разработка Тестирование Релиз Создание A/B эксперимента
Анализ результата Выводы и новые идеи
Все в равной мере ответственны за принятые решения и результаты
Инновации
Booking.com продолжает расти более 20 лет
Мы делаем редизайн и рефакторинг с большой осторожностью
None
ценность для пользователей польза компании радость разработчикам
Как же мы делаем фронтенд для 224 стран и 40
языков?
Локализация. Мы стараемся быть ближе к пользователям и говорить с
ними на одном языке
Эксперименты. Мы не доверяем интуиции, но принимаем решения на основе
точных данных
Мониторинг. Мы быстро реагируем на возникающие проблемы
Мы ответственны за все принимаемые решения
Мы следим за новостями рынка и технологий
None
Любите не инструменты, но продукт и вызовы
Пользователь — мера всего
Dank jullie wel! Спасибо!