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
900
Jose M. Perez
frontfest
0
760
Алексей Иванов
frontfest
0
1.4k
Екатерина Пригара
frontfest
0
720
Léonie Watson
frontfest
0
780
Кирилл Чернышев
frontfest
0
770
Виктор Грищенко
frontfest
0
660
Игорь Алексеенко
frontfest
0
510
Other Decks in Programming
See All in Programming
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
160
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
440
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
1.1k
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
600
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
270
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
ソフトウェアラスタライザ
fadis
1
790
スマート反転とウェブアクセシビリティ
camiha
0
140
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
120
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
580
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
410
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
120
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
Designing for humans not robots
tammielis
254
26k
Thoughts on Productivity
jonyablonski
76
5.4k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
490
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Code Review Best Practice
trishagee
74
20k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
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! Спасибо!