2020年9月19日(土)〜9月21日(月)にかけて開催される「iOSDC Japan 2020」。
5回目の開催となる本カンファレンスですが、サイバーエージェントは今年はプラチナスポンサーを務めます。
またサイバーエージェントからは、4名のエンジニアが登壇するので、ご紹介したいと思います。
4年間運用されて表示速度が低下した詳細画面を改善する過程で得た知見
「ABEMA」からは鈴木大貴( marty_suzuki)が発表を行います。
2020/09/20 10:50〜 Track B
セッションでは、こんなことを話します!
アプリの運用を続けていくと、成長に合わせて機能も増えていきます。
機能のリリースを優先した運用を続けた結果、月日が経過してふと気づいたときにアプリのパフォーマンスが低下していたという経験はないでしょうか?
このトークでは、4年間運用されて表示パフォーマンスが低下していった詳細画面を題材に、原因の特定から最大で表示速度が200%改善するまでを以下のような観点を踏まえて紹介します。
# 第1フェーズ(調査)
・表示速度をどのように計測するか
・何が原因で表示速度が落ちていたか
・そもそもどのようなViewの構成だったか
# 第2フェーズ(最短リリースを目標とした改善)
・どのようにViewを生成していくか
・データの受け渡しをどのように繋げていくか
# 第3フェーズ(画面回転も考慮した改善)
・改善するためにどのようなViewの構成に変えていったか
・Viewに紐づくデータはどのように定義したか
まだしばらくはUIKitも現役なはずなので、これから改善をやってみようという方も新規の実装をしていこうという方にも、参考になる知見を紹介できればと考えています。
無料トライアル施策のしくじりから学ぶサブスクリプション構成 ベストプラクティス
「タップル誕生」からは永野一馬(kazuma_nagano)が発表を行います。
2020/09/20 15:40〜 Track C
©︎ iOSDC JAPAN
セッションでは、こんなことを話します!
皆さんiOSのサブスクリプションプランの無料トライアルを実施したいと言われたことはありませんか?
Appleは「お試しオファー」という仕組みを提供しており、一見簡単に実装できそうに思いますが、そこにはいくつもの落とし穴があります。
本トークでは僕自身が実際に無料トライアル施策を実施し、盛大にしくじった経験から叶えることのできる / できない要件、サブスクリプションプラン構成のベストプラクティスをお話しできればと思います。
– Appleの提供する無料トライアルの仕組み知ってますか?
– プランの購入導線全て知ってますか?
– Appleの「お試しオファー」で叶えることのできる / できない要件
– 今回の施策でのしくじりポイント
– しくじりから学ぶべきポイントとベストプラクティス
macOS仮想カメラ「テロップカム」実装方法とその先
「ABEMA」からは服部智(shmdevelop)も発表を行います。
2020/09/20 17:15〜 Track A LT
©︎ iOSDC JAPAN
セッションでは、こんなことを話します!
Zoomをはじめとしたオンラインミーティングが活用されています。
そこで映像に様々なエフェクトを掛けるアプリを使っている方もいるのではないでしょうか。
エンジニアならば当然自作したいですよね!
macOSで仮想カメラアプリ「テロップカム」を実装しそれがインターネット放送で使用されました。
皆が面白い仮想カメラ作り出すきっかけとなる情報を共有すると共に
さらに拡張可能な分野について熱く語ります。
Feature Flagを適切に分類することでA/Bテストの運用コストを下げる
「ABEMA」からは井原岳志(nonchalant0303)も発表を行います。
2020/09/21 17:15〜 Track A LT
©︎ iOSDC JAPAN
セッションでは、こんなことを話します!
主にコンテンツを提供するアプリの開発に携わっていると、新機能をリリースしてKPIが改善した際に、コンテンツによる影響なのか新機能による影響なのか区別が困難という問題があります。
そこで一般的によく用いられている手法として、A/Bテストと呼ばれる手法があります。自分が開発に携わっているサービスのA/Bテストは、新機能の表示の切り替えでKPIの変化を検証しています。
その表示の切り替えを管理するのが、Feature FlagやFeature Toggleと呼ばれる機能の有効・無効をコード上で切り替えるテクニックです。
A/Bテストの実施数が増えるに従って、Feature Flagの数も増えていきます。
これにより、A/Bテストを未実施、実施中、検証済みなどのFeature Flagのステータスを管理するコストが増加していきます。
ステータスを正常に管理しないと、未実施のFeature Flagが本番に露出されたり、検証済みのFeature Flagのコード上での削除漏れという問題が発生します。
そこで、検証範囲や検証期間に合わせて、Feature FlagをRelease、Ops、Permission、Experimentという4分類で管理するようにしました。
これにより、それぞれのFeature Flagの役割が明確になり、また分類に合わせて挙動を変更することで、Feature Flagの管理コストを削減することができます。
今回のトークでは、実際のサービスでのFeature Flagの分類に従った運用方針を紹介します。
iOSDC JAPAN 2020に参加される皆さま、ぜひお待ちしております!