YouTubeを広告やおすすめに振り回されずに見たい、でも公式アプリは使いにくい。そんな人たちの間で、NewPipe系のAndroidアプリは昔から一定の存在感があります。今回取り上げるPipePipeは、その系譜の中でも「NewPipeをただ引き継いだもの」ではなく、別の方向にかなり踏み込んだ派生版です。GitHubのREADMEだけでも、機能の増え方と開発方針の違いがはっきり見えるので、単なるフォークの紹介以上に、オープンソースの動画アプリがどう分岐していくのかを考える材料になります。
PipePipeは、オープンソースのAndroidアプリとして、YouTubeやほかのサービスを自由に閲覧するためのものだと説明されています。READMEでは「NewPipe, reimagined: faster, more stable, and packed with more features.」と掲げ、NewPipeの発想を土台にしながら、より速く、より安定し、機能を増やしたとアピールしています。
機能面では、単に動画を再生するだけではなく、かなり細かいところまで手が入っています。YouTube向けの拡張としては、SponsorBlockを組み込み、YouTubeとBiliBiliのスポンサー区間を飛ばせるようにしています。ReturnYouTubeDislikeで低評価数を復元する仕組みもあり、非ローカライズの元のタイトルを表示することもできます。さらに、ログインして制限付きまたは有料のコンテンツにアクセスすることも可能だとしています。
再生周りでは、ライブチャットを弾幕のように重ねて表示する機能、AV1やVP9コーデックへの対応、バックグラウンド再生を含む音楽プレイヤーモードが挙げられています。探しやすさの面では、高度な検索フィルター、キーワードやチャンネル単位での除外、shortsや有料動画のブロックがあり、フィードをきれいに保てるとしています。操作面では、スワイプでのシーク、フルスクリーンジェスチャー、長押しでの再生速度変更、スリープタイマーなども用意されています。プレイリストでは、全曲まとめてダウンロードできるほか、ローカルのプレイリストや履歴の中を検索したり並べ替えたりできます。
READMEの中でかなり重要なのが、「About this fork」の説明です。開発者は2022年初めにNewPipeから分岐し、独立開発を始めたと書いています。つまりPipePipeは、NewPipeから更新を受け取る側ではありませんし、PipePipeの変更がNewPipeに戻るわけでもありません。両者は別プロジェクトになっていて、NewPipeで起きた問題がPipePipeにもそのまま起きるとは限らず、逆も同じです。READMEでは、TubularのようにNewPipeの最新バージョンを追いかけるフォークとは違うと明言し、ハードフォークにすることで問題を素早く直し、機能追加も頻繁にできるとしています。
サインインの扱いにも触れています。PipePipeは、ログインcookieを「設定した特定の場面」でのみ使うと説明し、YouTubeでは再生ストリームを取得するときだけcookieを使うとしています。Cookie Functionsで細かく制御できる設計です。加えて、IssuesやPRは歓迎する一方、サービスの個別依頼は受け付けないとも書かれています。自分で新しいサービスを作りたい人には、このリポジトリをforkするよう勧めています。寄付先としてはKo-fiとLiberapayが案内され、Wikiは別の協力者が保守していること、SABRの研究やNicoNicoサービス向けコード提供への謝辞も載っています。
このREADMEでまず目を引くのは、PipePipeが「NewPipeの改良版」と言いながら、実際にはかなり割り切って別路線を選んでいることです。フォークというと、元のプロジェクトに追随しながら少し機能を足す姿を想像しがちですが、ここでは違います。開発者はNewPipeとの更新関係を切り離し、独立開発を前提にしています。これは利用者にとって、安定性の面でも、機能追加の速度の面でも、判断材料になります。たとえば「NewPipeの不具合修正を待つ」のではなく、「PipePipe側で先に直る」可能性がある。一方で、元プロジェクトと同期していないぶん、互換性や追随性を重視する人には向かないかもしれません。
SponsorBlock、低評価表示、shortsブロック、チャンネル除外、弾幕表示、ジェスチャー操作。列挙すると派手ですが、面白いのはどれも「動画を再生できる」ことそのものではなく、見るときの小さなストレスを削っている点です。YouTubeをブラウザや公式アプリで触っていると、スポンサー部分を飛ばしたい、shortsを見たくない、元のタイトルが知りたい、検索結果を絞り込みたい、といった欲求がたまっていきます。PipePipeはそこにかなり素直に応えている。派手な新機能というより、視聴体験の摩擦を一つずつ減らしている印象があります。こういうアプリは、機能の数より「自分の使い方にどれだけ合うか」で評価が決まりやすいはずです。
READMEがわざわざ「ONLY use the login cookie for the specified scenarios」と書いているのは、単なる注意書き以上の意味があると思います。ログイン情報は便利ですが、同時に不安の源でもあります。とくに動画サービスのcookieは、どの範囲で使われるのかが曖昧だと利用者は身構えます。その点でPipePipeは、Cookie Functionsで用途を絞り、YouTubeでは再生ストリーム取得時だけに使うと明記している。これは「ログイン機能を入れました」では終わらせず、どこで触るかまで説明しているわけです。オープンソースアプリとしてはかなり誠実な書き方だと感じます。ただし、ここで安全性を保証しているわけではありません。あくまで、利用者が不安になりやすい部分を前もって言語化している、という読み方が適切でしょう。
PipePipeの説明で印象的なのは、2022年初めに独立開発へ切り替えたという点です。オープンソースの世界ではfork自体は珍しくありませんが、動画アプリのように外部サービスの変更に強く左右される分野では、単純な追随だけでは足りないことがあります。YouTube側の仕様変更、再生方式の差し替え、サービスごとの癖。そうしたものに対して、別の開発哲学で素早く対応したい、という発想は十分理解できます。反面、forkが増えるほど利用者は「どれが本家に近いのか」「どれが今後も維持されるのか」を見極める必要が出てきます。PipePipeはその意味で、機能の多さよりも、どんな開発思想で続いているのかを見て選ぶアプリだと思います。
READMEでは、対応サービスを自分で増やしたい人にはforkを勧める一方で、個別のサービス要望は受けないとしています。ここにも姿勢が出ています。なんでも受け付ける汎用アプリというより、コアの考え方に合う範囲で育てるプロジェクトです。これは遠回りに見えて、実は健全かもしれません。機能要望を無限に受けると、動画アプリはすぐに複雑化します。PipePipeはその誘惑をある程度断ち切りつつ、YouTubeやBiliBili、NicoNicoといった既存の視聴体験をどう整えるかに集中しているように見えます。オープンソースの良さは、誰にでも何でも合わせることではなく、合う人には強く刺さる方向に伸びられることだと思います。PipePipeはまさにそのタイプです。