VLC: Android アプリを最適化し、大画面で臨場感あふれる動画体験を実現

VLC は、VideoLAN プロジェクトが開発した無料のオープンソースのクロス プラットフォーム マルチメディア プレーヤーです。VLC の設計の中核には、あらゆるファイルと画面のシームレスな互換性があります。VLC ではローカルの動画ファイルと音声ファイルのほとんどが再生可能で、各種のストリーミング プロトコルにも対応しています。VLC エンジンは、多くのサードパーティ製アプリで動画の再生処理に使用されています。VideoLAN の開発チームの最終的な目標は、デバイスや画面サイズを問わず、あらゆるメディアをどこでも再生できるようにすることです。

開発チームが元々 Android 用に VLC アプリを設計しましたが、すぐにユーザーが Chromebook で同じエクスペリエンスをリクエストし始めました。そのとき VideoLAN は、VLC を ChromeOS に導入することで、デスクトップ スタイルのユーザー エクスペリエンスをユーザーに提供する機会を見出しました。

VideoLAN は Android アプリを ChromeOS や大画面向けに最適化し、x86 と 64 ビットの ARM を最初からサポートすることで、さまざまなデバイスやフォーム ファクタで VLC のユーザーに同じ没入感のあるエクスペリエンスを実現しました。

Eyecon の取り組み

チームはまず、VLC ユーザーがデスクトップで使うことを好む機能(マウス入力や右クリック メニューなど)に注目するとともに、外部ストレージ(ハードドライブと USB サムドライブ)が正常に機能することを確認しました。次に、アプリのレイアウトと機能を調整して、デスクトップのような環境でもユーザーが同じ機能を利用できるようにしました。

キーボードとマウスのサポート

チームが行った最も重要な最適化のひとつは、キーボード入力とマウス入力をサポートすることでした。キーボードについては、ショートカットと矢印キーでアプリを簡単に操作できるようにしました。マウスについては、右クリック操作と、ドラッグ&ドロップによる VLC プレーヤーとのファイルのやり取りを可能にしました。

動的なサイズ変更

VideoLAN は、ユーザーが簡単にアプリのスケーリングとサイズ変更を行えるようにするため、複数のバージョンのレイアウトを設計しました。チームはタブレット用の VLC レイアウトをすでに設計していたため、より大画面の幅広いレイアウトに合わせて調整するのは非常に簡単な作業でした。大画面上の追加のスペースを使えるという点を活かして、プレーヤーのオーディオ設定も調整しました。

従来は、個々のレイアウトをテストするには、それぞれについて個別のエミュレータまたはデバイスを使用する必要がありました。しかし、ChromeOS の Android サポートにより、チームはエミュレータを使用することなく、デスクトップ、タブレット、モバイルの UI レイアウトを同じデバイスで一度にテストできるようになりました。これにより、設計とテストの時間が大幅に短縮されました。

さらに、ChromeOS 上の Linux(ベータ版)により、デベロッパーは Android Studio を使用して Android アプリをネイティブにビルドおよびテストし、Chromebook の開発に適したデバイスを作成できます。

動的なサイズ変更の例を示す、モバイル、タブレット、ノートパソコンの各デバイスに複数のバージョンのレイアウトで表示された画像

Kotlin によるコード作成

特に重要なのは、チームがすべての作業を Kotlin で行ったことです。この強力なプログラミング言語を使って安全で簡潔なコードを記述することは、生産性の向上に役立ちました。アプリのコードベースを削減することで、問題解決にかかる時間を短縮し、アプリのレイアウトと機能の最適化により多くの時間をかけることができました。

VideoLAN の Android 開発チームのリーダーである Geoffrey Métais 氏は次のように言います。「大幅なコードの再編成や書き直しは、機能を損なうリスクがあるので通常は気が進みません。嬉しいことに、Android Studio の組み込み移行ツールのおかげで、Java から Kotlin への移行は非常にスムーズでした。Kotlin のコルーチン フレームワークがパフォーマンスの改善に役立ちました。」

結果

VideoLAN は、モバイル、ChromeOS、Android TV で同じ APK を使用しているため、主任開発者はプラットフォームごとにアプリを最適化するのに 2 か月だけで済みました。ChromeOS での VLC サポートは、数か月前からユーザーから、特に DVD の再生に関して求められていました。これまでのところ、非常に好意的なフィードバックをいただいています。また、最新バージョンの ChromeOS は外部ストレージを完全にサポートしているため、すべての Android ユーザーが同じメリットを得ることができます。

VideoLAN の議長である Jean-Baptiste Kempf 氏は次のように述べています。「私たちはユーザーに最大級のインパクトを与える機会を常に探し求めています。Chromebook 向けに最適化したおかげで、多数のデバイスとフォーム ファクタにアプリを対応させることができました。この取り組みが成功だったことは、世界中のユーザーからの反応を見れば明らかです。」

使ってみる

ChromeOS 向けにアプリを最適化するおすすめの方法をご確認ください。