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.8k
大量のコメントを捌く技術 / 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.1k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
75
再発防止策を考える技術 / #phpconsen
sota1235
10
3.7k
How to choose the best npm module for your team?
sota1235
9
550
Realtime Database for high traffic production application
sota1235
7
3.9k
Road to migrate JP Web as a microservice
sota1235
4
1.5k
インターフェース再入門 / Think Interface again
sota1235
6
10k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.1k
Update around Firebase #io18
sota1235
3
4.2k
Other Decks in Technology
See All in Technology
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
450
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
140
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
440
強いチームと開発生産性
onk
PRO
35
11k
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.5k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
330
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
100
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
490
Engineer Career Talk
lycorp_recruit_jp
0
190
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
Featured
See All Featured
What's new in Ruby 2.0
geeforr
343
31k
Docker and Python
trallard
40
3.1k
A Philosophy of Restraint
colly
203
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
GitHub's CSS Performance
jonrohan
1030
460k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
KATA
mclloyd
29
14k
Gamification - CAS2011
davidbonilla
80
5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Building an army of robots
kneath
302
43k
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