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
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
890
Jose M. Perez
frontfest
0
750
Алексей Иванов
frontfest
0
1.4k
Екатерина Пригара
frontfest
0
710
Léonie Watson
frontfest
0
770
Кирилл Чернышев
frontfest
0
770
Виктор Грищенко
frontfest
0
660
Игорь Алексеенко
frontfest
0
500
Other Decks in Programming
See All in Programming
霧の中の代数的エフェクト
funnyycat
1
390
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
130
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
770
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.5k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
450
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
関数型プログラミングのメリットって何だろう?
wanko_it
0
180
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
140
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
The Invisible Side of Design
smashingmag
301
52k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The World Runs on Bad Software
bkeepers
PRO
72
12k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.6k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Tell your own story through comics
letsgokoyo
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! Спасибо!