F-Droid 2.0

F-Droid 2.0 は 10 年で最大の更新。クライアントを Kotlin と Jetpack Compose で書き直し、インデックス形式と配布フローも刷新して、Google に依存しないアプリストアを保守しやすくする。

日本語
コピー
F-Droid 2.0 的界面截图,新版应用列表与导航

1年以上にわたる開発を経て、F-Droid 2.0 の正式リリースをお知らせできることをうれしく思います。F-Droid 公式アプリの全面的な再設計であり、10年間で最大規模のアップデートです。

10年以上にわたり、F-Droid は自由でオープンソースな Android アプリを見つけてインストールする手助けをしてきました。F-Droid 2.0 はその先を行きます。モダンなインターフェース、アプリを見つけやすくする仕組み、改善された検索、そしてよりシンプルな使い勝手——F-Droid を初めて使う人も、何年も使っている人も、すんなり使いこなせます。

これは単なる見た目の刷新ではありません。現在の Android の設計指針(Material Design など)と滑らかにつながるようユーザー体験を再設計しつつ、F-Droid ユーザーにおなじみの操作感は残しました。主要なコンポーネントは Kotlin Compose——今や標準のツールチェーン——で書き直し、今後数年にわたって改善をより速く届けられる土台を築きました。

14 回のテストリリースを経て、今後数週間のうちに F-Droid 2.0 をユーザーへ配信開始できることをうれしく思います。

何が変わったのか?

F-Droid 2.0 の主な目標のひとつは、自分が頼りにしているアプリを見つけ、インストールし、維持するのを楽にすることです。メインナビゲーションを「発見」「検索」「マイアプリ」の3つの中核エリアに整理しました。カテゴリは発見ページに統合され、閲覧と探索がより手軽になっています。マイアプリでは、インストール済みアプリ、更新、潜在的な問題をまとめて管理できます。設定と付近での交換はトップバーをタップすれば今も使えますが、メインナビゲーションの場所を占めなくなりました。

見つけやすさの改善

関連する自由およびオープンソースソフトウェア(FOSS)を見つけてもらうことは、F-Droid 2.0 の最優先目標のひとつです。F-Droid のエコシステムが数千のアプリにまで成長するにつれ、適切なアプリを見つけるのは難しくなってきました。新バージョンでは、閲覧からカテゴリ、検索に至るまで各段階を改善し、求めるものに合うソフトウェアを見つけやすくしています。もちろん F-Droid は、あなたを追跡したり、アプリ内での滞在時間を延ばそうとしたりはしません。

再設計された Discover 体験

新しい Discover 画面は、これまでなら見逃していたかもしれないアプリを見つける手助けをします。新着アプリや最近更新されたアプリを目立たせるだけでなく、リポジトリ内で最もダウンロードされているアプリも表示するようになりました。F-Droid を初めて使う人も、いつもと違う何かを探している人も、Discover には成長を続ける自由でオープンソースな Android アプリのエコシステムを探索する方法がいくつも用意されています。

より実用的なカテゴリ

カテゴリはユーザーがリポジトリを閲覧する助けとして大きな役割を果たすため、大幅に拡張・細分化し、VPN、ファイアウォール、パスワードマネージャー、ランチャー、ナビゲーションツールなど、特定の種類のアプリを見つけやすくする専門的なカテゴリを追加しました。具体的には:

  • まず、カテゴリ体系を大幅に拡張しました。F-Droid は少数の広いカテゴリに頼るのをやめ、より専門的なカテゴリを加えたことで、検索を始めなくても、数タップで求めるアプリの種類に近づけます。
  • 次に、この拡張されたカテゴリ体系を閲覧しやすくするため、Discover 画面に上位層の「メタ」カテゴリを導入しました。関連するカテゴリをまとめ、成長を続ける F-Droid エコシステムを閲覧するための、とっつきやすい入口を提供します。
  • 最後に、カテゴリはアプリ全体でより重要な役割を担うようになりました。その名前と説明はアプリの発見を改善するために使われ、ユーザーを関連する自由でオープンソースなアプリへ導きます。

