こんにちは、umatoshi & yagijin & fumyです。
このブログは、ペパボのminneに携わるiOSエンジニア達がお送りするiOSDCの参加レポートになります。
はじめに
iOSDC Japan 2023について
iOSDC Japan 2023は、iOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスで、今年も早稲田大学の西早稲田キャンパスで3日間に渡って開催されました。
iOS関連技術だけに留まらず、Swift言語に関する話題やiOSアプリアーキテクチャ、Macアプリケーション、機械学習関連、IoT関連など、発表内容も多岐に渡るので、仮にiOSアプリエンジニアでなくとも、iOS関連技術に少しでも関心があれば、とても参加しやすい雰囲気のカンファレンスでした。
また、今年はGMOインターネットグループとしてダイアモンドスポンサーとして協賛する運びとなったので、ペパボもその一員としてブース展示やスポンサーセッション登壇を通してiOSDCを盛り上げることができたのではないかと思います。
開催前の動き
開催の2ヶ月前から本格的にペパボのDevRelチームをはじめ、グループの皆様とも連携をして企画会議を実施してきました。加えて、クイズの草案をminneのモバイルアプリメンバーと一緒に考えたり、開催前ブログを公開したり等、開催日が近くなるにつれて熱量の高まりを感じていました。
スポンサーブース
今年のブースでは、全8問の問題を解答するビンゴ(iOS DE BINGO!)と現在の利用言語に関するアンケートを実施しました。会場2階にあるAsk The Speakerやポスターセッション、軽食を配布している場所だったこともあり、多くの方々にお立ち寄り頂いて常に賑わっておりました。
ビンゴ企画(iOS DE BINGO!)
ビンゴ内で出題した問題と回答については、「iOSDC Japan 2023のビンゴ問題を解説します」で紹介しているのでぜひこちらもご覧ください。問題の難易度については、GMOインターネットグループに関連する問題に加えて、SwiftやiOSに関する基本問題から応用問題まで幅広く取り揃えたましたので、解き応えのある内容だったかと思います。
X(旧Twitter)での反応をピックアップ😄
GMOさんのクイズビンゴ、8問中7問正解したので、エンジニアとしてまだ自分のことエンジニアと思ってても良い気がしてきた #GMOdev #iOSDC pic.twitter.com/8N2pcWydI4
— huin (@huin) September 3, 2023
GMOさんのビンゴクイズ1問ミス、完全に引っ掛け問題にかかってしまった😢 #iosdc pic.twitter.com/r9JfFZ5cm3
— lap | らぷ (@laprasDrum) September 2, 2023
#iosdc 捻くれたクイズ出題者がここにいました!感謝!楽しめましたー pic.twitter.com/tn9kZBCtK1
— y.imajo (@yimajo) September 3, 2023
参加賞としてペパボからはメガネ拭き、そしてGMOメディア様からはマグネットをそれぞれお配りしました。
ビンゴの問題と解答の解説がきっかけとなり、ブースにお立ち寄り頂いた皆様とのコミュニケーションや情報交換をする機会が生まれ、多くの刺激と共に今後の取り組みへのヒントやアイデアを頂く貴重な時間となりました。
アンケート
ブースではビンゴ企画と並行して、普段利用している言語に関するアンケートも実施しました。
iOSDCという事もあるので、やはりSwiftが一番多かったのですが、iOS開発と並行してAndroid側も一緒に開発している方も多く、Swiftの次にKotlinやDartを書かれている方も多い印象でした。アンケート項目にSwift(iOS)と書いていたので、サーバーサイドでSwiftを書いている方が「Swift(サーバーサイド)」で投票された方もいらっしゃり、改めて多様性を感じると同時に様々なバックボーンを持つエンジニアとも交流ができた点も嬉しかったです。
(余談)マジックキューブの反響
特に、開催前・開催中問わず「マジックキューブ」に対する反響もとてもあったので嬉しかったです!(今年のiOSDCは終わりましたが、是非とも挑戦してみて下さい😎)。
この様に事前配布していたマジックキューブの評判が想像以上に良かったこともあってか、ブースで解くのに挑戦に来て下さった方もいらっしゃいました。
華麗なるマジックキューブさばき😄
マジックキューブ
— GMO Developers (@GMOdev) September 2, 2023
挑戦者現る!!!
なんと、、
全面揃えてくださいました!😵💫✨#iosdc #GMOdev pic.twitter.com/ja926VRQKz
改めての御礼と次回に向けて
ブースに足を運んで下さった皆様との時間は、本当に貴重かつ今後の取り組みに繋がる素晴らしい時間でした。サービスに関するお話、モバイルアプリのアーキテクチャに関するお話、アプリでの機能実現手段に関するお話、… 等々本当に話題は尽きませんでした。ブースにお立ち寄り頂いた皆様には改めてこの場をお借りして感謝の意をお伝えしたく思います。本当にありがとうございました!
反省点として、今回は諸事情によりできませんでしたが、実際に開発しているアプリを見て頂く実機を持参できれば、更にペパボのモバイルアプリ開発について理解を深めて頂けたかもしれないと感じております。こちらについては、ブースでお見せするための適切な情報設計等も踏まえた上で善処できればと考えております。
スポンサーセッション
今回は、iOSエンジニアとしてminneに携わるfumyがDay1のスポンサーセッションで登壇しました。
「minneを通じて感じた歴史とその先を見据えた取り組みや挑戦に触れて」というタイトルで、minneのiOS開発を通じて得られた学びや、これまでの歴史の変遷を踏まえた上で、現在チーム内で実践している改善や取り組みの事例を発表しました。パートナーの皆様の他にも、以前ペパボでminneの開発に携わったエンジニアの方々も見に来て下さっていた様で、登壇者のfumy曰く「先人達が築いてきたものから多くの事を学びながら今後のminneをより良い形にしていきたい」と強く感じたとの事でした。
資料
当日の登壇資料はこちらになります。また、当日の様子はGMOインターネットグループのテックブログ「iOSDC Japan 2023 登壇レポート」にも記載されていますので、こちらも是非ご覧ください。(ブログ内には事前収録時の動画も掲載しています🎥)
質問
セッション終了後に、バックエンド側との連携や現在グループで積極的に取り組んでいるChatGPTをはじめとするAI活用事例に関する以下の質問を頂きました。
質問1. GraphQLの使用感はどうか?
RESTful APIと比較して、クエリの主導権をクライアント側が握っている点やサーバーサイドエンジニアとのコミュニケーションがしやすい点は、非常に柔軟で使いやすいと感じています。
2. Pull RequestのサマリーをChatGPTに書いてもらっているとのことだが実用レベルか?
Pull Requestの分量が大きい場合はうまくサマライズできない事が多いですが、小さい粒度のPullRequestであれば、かなり的を得た所までサマリーを出力してくれる場合も多いと感じています。
気になったセッションのご紹介
どのセッションのプロポーザルも大変魅力的でして、どのセッションを聞こうかと目移りする程でしたが、今回は会場でお聞きしたセッションの中で3つ程ご紹介します。(今回会場で直接お聞きできなかったセッションについては、後日のニコニコ動画のタイムシフトにて視聴させて頂きました!)
1. SwiftUIの進化に ついていくためにやったこと
スタディサプリ中学講座のリニューアルを題材として、SwiftUIとの向き合い方や運用状況をご紹介する内容でした。
minneでも現在、SwiftUIへのリプレイスを検討及び一部画面での実施をしていますが、SwiftUIは進化が著しくどんどん便利になる一方でバージョン毎の差異等の予測が立てづらいと感じる場面もありました。その様な中でもSwiftUIの変化を受け入れながら向き合うためヒントや教訓がとても込められていた様に思いました。
2. iOSは自動作曲の夢を見るか
機械学習を活用して、iOSに作曲を任せられるか?という試みに関する内容でした。 実現するためには音楽理論とAIが必要なハードルがありますが、白紙の譜面から音符を配置するために、回帰型ニューラルネットワークで音の流れを作るためのアプローチを考え、オートエンコーダを作成して、潜在空間上の座標を選択すると対応した音楽を取りだすといった方針を紹介されていました。
またKerasで作成したモデルを変換し、iOS側ではCoreMLを利用することで実際に伴奏データを適用すると、メロディが生成される実演もされており、条件付きではありますが自動作曲を実現するサンプルを見てとても驚きを覚えました!
この様に機械学習関連のトピックに触れる事ができたり、普段のiOSアプリ開発ではなかなか触れる事が少ない分野の視点や分野について知る事ができるのも、iOSDCの大きな魅力の1つだと改めて感じました。
3. メルカリ10年間のiOS開発の歩み
メルカリiOSアプリの10年間の歴史を振り返りながら、iOS周辺トピックや技術した方針、更には様々な変化に対してどの様なアプローチを選択してきたかをご紹介する内容でした。
歴史があるiOSアプリに対し、継続的な改善やアーキテクト刷新を大胆に実施し変化に対して柔軟に対応をしていく姿勢は大変共感を覚えました。特に、主要画面の書き換え対応やパフォーマンスチューニングの結果として、事業KPIにも良い影響があった例は大変参考になり、今後是非minneでも実践してみたいと思いました。
レギュラーセッション終了後のLT大会
役に立つTipsからあっと驚く様なテクニックまで、驚きと発見に溢れたLTも魅力的でした。そして、今回はライトを持って応援する形式などの面白い取り組みやサプライズもあり、最後までワクワクできました。
感想
minneのiOSエンジニア1人1人の感想になります💁
umatoshi
オフライン開催でブース出展することができわいわいと楽しいクイズを提供することができました。 ご参加いただいた皆様とチーム内外問わず感謝でいっぱいです。
yagijin
ブースでいろんな方の技術選定などお話できて楽しかったとともにとても勉強になりました。 企画への参加やお話いただいた皆さんありがとうございました。
fumy
今回パンフレット原稿執筆とスポンサーセッションの機会を頂き、本当に良い経験ができました! チームをはじめご支援くださった皆様と、参加者の皆様には改めて感謝しております。
まとめ
各セッションによってiOSの関連技術が学べるだけでなく、他社様が開発しているサービスのアーキテクチャ遷移とその動機に加え、自動テストや採用サービスなど、多岐に渡った情報交換と交流ができた楽しい3日間でした。iOSDCへの参加を通じて、今後のiOSアプリ開発に活かして行くための大きなヒントやアイデアを得たり、これからのモチベーションに繋がったりと、個人だけでなくチームとしても今以上にminneを盛り上げ、更に皆様に愛されるサービスにできる様に頑張っていきたいと思います。