AbemaTV, Inc. All Rights Reserved
Cross Deviceチームにおける
スマートテレビアプリ開発
ってどんな感じ?
2022 June 9th
株式会社AbemaTV 開発本部 Cross Device
Keisuke Tatsumi
1
Slide 2
Slide 2 text
AbemaTV, Inc. All Rights Reserved 2
1. whoami
2. どうしてCross Deviceチームに?
3. ジョインしてからの話
4. まとめ
INDEX
Slide 3
Slide 3 text
AbemaTV, Inc. All Rights Reserved
whoami
3
Slide 4
Slide 4 text
AbemaTV, Inc. All Rights Reserved
Keisuke Tatsumi
4
Profile
● Cross Device Engineer @ AbemaTV, Inc.
● XR Guild @ CyberAgent, Inc.
● Github, Qiita: cokaholic
● Twitter: @_cokaholic
Slide 5
Slide 5 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
5
Slide 6
Slide 6 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
6
● 2016年12月 iOSチームにジョイン
● 2018年2月 社内のARギルド(現在のXR Guild)に参加
○ UnityやWebARなど iOS 以外の技術にもより一層興味が湧く
● 2020年1月 Cross Deviceチームにジョイン
○ iOS以外も本業でやってみたいという気持ちが高まった
Cross Deviceチームにジョインするまで
Slide 7
Slide 7 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
7
一言で言うと、
あらゆるデバイスにABEMAを展開するための技術を提供するチーム
Cross Deviceチームとは
Slide 8
Slide 8 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
8
一言で言うと、
あらゆるデバイスにABEMAを展開するための技術を提供するチーム
Cross Deviceチームとは
● 様々なデバイスの開発に携わることができる!
● 様々な言語や技術を扱うことができる!
Slide 9
Slide 9 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
9
2022年6月現在 Cross Deviceチームで扱っているデバイスや言語
デバイス 言語
AndroidTV・FireTV Kotlin
IPTV HTML・CSS・JavaScript
Google Chromecast・Nest Hub HTML・CSS・JavaScript
Apple TV Swift
Nintendo Switch C#(Unity)
Slide 10
Slide 10 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
10
2022年6月現在 Cross Deviceチームで扱っているデバイスや言語
デバイス 言語
AndroidTV・FireTV Kotlin
IPTV HTML・CSS・JavaScript
Google Chromecast・Nest Hub HTML・CSS・JavaScript
Apple TV Swift
Nintendo Switch C#(Unity)
Slide 11
Slide 11 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
11
ABEMA for Nintendo Switch
● Cross Deviceチームで開発を担当
● 2021年12月23日 リリース
Slide 12
Slide 12 text
AbemaTV, Inc. All Rights Reserved
どうしてCross Deviceチームに?
12
ABEMA for Nintendo Switch
● Cross Deviceチームで開発を担当
● 2021年12月23日 リリース
新規参入デバイス向けアプリ開発のチャンスもある!
Slide 13
Slide 13 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
13
Slide 14
Slide 14 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
14
Cross Deviceチームでの開発
● 新規開発ラインと運用開発ラインの2ライン体制
● 整備されている各デバイスごとのスタートアップガイド
● 挑戦に前向きなチームメンバー
● 設計共通化の取り組み
● アプリのUI/UXデザインの議論に関われる
Slide 15
Slide 15 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
15
Cross Deviceチームでの開発
● 新規開発ラインと運用開発ラインの2ライン体制
● 整備されている各デバイスごとのスタートアップガイド
● 挑戦に前向きなチームメンバー
● 設計共通化の取り組み
● アプリのUI/UXデザインの議論に関われる
Slide 16
Slide 16 text
AbemaTV, Inc. All Rights Reserved
3ヶ月後
メンバー
交代
ジョインしてからの話
16
新規開発ラインと運用開発ラインの 2ライン体制
● 2ライン(新規開発・運用開発)にメンバーを分けて開発
● 3ヶ月ごとにローテーションで交代していくので属人化しない
新規開発ライン:Google Nest Hub・Nintendo Switchなど
運用開発ライン:AndroidTV・IPTV・AppleTV・Chromecast
Slide 17
Slide 17 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
17
Cross Deviceチームでの開発
● 新規開発ラインと運用開発ラインの2ライン体制
● 整備されている各デバイスごとのスタートアップガイド
● 挑戦に前向きなチームメンバー
● 設計共通化の取り組み
● アプリのUI/UXデザインの議論に関われる
Slide 18
Slide 18 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
18
整備されている各デバイスごとのスタートアップガイド
Q. 初めてジョインしてローテーションしていくのって難しくない?
A. スタートアップガイドが整備されていたので意外と大丈夫だった
● デバイスごとにドキュメントがまとまっている
● 属人化しない仕組みのおかげで基本どのメンバーにも質問できる
Slide 19
Slide 19 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
19
Cross Deviceチームでの開発
● 新規開発ラインと運用開発ラインの2ライン体制
● 整備されている各デバイスごとのスタートアップガイド
● 挑戦に前向きなチームメンバー
● 設計共通化の取り組み
● アプリのUI/UXデザインの議論に関われる
Slide 20
Slide 20 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
20
挑戦に前向きなチームメンバー
● 2022年6月現在のメンバー数は6名
● 各メンバーの出身はWeb、iOS、Androidなど様々
● 新規デバイス向け開発や新しい技術への挑戦に前向き
● DiscordやSlackを活用した気軽に質問しやすい環境
Slide 21
Slide 21 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
21
Cross Deviceチームでの開発
● 新規開発ラインと運用開発ラインの2ライン体制
● 整備されている各デバイスごとのスタートアップガイド
● SlackやDiscordを活用した気軽に質問しやすい環境
● 設計共通化の取り組み
● アプリのUI/UXデザインの議論に関われる
Slide 22
Slide 22 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
22
設計共通化の取り組み
Q. なぜ設計共通化が必要なんですか?
● デバイスごとに異なるアーキテクチャで実装するのは辛い 😇
● ロジックを共通化できるところは共通化したい
A. 少人数のチームで複数のデバイスを管理していくため
Slide 23
Slide 23 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
23
設計共通化の取り組み
● ドメイン・ユースケース駆動開発
○ ICONIX プロセス
■ ドメインモデリング
■ ユースケースモデリング
■ ロバストネス分析
● クリーンアーキテクチャ
○ Nintendo Switch 開発から始め、AndroidTV・FireTVに現在適用中 💪
Slide 24
Slide 24 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
24
設計共通化の取り組み
● ドメイン・ユースケース駆動開発
○ ICONIX プロセス
■ ドメインモデリング
■ ユースケースモデリング
■ ロバストネス分析
● クリーンアーキテクチャ
○ Nintendo Switch 開発から始め、AndroidTV・FireTVに現在適用中 💪
ABEMA Tech Book 2022
第5章「未開拓デバイス向け
アプリ開発でICONIXプロセ
スを組み込んだ開発フロー
を実現する」で実践した内容
を執筆しました!
\BOOTH にて販売中/
Slide 25
Slide 25 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
25
Cross Deviceチームでの開発
● 新規開発ラインと運用開発ラインの2ライン体制
● 整備されている各デバイスごとのスタートアップガイド
● SlackやDiscordを活用した気軽に質問しやすい環境
● 設計共通化の取り組み
● アプリのUI/UXデザインの議論に関われる
Slide 26
Slide 26 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
26
アプリのUI/UXデザインの議論に関われる
● UI/UXデザインのブラッシュアップを議論するオープンデザインを毎週開催
○ エンジニア、デザイナー、PMが参加
○ 改善したいテーマに対してアイデアを出し合う
○ 決まったアイデアは実装し、リリース後に効果振り返りを行う
Slide 27
Slide 27 text
AbemaTV, Inc. All Rights Reserved
ジョインしてからの話
27
アプリのUI/UXデザインの議論に関われる
● UI/UXデザインのブラッシュアップを議論するオープンデザインを毎週開催
○ エンジニア、デザイナー、PMが参加
○ 改善したいテーマに対してアイデアを出し合う
○ 決まったアイデアは実装し、リリース後に効果振り返りを行う
● 議論に関わった上で実装するので納得がいく
● 効果を振り返った上で機能の取捨選択ができる
Slide 28
Slide 28 text
AbemaTV, Inc. All Rights Reserved
まとめ
28
Slide 29
Slide 29 text
AbemaTV, Inc. All Rights Reserved
まとめ
29
Cross Deviceチームはどういった人におすすめ?
● 何か一つの分野から始めてどんどんスキルセットを広げたい
● 新規参入デバイス向けアプリ開発のチャンスに関わってみたい
● UI/UXデザインにこだわって実装したい
Slide 30
Slide 30 text
AbemaTV, Inc. All Rights Reserved
まとめ
30
最近のCross Deviceチームはここが熱い 🔥
● アフターコロナのお家時間需要でスマートテレビアプリの需要は高い!
https://gallery.intage.co.jp/tv2021/ より引用
Slide 31
Slide 31 text
AbemaTV, Inc. All Rights Reserved
まとめ
31
最近のCross Deviceチームはここが熱い 🔥
● 2022年11月下旬のW杯に向けた開発に関われる!