この取り組みの一例として、Games カテゴリを全面的に作り直しました。F-Droid 2.0 はすべてのゲームをひとまとめにせず、17 種類の異なるゲームジャンルを区別し、本当に遊びたいゲームを見つけやすくしています。

意図をくみ取るアプリ検索

検索も大幅に改善しました。アプリ名だけでなく、アプリの説明、カテゴリ、翻訳された内容も検索できるようになりました。これにより、名前ではなく機能からアプリを探せるので便利です。

中国語、日本語、韓国語の検索も大きく改善しました。新しい検索システムは CJK の書記体系をはるかによく扱えるため、母語でも関連するアプリをより確実に見つけられます。

検索は最近のクエリも記憶し、入力し直さずに前の検索へすぐ戻れます。

強力なフィルタを、手軽に

閲覧と検索は一部にすぎません。F-Droid 2.0 は強力なフィルタオプションも導入し、長いアプリ一覧を本当に欲しいものだけに絞り込めます。

フィルタ条件は重ねて使えます。たとえばアプリのカテゴリ、デバイス互換性、アンチフィーチャーなどを組み合わせられます。例を挙げると、デバイスと互換性のあるアクションゲームだけを表示し、同時に不自由なネットワークサービスに依存するアプリを除外できます。

こうした機能やその他の高度な機能をユーザーに知ってもらうため、F-Droid 2.0 はアプリの各所にガイドページを加えました。複雑な設定に機能を隠すのではなく、必要な場所でヒントを示すことで、新規ユーザーも既存ユーザーも F-Droid をより活用できます。

どこで動かしても、よりスムーズなインストール

長い間、インストールや更新をタップした後の体験は Android によって見劣りするものになっていました。今では、EU のデジタル市場法(DMA)による圧力や世界各地の独占禁止法の動きのおかげもあって、Android はすべてのアプリストアによりスムーズで自動化されたインストールと更新の方法を提供し始めています。F-Droid 2.0 はこうした新しい機能の活用で先駆的な取り組みを行いました。これにより F-Droid は、システムに組み込まれていても自分でデバイスに入れたものでも、すべてのインストール方法で統一されたインストーラーを使います。統一インストーラーは新しい事前承認 API を利用するため、対応デバイスではユーザーがインストールを決めた直後に確認でき、アプリのダウンロード完了を待つ必要がありません。その結果、公式の Android デバイスでは、F-Droid のインストール体験はシステム標準のアプリストアにかなり近づいています。

変更された機能、削除された機能

これほどの規模の作り直しとなれば、何を新しいアプリに残し、何を別のやり方で処理し、何をもう維持する価値がないと判断するかを慎重に見極める必要がある。F-Droid 2.0 をより簡潔で保守しやすくするため、いくつかのお馴染みの機能は形が変わったり、場所が移ったり、あるいは完全に削除された。ただし、中核となる機能やユーザーが頼りにしてきた特性が犠牲になったわけではない。

image

更新チェックは自動になった

F-Droid 2.0 はデフォルトでアプリの更新を取得してインストールする。自分で制御したい場合も心配はいらない。これまでの設定はそのまま引き継がれる。

これまでは、すべてのリポジトリの更新を確認するために引っ張って更新するジェスチャーを使うのが習慣だったユーザーもいる。F-Droid 2.0 では、引っ張る操作はスクロール専用になった。アプリがバックグラウンドで自動的に更新を確認できるようになったからだ。慣れた操作を残すのではなく、それが不要になることを目指した。最高の更新ボタンとは、決して押す必要のないボタンである。

より細かく制御したいユーザーには、きめ細かな設定と手動の更新オプションが残っている。以前は引っ張って更新することで手動で更新をトリガーしていたなら、「マイアプリ」画面の右上にあるオーバーフローメニュー(いわゆる「三点」)で見つけられる。

通信量の設定

