【ITニュース解説】YouTube will now let you hide those pesky end screens
2025年09月25日に「The Verge」が公開したITニュース「YouTube will now let you hide those pesky end screens」について初心者にもわかりやすく解説しています。
ITニュース概要
YouTubeは、動画の最後に表示されるおすすめ動画などの「エンドスクリーン」を非表示にする新機能を追加した。視聴者は、動画終了時に画面を覆うポップアップに邪魔されることなく、コンテンツを最後まで見終えることが可能になる。画面右上の「非表示」ボタンで簡単に設定できる。
ITニュース解説
YouTubeが新たに導入した「エンドスクリーン非表示機能」は、動画の最後に表示される推薦動画などのポップアップをユーザーが任意で隠せるようになるという機能だ。これは一見すると些細な変更に見えるかもしれないが、システムエンジニアを目指す者にとっては、ユーザーインターフェース(UI)の改善、ユーザー体験(UX)の向上、そしてそれを支える複雑なWebシステムの仕組みを理解するための良い題材となる。
エンドスクリーンとは、YouTube動画の再生が終了に近づくと画面上に重ねて表示される、別の動画へのリンクやチャンネル登録を促す要素のことだ。これはクリエイターにとっては視聴者を次の動画へ誘導したり、チャンネル登録者数を増やしたりするための重要なツールだが、一方で視聴者にとっては、動画の最後の瞬間や、まだ動画が完全に終わっていない段階で視界を遮る「邪魔な要素」と感じられることもあった。特に、動画制作者が意図したエンディングの雰囲気やメッセージが、エンドスクリーンによって損なわれるケースも少なくなかった。今回の新機能は、このようなユーザーの不満に対応し、より快適な視聴体験を提供することを目的としている。
具体的には、エンドスクリーンが表示された際に、画面の右上隅に新たに「非表示」ボタンが出現する。このボタンをクリックすることで、その場でエンドスクリーンを消去し、動画の残りを邪魔されずに視聴できるようになる。この機能は、単に画面から要素を消すだけでなく、ユーザーの選択をシステムが学習し、将来的に同様のエンドスクリーンが自動的に非表示になるようにパーソナライズされる可能性も考えられる。
システムエンジニアの視点からこの機能を見ると、まず思い浮かぶのは「フロントエンド」と「バックエンド」の連携だ。フロントエンドとは、ユーザーが直接目にするWebサイトやアプリケーションの見た目や操作を司る部分で、HTML、CSS、JavaScriptといった技術で構築される。この「非表示」ボタンもフロントエンドの一部であり、ボタンがクリックされた際の動作はJavaScriptによって制御される。
ユーザーが「非表示」ボタンをクリックすると、JavaScriptがそのイベントを検知する。そして、エンドスクリーン要素を非表示にするための命令を実行する。これは、具体的にはエンドスクリーンのHTML要素に「display: none;」といったCSSスタイルを適用したり、要素自体をDOM(Document Object Model)から削除したりする処理として実装されるだろう。これにより、ユーザーのブラウザ上でエンドスクリーンが即座に消える。
しかし、この設定を一時的なものにせず、ユーザーが次回以降もエンドスクリーンを見たくないという意思を永続化させるためには、「バックエンド」の力が必要となる。バックエンドとは、ユーザーからは直接見えないサーバー側で動作するシステムで、データの処理、保存、セキュリティ管理などを担当する。ユーザーごとの設定を永続化させるためには、サーバーがその情報を記憶し、次にユーザーが同じ動画や他の動画を視聴した際に、その設定を適用する必要があるからだ。
具体的には、ユーザーが「非表示」ボタンをクリックした際に、フロントエンドのJavaScriptは、バックエンドの特定のAPI(Application Programming Interface)エンドポイントに対して、ユーザーIDと「エンドスクリーンを非表示にする」という設定情報を送信する「リクエスト」を送る。APIとは、異なるソフトウェア同士が通信するための窓口のようなものだ。
バックエンドのサーバーはこのリクエストを受け取ると、ユーザーの設定を保存するためのデータベースにアクセスする。データベースには、ユーザーのアカウント情報や視聴履歴、そして今回のようなUI表示設定などが格納されている。サーバーは、該当するユーザーのレコードに対し、「エンドスクリーン非表示」というフラグを立てるか、あるいは関連する設定値を更新する。この処理が完了すると、サーバーはフロントエンドに対して「設定が正常に保存されました」というレスポンスを返す。
次にユーザーがYouTubeにアクセスし、動画を再生しようとすると、フロントエンドはバックエンドのAPIを通じて、そのユーザーのパーソナライズされた設定情報を取得するリクエストを送信する。バックエンドはデータベースからユーザーの設定を読み出し、フロントエンドに返す。フロントエンドは受け取った設定情報に基づき、動画再生時にエンドスクリーンを最初から表示しない、あるいは表示してもすぐに非表示にする、といった処理を行うのだ。
YouTubeのような大規模なサービスでは、このような設定を管理するために、膨大な数のユーザーデータを効率的に処理できる高性能なデータベースが必要となる。リレーショナルデータベース(RDB)が使われることもあれば、柔軟性やスケーラビリティに優れたNoSQLデータベースが選択されることもあるだろう。また、ユーザー設定を保存するサーバー、動画を配信するサーバー、検索を処理するサーバーなど、機能ごとに複数のサーバーが連携し合う「マイクロサービスアーキテクチャ」が採用されている可能性も高い。これにより、システムの開発、運用、スケールがより柔軟に行えるようになる。
新機能の開発プロセスもシステムエンジニアにとって重要だ。まず、このような機能のアイデアは、ユーザーからのフィードバックやデータ分析、市場調査などから生まれる。次に、UI/UXデザイナーがユーザーインターフェースのデザインを作成し、プロトタイプが作られる。そして、フロントエンドエンジニアとバックエンドエンジニアが協力して、実際のコードを書き始める。
コードが書かれたら、その機能が正しく動作するかを検証するための「テスト」が不可欠だ。単体テストで個々のコンポーネントの動作を確認し、結合テストで複数のコンポーネントが連携して動作するかを確認する。さらに、システムテストでは、システム全体が要件通りに機能するかを検証し、様々なデバイスやブラウザでの互換性、パフォーマンス、セキュリティ面もチェックされる。YouTubeのようなグローバルサービスでは、世界中のユーザーが利用するため、多言語対応やアクセシビリティ(障がいを持つ人も利用しやすいか)も重要なテスト項目となる。
テストが完了し、安定性が確認されたら、新機能は「デプロイ」される。これは、開発環境で作成されたコードを、実際にユーザーが利用する「本番環境」にリリースする作業だ。大規模なシステムでは、一度に全てのユーザーに新機能を公開するのではなく、一部のユーザーに限定してリリースする「カナリアリリース」や「A/Bテスト」といった手法が用いられることもある。A/Bテストでは、新機能を利用するグループ(Aグループ)と、既存の機能を利用するグループ(Bグループ)に分けて、それぞれのユーザー体験やエンゲージメント(利用度合い)を比較し、新機能の効果を客観的に評価する。もし新機能が期待通りの効果を発揮しなかったり、予期せぬ問題が発生したりした場合には、すぐに以前のバージョンに戻せるように「ロールバック」の体制も整えられている。
今回のYouTubeのエンドスクリーン非表示機能は、一見すると小さな改善に過ぎないように見えるが、その裏側には、ユーザーの声を真摯に受け止め、より良いユーザー体験を追求しようとする姿勢、そしてそれを実現するための複雑なシステム設計、開発、テスト、デプロイといった一連のエンジニアリングプロセスが存在している。システムエンジニアを目指す者にとって、このような身近な機能がどのような技術とプロセスによって支えられているのかを理解することは、将来のキャリアにおいて非常に役立つ知見となるだろう。ユーザーが快適にサービスを利用できるかどうかは、画面の裏側で働くシステムと、それを構築するエンジニアのスキルと努力にかかっているのだ。