2024.12.24
ビジネスが急速に変化する現代は「OODAサイクル」と親和性が高い 流通卸売業界を取り巻く5つの課題と打開策
LINEアプリのAndroid開発 / モバイル体験最大化のための開発、改善(全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
岡本雄三氏:モバイルエクスペリエンス開発室の岡本です。LINEアプリのAndroid開発について紹介いたします。まずは自己紹介します。モバイルエクスペリエンス開発室副室長兼マルチデバイスエクスペリエンス開発チームマネージャーの岡本と言います。よろしくお願いします。
2011年、私は当時のネイバージャパンに入社し、リリース直後のLINEアプリのAndroid開発エンジニアとして開発に参加しました。その後ユーザー数の増大に伴ってエンジニアも増えていき、開発チーム分割時にマネージャーに就任しました。
そして2021年に入って、アプリ開発チームの組織変更に伴い、モバイルエクスペリエンス開発室の副室長に就任しました。
初めに、LINEのAndroidアプリ開発体制について紹介していきます。LINEアプリ自体はみなさんよくご存知で、利用してもらっている方もいると思うので、プロダクトの詳細は省略して、すぐに開発体制の紹介に進んでいきたいと思います。
まず、ご存知の方も多いかと思いますが、LINEのアプリ開発はグローバルに行っています。現在は日本、韓国、台湾、ベトナムなどに開発拠点があって、日本の場合は今現在東京と福岡の拠点で開発者が仕事をしています。それぞれの国家のエンジニアたちが、同じ1つのリポジトリを共有して、アプリの機能開発や改善を進めています。本日は私が所属する東京側の組織について説明していきたいと思います。
先ほど自己紹介でも話したように、2021年に入って、クライアント開発チームの組織改編を行いました。これまではエンジニアをiOS/Androidのプラットフォーム別にチーム分けしていましたが、プラットフォーム間で細かな仕様の差が生まれるという弊害がありました。
これを解消するために、両プラットフォームのエンジニアを統合し、開発目的に沿ってチームを分割して、プラットフォーム間の差異を減らしていこう、ということで組織改変を行いました。また同時に、モバイルプラットフォーム上でのLINEの体験改善にコミットする専属のチームも立ち上げました。
こちらが、今現在の開発体制になります。こちらの開発センターには、LINEアプリを開発するクライアントエンジニアがおよそ50名ほどいて、プラットフォーム別で見ると、Android:iOSがおよそ1:1、同じ比率くらいでエンジニアが所属しています。
そしてセンターの下に、開発目的別に3つの室がありますが、本日はモバイルエクスペリエンス開発室をメインに説明していきます。
モバイルエクスペリエンス開発室は、モバイルプラットフォーム上でのLINEアプリの体験改善にコミットすることをミッションとしています。そしてマルチデバイスエクスペリエンス開発チーム、iOS/Android エクスペリエンス開発チーム、デベロッパーエクスペリエンス開発チームの3つのチームが存在しています。
続いては、それぞれの開発チームの取り組みについて紹介していきたいと思います。まずはマルチデバイスエクスペリエンス開発チームの取り組みについて説明していきます。このチームでは、iOS/Androidのプラットフォームや複数のデバイス、iPhone、iPad、Androidスマホ、タブレットなどに向けて、LINEアプリ体験の改善を行うことをミッションとしています。
具体的な担当領域は、アカウントの作成・移行のフローやアカウント関連の各種機能、そしてマルチデバイス対応やプラットフォーム間で同一のUI/UXを実現するための共通デザインコンポーネントの実装を担当しています。また、ちょっとほかとは毛色が違いますが、テーマ機能のコア部分の実装なども担当しています。
これまでに担当した具体的な機能としては、パスワードレスログインというものがあります。ご存知のとおり、LINEはメインデバイス、iPhone、Androidスマホですね、のほかにサブデバイス、iPadやWindowsやMacで動くアプリにログインして、メインデバイスとサブデバイスを併用して利用することが可能になっています。
これまで、サブデバイスにログインするにはEメールとパスワードでログイン、もしくはQRコードを読み込んでログインする、という方法があったのですが、これはちょっと面倒くさかったり、不正ログインの対象とされるケースもありました。
そこでメインデバイス上の生体認証と連携することで、例えば、こちらの左側にあるように、デスクトップ版のアプリにログインしようとすると、メインデバイスであるスマートフォン版で本人確認することが要請され、こちらの右側にあるように、スマートフォン上のアプリで生体認証を使って本人確認することによって、それ以外にパスワードとかの入力も必要なしにログインが完了する機能になっています。
今後は、こちらを応用してアカウント移行などがもっと簡単に行えるようにする改善も、現在検討中です。
また現在進行中なものとしては、マルチデバイス対応があります。iOS側はiPadやApple Watchをサブデバイスとして利用すること可能です。ただしAndroid側は、アプリをタブレットやChromebookにインストールすることは可能なのですが、現在はメインデバイスとしての利用しか対応していません。
最近コロナ禍になって、大きな画面サイズのデバイスがよく利用されていることもあって、Android側もサブデバイスとして利用できるように、現在実装を進行中です。
続いて、iOS/Androidエクスペリエンス開発チームの取り組みについて紹介します。このチームでは、各モバイルプラットフォーム、iOS/Androidに対して最新のOSやデバイスの新機能を取り込み、LINEアプリの体験改善を行うことをミッションとしています。
これまでも新しいOSがアナウンスされてから実際にリリースまでの間に、一時的なチームを作って新しいOSへの対応を組織横断で、集中的に対応するというタスクフォースはありました。このチームでは、このタスクフォースへのコミットメントを最大限に行うとともに、タスクフォースが存在していない間でも、最新OSやデバイスの新機能を取り込んでいくことに注力していくチームになります。
現在進行中のものとしては、Scoped Storage対応があります。ご存知のとおり、Scoped Storage自体はAndroid10から導入されたものですが、LINEアプリは影響範囲が多く、まだ完全に対応しきれていません。
このように、広範囲に影響を持つ変更に対応するのに、それぞれ影響のある機能の担当エンジニアが個別に対応方法を検討したり修正を進めたりすると効率が悪いので、このチームのメンバーが対応の旗振り役を担って、影響箇所の列挙や修正方法の提案、または共通ライブラリの実装などを行なって各機能担当のエンジニアをサポートしたり、またいくつかは実際に修正対応も行なって対応を進めています。
こちらについては、対応完了の目処がついてきており、同時にAndroid12についても並行して対応を行なっているところになっています。
またこちらのチームでは、Google Assistant連携についても対応を進めています。今現在LINEでは、Google Assistantと連携して、この左のイメージにあるようにLINEアプリを起動していなくても声でのみLINEでメッセージを送ったり、右側にあるようにトーク内で返信を行ったり、写真や動画を送信したりWebページのURLやスクリーンショットの共有をGoogle Assistantを介して行うことが可能になっています。
現在は1対1のチャットでのみメッセージが送信可能なのですが、これをグループ名を指定してメッセージが送信できるような改善も検討中です。
続いてデベロッパーエクスペリエンス開発チームの取り組みについて紹介します。このチームではビルド環境の改善やコード品質の向上のための各種活動の促進によって、開発者体験(DX)の改善を行うことがミッションとなっています。
このチームはほかのチームとは違って、アプリの実装を行うというのがメインタスクではありません。もちろん多少は行いますが、体験を向上させる対象がユーザーではなくて、開発者になります。
ビルド環境、開発環境の改善や開発を進める上での知識やベストプラクティスの共有などを行なって、開発者の開発効率や開発品質を向上させ、ひいてはアプリの品質向上に貢献していくことがミッションになっています。
ビルド環境の改善に関しては、現在ビルドスピードの改善に注力しています。iOS側は現在bazel buildといったものを利用していて、こちらは主に日本側でメンテナンスをしていますが、Android側のgrade buildは主に韓国側でメンテナンスしています。ただし改善したいことが多くて、日本側でもこのgrade build周りに詳しい人を増やしたいと思っているところです。
またビルドスピードの改善だけではなくて、開発者の開発効率を向上させるためのいろいろなツールも開発しており、その1つとしてBTS Botがあります。これはGitHub、BTS、CIの各種機能を連携させ自動化して、これまで開発者が手動で作業していたもの、BTSのステータスのアップデートなどを自動で行うことによって、DXを向上させることも行なってきています。
そしてコード品質の向上のための活動です。こちらは現在チーム開発を進める上で重要なコードの可読性といったものや、コードレビューに関するベストプラクティスといったものの共有や、プロセス改善などの検討を行っています。
Code Readability Sessionに関しては、コードの可読性の観点からコードを書く、読む際に気をつけるべき事項を新入社員だったり、新しく開発に加わったチームに解説をしています。こちらのコンテンツに関しては、実際にスライドが外部にも公開されているので、参考にしてみてください。
また各チームからすでにマージされたPRを、Review committeeと呼んでいますが、仮想な委員会を作って、その委員会のメンバーに送ると、レビュアーに対するフィードバックを行ってくれます。また、そのフィードバックに基づいたナレッジをメンバー全体に共有するといった活動もしています。
また最近導入した改善としては、2 Phase reviewといったものがあります。これは 1st reviewは通常のレビューで、コードオーナーがコードの正しさや読みやすさの観点でレビューを行います。
2nd reviewでは、ランダムでレビューアーが選択されて、背景知識がなくてもそのコードが読みやすいかといった観点でレビューを行なってもらいます。このようなコードの品質向上を行う活動を行なっているメンバーもいます。
最後に作業環境、開発環境について、軽く説明と紹介をしていきたいと思います。先ほどもちょっと話があったのですが、現在多くの開発者は、Work From Homeで作業をしています。もちろん、希望者はオフィスに出社して作業することも可能です。
また開発者は、基本的に完全裁量労働制のもとで作業をしています。開発マシンはiMac、またはMacBook Pro、希望すればその両方を使ったりすることも可能です。そしてドキュメントツールやコミュニケーションツールとしては、WikiやBTS、LINE、Slackといったものを利用して作業しています。
また開発環境に関して、IDEはAndroid Studio、リポジトリはGitHub Enterprise、CIはJenkinsを利用しています。
またそれ以外に、LINEはコードベースが多くて、ビルドに時間がかかるので、Gradle Enterpriseといったシステムを利用してビルドキャッシュを活用することでビルドの速度を上げたり、リモートビルド、Mainframerというツールを使って、ビルドをリソースが豊富なサーバー上で行なってビルド時間を短縮するようなことも行っています。
開発言語に関しては、今現在はメインでKotlinを利用しています。その他ライブラリに関してはJetpackなど一般的に多くのアプリ開発で使われているものをLINEでも利用していますが、自分たちで開発したLich libraryという、オープンソースで公開されている社内で開発したライブラリなども使って、開発を進めています。
以上で、LINEアプリのAndroid開発について紹介を終わります。もしモバイルエクスペリエンス開発室の取り組みに興味を持った方がいれば、ぜひとも応募していただければと思います。以上、ご清聴ありがとうございました。
LINE株式会社
2025.01.16
社内プレゼンは時間のムダ パワポ資料のプロが重視する、「ペライチ資料」で意見を通すこと
2025.01.15
若手がごろごろ辞める会社で「給料を5万円アップ」するも効果なし… 従業員のモチベーションを上げるために必要なことは何か
2025.01.09
マッキンゼーのマネージャーが「資料を作る前」に準備する すべてのアウトプットを支える論理的なフレームワーク
2025.01.14
コンサルが「理由は3つあります」と前置きする理由 マッキンゼー流、プレゼンの質を向上させる具体的Tips
2025.01.14
目標がなく悩む若手、育成を放棄する管理職… 社員をやる気にさせる「等級制度」を作るための第一歩
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.01.20
組織で評価されない「自分でやったほうが早い病」の人 マネジメント層に求められる「部下を動かす力」の鍛え方
2017.03.05
地面からつららが伸びる? 氷がもたらす不思議な現象
2025.01.10
プレゼンで突っ込まれそうなポイントの事前準備術 マッキンゼー流、顧客や上司の「意思決定」を加速させる工夫
2025.01.07
資料は3日前に完成 「伝え方」で差がつく、マッキンゼー流プレゼン準備術
特別対談「伝える×伝える」 ~1on1で伝えること、伝わること~
2024.12.16 - 2024.12.16
安野たかひろ氏・AIプロジェクト「デジタル民主主義2030」立ち上げ会見
2025.01.16 - 2025.01.16
国際コーチング連盟認定のプロフェッショナルコーチ”あべき光司”先生新刊『リーダーのためのコーチングがイチからわかる本』発売記念【オンラインイベント】
2024.12.09 - 2024.12.09
NEXT Innovation Summit 2024 in Autumn特別提供コンテンツ
2024.12.24 - 2024.12.24
プレゼンが上手くなる!5つのポイント|話し方のプロ・資料のプロが解説【カエカ 千葉様】
2024.08.31 - 2024.08.31