F-Droid は、いつ何をダウンロードするかをユーザーが決められるようにしている。世界各地でニーズの異なるユーザーの助けになるからだ。多くのユーザーにとってモバイル通信は安価だが、そうでないユーザーにとっては手が出ないほど高価でもある。プライバシーをより重視し、自分のネットワーク通信を管理する必要があるユーザーもいる。性能が限られた端末を使っていて、F-Droid がバックグラウンドで更新すると動作が重くなるユーザーもいる。これらすべてを制御する設定は作り直され、F-Droid を自分の必要に合わせて調整しやすくなった。

プライバシーとセキュリティの機能

一部の F-Droid ユーザーは、特定のアプリをインストールしているだけで、あるいは F-Droid を使っているだけで不要な注目を集めてしまう環境にいる。そうしたユーザーを助けるため、F-Droid は長らくプライバシーとセキュリティの機能を提供し、ユーザー本人とそのデータの両方を守ってきた。

Tor は重要なプライバシーツールの一つで、F-Droid はすべてのネットワーク接続を Tor 経由にする機能を長くサポートしてきた。Tor Onion Services を通じてリポジトリやミラーにアクセスする機能も同様だ。Tor サポートが最初に組み込まれて以来、Android での Tor の統合方法はかなり変わった。今では TorVPN、Orbot、TorServices などがある。これを機に設定を簡素化し、もはや信頼できない自動検出は削除した。以前に「Use Tor」を有効にしていた場合、その設定は汎用の Proxy Settings に移行される。今後、Tor を手軽に使いたいなら Tor VPN がおすすめだ。手動で制御したいユーザーは Proxy Settings を引き続き使える。

もう一つの要となるのが「panic」機能の一群で、緊急時に特定の種類の機密情報を端末から素早く消去できるようにするものだ。これらの機能は F-Droid 2.0 にも残っており、高いセキュリティを求めるユーザーを支える重要な柱であり続けている。

特筆すべきは、F-Droid のアプリ非表示機能が簡素化され、ユーザーがどの程度の保護を期待できるかを正確に把握できるようになったことだ。F-Droid は、ユーザーのプライバシーを守るためにアプリ非表示機能をいち早く提供したアプリの一つで、F-Droid アプリを単純な電卓アプリに見せかける「panic」機能もその一つだった。この単純な機能は多くのユーザーの要望から生まれ、その後 Orbot、TorVPN、Signal なども同様の偽装機能を加えていった。時間が経つにつれ、広く使われるアプリの間で標準的な設計が形作られ、新しいバージョンもその設計を採用した。この機能の狙いは、偽装の限界をユーザーによりよく理解してもらうことにある。現在の偽装は、アプリを単純な電卓アプリのように見せたり使わせたりするものではなく、アプリアイコンと名前だけに影響する。それだけだ。つまり、F-Droid アプリは「Apps」設定に依然として表示され、フォレンジック調査でも見つかるということである。この変更で、この機能の限界をユーザーが理解しやすくなり、必要なときには引き続き使えるようになることを願っている。

まだ復活していない機能が一つある。Ripple のようなパニックトリガーアプリが起動されたときに、アプリを削除して消去する機能だ。プライバシーと身の安全のためにこの機能に頼っているユーザーがいることは承知しているし、単なる使い勝手の機能ではないことも分かっている。だが、これを維持するには高度に専門化された作業が必要で、ユーザー数がごく少ないことを考えれば、これ以上多くの重要な改善を妨げるべきではないと判断した。

アプリの消去は今も重要な機能である。特にこれを使っているユーザーからのフィードバックを歓迎したい。どのような状況で、どのように使われているかを知ることで、F-Droid 2.0 の改善を続ける中で最善の進め方を評価できる。現在のアプリ消去の実装に頼っているユーザーは、この機能を復活させるかどうかを検討している間、F-Droid 2.0 への更新を見送るという選択肢もある。

F-Droid を統合している Android バージョン向け

