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
大量のコメントを捌く技術 / API Talk about mercari channel
Search
Sota Sugiura
January 31, 2018
Technology
1
2.9k
大量のコメントを捌く技術 / API Talk about mercari channel
API TALK about メルカリチャンネルでの登壇資料です
https://mercari.connpass.com/event/73609/
Sota Sugiura
January 31, 2018
Tweet
Share
More Decks by Sota Sugiura
See All by Sota Sugiura
内製したSlack Appで頑張るIncident Response@Waroom Meetup #1 / Incident Response with Slack App in 10X
sota1235
0
1.4k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
98
再発防止策を考える技術 / #phpconsen
sota1235
10
3.8k
How to choose the best npm module for your team?
sota1235
9
570
Realtime Database for high traffic production application
sota1235
7
3.9k
Road to migrate JP Web as a microservice
sota1235
4
1.6k
インターフェース再入門 / Think Interface again
sota1235
6
10k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.2k
Update around Firebase #io18
sota1235
3
4.3k
Other Decks in Technology
See All in Technology
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
190
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
160
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
150
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
350
Охота на косуль у древних
ashapiro
0
100
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
MIMEと文字コードの闇
hirachan
2
1.4k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
380
Share my, our lessons from the road to re:Invent
naospon
0
140
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
130
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Rails Girls Zürich Keynote
gr2m
94
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Producing Creativity
orderedlist
PRO
344
40k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Building Applications with DynamoDB
mza
93
6.2k
Transcript
大量 コメントを捌く技術 @sota1235 2018/1/23 API Talk about メルカリチャンネル
自己紹介 ▪ @sota1235 ▪ Sota Sugiura ▪ 入社1年経ちました ▪ 将来
夢 JavaScriptです
最初に ▪ これだけ 覚えて帰ってほしいことがあります
メルカリチャンネル
メルカリチャンネル?
ˈ メルカリチャンネル
ˉ メルチャン
あと おまけです
アジェンダ ▪ お客さまにとって コメント ▪ 開発者にとって コメント ▪ コメント機能 未来
お客さまにとって コメント
None
視聴者数 入室メッセージ 視聴者コメント 各種通知メッセージ いい
視聴者数 入室メッセージ 視聴者コメント 各種通知メッセージ いい
コメント機能 ▪ ログインしていれ 誰でも可能 ▪ 配信者、視聴者全員が見られる
なぜコメント機能?
なぜ◯◯でなくメルチャン?
なぜメルチャン? ▪ なぜECサイトで ない? ▪ なぜテレビショッピングで ない? ▪ なぜメルカリで ない?
なぜか Seller Buyer Broadcast Comment ▪ そ 場でコミュニケーションが取れるから
コミュニケーション ▪ 「そ 野菜 おすすめ 食べ方 ?」 ▪ 「そ アクセサリ、アレンジできない?」
▪ 「あと500円安かったら買います」 ▪ 「送料込みにできませんか?」
買い物に限らない ▪ 挨拶したり ▪ 雑談したり ▪ ゲームしたり
例えるなら、八百屋?
例えるなら、八百屋? へいらっしゃい
数字で見るコメント機能 ▪ 配信によって 毎秒1個以上 コメントが投稿され ている ▪ 運用しているFirebase Realtime Database
インス タンス数 世界最大級
コメント メルチャン 肝 ▪ 「映像が見られる」に次いで大事な機能 ▪ もしもコメントが無かったら… ▪ ライブである必要が無い
開発者にとって コメント
要件定義 ▪ 細かい要件 一杯ある ▪ ログインユーザしかコメントできない ▪ ユーザ名にいい感じに色を付ける ▪ NGワード
フィルタリング ▪ etc...
一番必要な要件 ▪ コミュニケーション機能として確立すること
Face to face
face to face感を出すために ▪ 遅延がない ▪ コメントが埋もれていかない ▪ 配信者がきちんと拾える
遅延がない ▪ コメントを投稿したらすぐに反映される ▪ Firebase Realtime Databaseを用いて実現
ちなみに ▪ 多く 機能でFirebase Realtime Databaseを利用し ています
視聴者数 入室メッセージ 視聴者コメント 各種通知メッセージ いい
コメントが埋もれていかない ▪ 生放送な で放送途中に視聴することがある ▪ 途中から直近N件 コメントを表示するよう改善
コメントが埋もれていかない ▪ 生放送な で放送途中に視聴することがある ▪ 途中から直近N件 コメントを表示するよう改善 ▪ 結果、コメント率が改善
配信者が読める ▪ 視聴者以上にコメントを読めることが重要 ▪ 唯一無二 コミュニケーション手段
より読みやすく ▪ 視聴者よりも文字を大きく ▪ 同じユーザ 同じ色で表示
視聴者画面 配信者画面
配信画面 文字を大きく 視聴者画面 配信者画面
ユーザ名 色を固定 視聴者画面 配信者画面
コメント機能 未来
大きく2つ ▪ 今あるコメント機能 改善 ▪ 新しいコミュニケーション 創造
コメント機能 改善
今 問題点 ▪ スケールアップ問題 ▪ モニタリング問題 ▪ コメント 表現力
スケールアップ問題 ▪ Firebase Realtime Database スケールアップしな い ▪ 現在 複数インスタンスを運用中
スケールアップ問題
シャーディング
スケールアップ問題 ▪ 今 ところ 回ってる ▪ が、手動で インスタンス追加がツライ ▪ 急成長する(現在進行系)サービスで
限界がある
New Architecture ▪ Cloud Firestore 検証、移行したい ▪ 自社実装もありうる ▪ いずれも難易度が高いながら、技術的にやりがい
あるチャレンジ
モニタリング問題 ▪ コメント機能が快適に動いてるか 監視 ▪ “快適に” 定義が非常に難しい ▪ モニタリング→自動切り替え等 Karakuriが求め
られる
コメント 表現力 ▪ 文字がコメントできるだけでいい か? ▪ 今 UIってベスト? ▪ コメントが右から左に流れていっても面白いかもし
れない
新しいコミュニケーション 創造
再掲 コミュニケーション 構図 Seller Buyer Broadcast Comment
これから…? Seller Buyer Broadcast ???
半年後 メルカリチャンネル きっと… ▪ スタンプ機能 ▪ コメント自動読み上げ ▪ 自動返信 ▪
模索 余地がまだまだある
[WIP]半年後 メルチャン Seller Buyer Broadcast 自動読み上げ AI ライブ参加 仮想通貨 機械学習
etc...
Thank you