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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hidetaka Toriyama
May 21, 2026
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
誰も頼んでない機能を出荷した話
Hidetaka Toriyama
May 21, 2026
Other Decks in Programming
See All in Programming
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.2k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
自作OSでスライド発表する
uyuki234
1
3.8k
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
210
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
180
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
320
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
Creating Composable Callables in Contemporary C++
rollbear
0
210
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
120
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
230
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
230
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
650
Building AI with AI
inesmontani
PRO
1
1.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Tell your own story through comics
letsgokoyo
1
990
Making the Leap to Tech Lead
cromwellryan
135
10k
Odyssey Design
rkendrick25
PRO
2
730
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The SEO Collaboration Effect
kristinabergwall1
1
500
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Transcript
鳥山 英峻 (Toriyama Hidetaka) 誰も頼んでない機能を出荷した話 // 会員数150万のアプリにLive Activityを入れるまで X: @tori_dev24
00 自己紹介 鳥山英峻(Toriyama Hidetaka) DMM 24新卒 iOSチームサブリーダー 📍 好きなもの
🏕 🎮 🏋 ✈
💬 iOSの最新機能、入れられていますか?
💡 OS固有機能は、ユー ザ ー体験を直接強くする 操作ステップが減る 例:ロック画面で見える アプリを開かなくていい プラットフォームの 体験と地続きになる
Dynamic Island, ウィジェット, App Intents 新機能は そのまま 差別化になる OSの新機能 = 全アプリにとって 平等な競争スタート地点
よくあるステークホル ダ ー懸念 🥺(ごもっとも) 「で、KPIどう変わるの?」 「今期、他案件で手一杯だよね?」 「他社で導入してる事例ある?」
だったら、 ボ トムアップから機能を入れるしかない 💪
00 はじめに - このLTについて 💡 新卒が 誰も頼んでない機能を 出荷してみた件 ター
ゲ ット iOS新機能を「いつか入れたい」と思っている人 LT結論 学べること 提案 → 実装 → リリース までのリアル ボトムアップ提案は、コツで再現性がある ※ 今回技術の話は少なめです🙇
リリース: 2026年4月20日 ver 2.22.0 01 作ったもの紹介 Dynamic Island ロック画面
DL進捗の ライブアクティ ビ ティ
ϓϥοτϑΥʔϜݻ༗ػೳ 01 アイ デ ア提案 - PDMへの直談判 ˢ 🏢
普通の案件(5段階) ✨ 今回(2段階)
01 アイ デ ア提案 - PDMへの直談判 DL進捗の表示 配信作品の予定を表示 レンタル期限切れの表示
DL進捗度合いを ロック画面でも確認可能 公開が近い作品を カウントダウン表示 レンタル作品の 期限切れをLAで通知 ライブアクティ ビ ティを前提に提案 作品名 作品名
01 アイ デ ア提案 - PDMへの直談判 DL進捗の表示 配信作品の予定を表示 レンタル期限切れの表示
DL進捗度合いを ロック画面でも確認可能 公開が近い作品を カウントダウン表示 レンタル作品の 期限切れをLAで通知 ライブアクティ ビ ティを前提に提案 作品名 作品名
01 アイ デ ア提案 - 選定の振り返り ✅ 採用された理由 DL進捗の表示
・Safariで実装されている(Apple公認) ・他配信プラットフォームがやっていない ❌ 採用されなかった理由 配信作品の予定、レンタル期限切れを表示 ・サーバ連携が必要で工数増 ・仕様の制約でリーチが限定的 ・LAの正しい使い方か、断言できない 3案出してから採用基準が見えた → 提案前に意思決定者に評価軸を聞いていれば、それに沿った提案で工数を減らせた
01 アイ デ ア提案 - まとめ 💡 やってみてわかった、アイ デ
アを通しやすくする型 ̎ Apple公認での安心感 × 競合未対応 を見つける → Apple純正アプリにあるが、競合にない機能 ユー ザ 動線が増える機能を選 ぶ → ロック画面/ウィジェット など。ユーザ導線が増えてマイナスなアプリなし 提案前に評価軸をヒアリン グ する → 意思決定者がアプリに大事にしている軸を正しく認識する
02 技術実装 - LAの制約 LAには制約がたくさん!!
02 技術実装 - LAの制約 ⚙ アニメーションの制約 日本語訳
02 技術実装 - LAの制約 BGに入るとサークルが進まず ユーザ視点急にDLが完了する ⚙ アニメーションの制約 DLの進捗に合わせて
サークルが進む想定だった… Widget の省電力制御で 連続アニメ不可 (Lottieなども止まる)
02 技術実装 - LAの制約 ⚙ アニメーションの制約 設計判断 ・複数件DLの場合は 件数の終了数をサークルで表示
(アニメーションの更新が少ない) 結果 サークルUIの利点が少ないLAに😭
02 技術実装 - LAの制約 📡 アプリが BG では LA
を「新規作成」できない Activity.request() 日本語訳
02 技術実装 - LAの制約 📡 アプリが BG では LA
を「新規作成」できない ユーザがDLを複数件する ↓ LA は FG でしか「生まれない」 ↓ キューに入った DL は BG でも始まる ↓ "既にある LA" を 使い回すしかない 複数件のDLのケース
02 技術実装 - LAの制約 📡 アプリが BG では LA
を「新規作成」できない 設計判断 ・FG にいる間に create ・DL件数の増加のUI変更は update で対応 結果 UI/UX 表現は 大きく変えられない (update で更新可能な範囲に縛られる)
02 技術実装 - LAの制約 ⚙ アニメーション ・Widget の省電力で 連続アニメ不可
・Lottie も BG では止まる 📡 ライフサイクル ・BG では 新規 create 不可 ・明示的に アクティビティの end が必要 + stale date での制御が必要 ・最大表示時間: 8h (Dynamic Island) / 12h (Lock Screen) 🛠 LA採用前に、知っておきたい独特の制約 🎨 UI実装 ・Dynamic Island対応なら、4つ全部実装しないといけない compactLeading / compactTrailing / minimal / expanded ・データ量 4KB
02 技術実装 - まとめ 💡 やってみてわかった、 ボ トムアップ実装の現実
̎ 最新OS機能の挙動は、 要実機検証 → BG・ライフサイクルは、Widget Extension独自の制約がある 情報の少なさを工数見積もりに織り込む → 最新機能は記事が出てこない、AIも学習してない。手探りで時間かかる ボ トムアップ提案の見積もりは普段より慎重に行う → こちらから「やります!」した仕様変更は心理的・承認コストが高い
03 デザ インフェー ズ 反省 🤔 何がいけなかったのか? サークルUI を採用した時の判断
・大きくUI方針を変更したくなかった ・DMM TV感のデザインを保ちたかった ・自分のコンテキストを前提にしてた でも、HIG的には── ・LA は「ひと目で状況が伝わる」が原則 ・「視覚要素より「明確な情報」 コンテキストフリーで成立する設計
03 デザ インフェー ズ - まとめ 💡 iOSエンジニアが デザ
インするなら ̎ HIG を信仰する = 誤解のないUIを学 ぶ → より「ひと目で伝わる」 第三者の目 を仕組みで入れる →「最小工数」「巻き込まない」 を意識しすぎた Tips イメージ共有は Claude で工数削減
04 まとめ - 持ち帰り ▼ アイ デ アを通しやすくする型 Apple公認
× 競合未対応 ユーザー動線が増える機能 提案前に評価軸ヒアリング ▼ ボ トムアップ実装の現実 最新機能の挙動は信用しない 情報の少なさを見積もりに織り込む 見積もりミスは提案フェーズに戻る ▼ エンジニアが デザ インするなら HIGを信仰する(誤解のないUIを選ぶ) イメージ共有はClaudeで工数削減 第三者の目を仕組みで入れる 💡 今日の持ち帰り 9つ
04 補足 - ボ トムアップの壁 ❌ 新OS機能はKPI貢献を証明しにくい → 時間がかかるものであれば、他案件より優先度が下がってしまう
つまり エスカレーションしなくても良い短期工数で進めるしかない → 今回で言うと4人日以下 最小スコープでiOSチーム内に閉じる設計 ⚠ ボ トムアップでエスカレーションするのは現実的じゃない