F-Droid は、あらゆるバージョンの Android や AOSP に統合されることを想定して設計されており、CalyxOS、emteriaOS、iodéOS、Lineage-for-microG、ShiftOS がそうしている。各 OS は「additional repos」の仕組みを通じて、独自のリポジトリをデフォルトで含めることができる。上記のいずれかの OS を使っているなら、これらのリポジトリは Repositories の概要に表示される。変更点の詳細はこちらのブログ記事を参照してほしい。

また、F-Droid Privileged Extension(FPE)は現在 2.0 ではサポートされていない。つまり、FPE をインストールしても F-Droid 2.0 はそれを使わない。今回のリファクタリングで重点を置いたのは、Android の「session」インストーラーを完全にサポートすることだ。これにより、F-Droid は FPE なしで、新しいバージョンの Android 上でバックグラウンド更新を実行できる。ここにある他の変更と同様、フィードバックを歓迎する。

コントリビューターのハードルを下げる

F-Droid 2.0 の多くの改善は目に見える形で現れているが、最も重要な変更のいくつかは舞台裏で起きている。

この作業で書かれた新しいコードはすべて、現代の Android のコーディング標準と設計に従っている。そのおかげで、保守しやすく、テストしやすく、将来新しい機能を拡張しやすいコードベースになった。

この書き直しの目標の一つは、新しいコントリビューターが参加するハードルを下げることだ。この 10 年で Android 開発は大きく変わり、F-Droid 2.0 は Kotlin で構築されている。Kotlin は現代の Android 開発における標準言語になった。現在の Android エコシステムに慣れた開発者にとって、このプロジェクトに貢献するのは以前より容易になっている。

新しいユーザーインターフェースは Jetpack Compose で構築されている。Android アプリの標準ツールキットだ。開発が簡単になるだけでなく、F-Droid を Material Design に近づけるのにも役立っている。Material Design は Android 全体を貫くデザイン体系だ。その結果、F-Droid は Android ユーザーにとってより馴染み深いものになりながら、独自のアイデンティティと価値観を保っている。

何より、これらの変更は今後 10 年の F-Droid 開発の土台を築く。保守の負担が軽くなり、コントリビューションが容易になれば、ユーザー体験の改善により多くの時間を割き、技術的負債に悩まされる時間を減らせる。新しいツールのいくつかは Android 自体の修正に依存しており、その一つは Android 7 で追加されたため、Android 6 のサポートを打ち切らざるを得なかった。これまでと同様、旧バージョンの F-Droid は旧版 Android で引き続き利用できる。

コミュニティが共に作り上げた成果

F-Droid 2.0 は、私たちの歴史の中で最大かつ最も野心的なプロジェクトの一つだ。これを形にするには、コードを書くだけでは到底足りなかった。ユーザーリサーチ、デザイン、テスト、ドキュメント、コミュニティからのフィードバック、品質保証、大量の新しいコード、セキュリティ監査、そして F-Droid が今後 10 年どう進化すべきかをめぐる無数の議論が含まれている。

この作業を完了できたのは、多くの組織と個人の支援があってこそだ。Torsten Grote による新アプリの開発は、NLnet が Mobifree 基金を通じて資金を提供した。Open Technology Fund の User Experience & Discovery Lab はユーザーリサーチとデザインの作業を支援し、Ura Design を招いてユーザーテスト、ユーザーストーリーの作成、そして私たちのヒューマンインターフェースガイドラインの改善を進めた。

さらなる支援は Open Technology Fund の Free and Open Source Software (FOSS) Sustainability Fund、NGI、Mobifree、Calyx Institute から得ており、そのスポンサーシップが F-Droid エコシステムの継続的な保守と長期的な持続可能性を支えている。

この作業の一環として、Open Technology Fund の Security Lab は Convocation と協力し、F-Droid 2.0 の独立したセキュリティレビューを実施した。新アプリに関連する指摘はすべて分析して対応し、今回のリリースがユーザーの期待する高いセキュリティ基準を満たすよう努めた。完全な監査レポートの公開が承認され次第、共有したいと考えている。

同じく重要なのは、F-Droid 2.0 が多くのボランティアの貢献によって成り立っていることだ。再設計の過程全体を通じて、コミュニティのメンバーがコード、テスト、バグ報告、デザインフィードバック、翻訳、ドキュメント、UX に関する議論、そして無数のアイデアを寄せてくれた。長年のコントリビューターと初めてのコントリビューターが共に最終的な成果を形作った。

最後に、この作業はあなたの支援なしには成り立たない。寄付は、あまり目立たないものの欠かせない活動の資金になっている。コミュニティ管理、滞留した issue の処理、品質保証、リリース管理、プロジェクトの調整など、助成金だけでは必ずしも賄えない活動だ。こうした貢献が、特定の助成プロジェクトが終わってずっと後も F-Droid を健全に保つ支えになっている。

旅は続く

F-Droid 2.0 は重要なマイルストーンだが、物語の終わりではない。アプリを再構築したことでより堅固な土台が得られたが、やるべきことはまだ多く残っている。

新しいバージョンがより多くのユーザーに届くにつれ、実際の利用から学べることは多いはずだ。初期のデザイン議論から数多くの alpha 版と RC 版に至るまで、コミュニティのフィードバックは常に F-Droid 2.0 を形作ってきたし、今後の改善も導き続ける。初期リリースに入らなかったアイデアもあれば、フィードバックを集めデザインを磨く中で今も進化し続けている機能もある。

今後数か月は、パフォーマンス、アクセシビリティ、アプリの発見性、全体的な使いやすさの改善を続ける。ユーザーは新しい使い方に慣れていく中で、さらに改善できる点を見つけるのにも協力してくれるだろう。私たちはこれからも耳を傾け続ける。

これまでの F-Droid のメジャーリリースと同様、2.0 は終着点ではなく、次の章の始まりだ。

Nearby のこれから

Nearby はまだ進化の途上にある機能で、中央サーバーに頼らず、デバイス間で直接アプリを共有できるようにするものだ。

F-Droid 2.0 の全面的な刷新は、Nearby を一から見直す機会となった。接続方式を再設計した新しい実装を進めており、アプリの共有をより確実で使いやすいものにしようとしている。

この作業は F-Droid 2.0 の最初のリリースにはまだ間に合わないが、開発は精力的に進んでおり、土台はすでにできている。Nearby の共有に関心があるなら、今こそ参加の好機だ。より広いユーザーに届く前に、コミュニティからのフィードバックとテストが、この機能の次世代の形を決める助けになる。

できること

F-Droid 2.0 は、世界中の開発者、デザイナー、テスター、翻訳者、寄付者、コミュニティメンバーによる数千時間の作業から生まれた。今まさにユーザーの手に届きつつあり、より良いものにするためにあなたの力を借りたい。

アップデートを受け取ったら、新しいインターフェースを一通り触って、感想を聞かせてほしい。バグを見つけた、改善案がある、あるいは良かった点を伝えたいだけでも、フィードバックは今後の開発の指針になる。

もっと深く関わりたいなら、貢献の方法はいくつもある。

テスト、翻訳、レビューに参加する

近日公開の機能のテスト、翻訳やドキュメントの改善、issue のレビュー、コードの貢献、プロジェクトの将来についての議論への参加など、手伝えることは多い。新しいコントリビューターはいつでも歓迎だ。

F-Droid への寄付を検討する

余裕があれば、F-Droid への資金面での支援も検討してほしい。Liberapay や OpenCollective への寄付は、インフラや品質保証からコミュニティ支援、プロジェクトの調整まで、メジャーリリースの合間もプロジェクトを健全に動かし続ける支えになる。

F-Droid 2.0 は大きな節目だが、作業は続く。Android に自由でオープン、そして持続可能なアプリのエコシステムを築くために、ともに歩んでくれてありがとう。

出典: F-Droid← ホームへ戻る