興味のないチャンネルの動画を自動で非表示にする拡張機能 「YouTube Channel Blocker」 を Chrome ストアに公開しました。
前回の記事では「YouTube Channel Blocker」を作った動機や苦労、感想を詳しく書いています。
physx.hatenablog.com
今回は、開発した「YouTube Channel Blocker」をストアに公開した話です。入手はこちらから↓
chromewebstore.google.com
FIrefox版はこっち↓
addons.mozilla.org
あれからどんな機能を追加したのかとか、ストアに公開するまでの苦労とかをつづります。
前回からのあらすじ+α
YouTube Channel Blockerを作った記事を書いた後、色々な機能を追加しました。
主機能の一覧はこんな感じ
- タイトルNGフィルター
- チャンネルNGフィルター
- 各リストのインポート/エキスポート機能
- 言語切り替え
あと、詳しくは書きませんが、追加実装に伴うエラー対応でかなり時間が取られています(多分、作業時間の6~7割くらい)。
加えて、カッコつけてREADMEに英語版も追加したりしちゃって...
そのせいで、単純にREADMEの確認や英文修正で作業時間が2倍になったので、後悔することになるんですけどね。
実装したやつ
それぞれの機能を実装したときの苦労やら感想やらを述べていきます。
タイトルNGフィルター
動画タイトルの末尾に「○○/切り抜き」みたいなのが多かったので、実装しました。
切り抜き自体はいいんですけど、ファンでないと楽しめないような動画だったり、人数が多いと誰が喋っているのかわからない動画が思ったよりも多くて...
しかし、「切り抜き」で全部非表示にすると、新たなチャンネルを見る楽しみが得られません。
ユーザーが全く興味のない動画や不快なサムネはドンドン非表示にできるのが望ましいですが、かといって、なりふり構わず全動画を非表示にするのは新規投稿者のチャンスが失われるので。
そこで、折衷案的に3つのキーワードによるAND条件(まとめてキーワードセットと呼ぶ)を実装しました。
例えば、「切り抜き」+「○○(出演者名)」の2つをキーワードセットにすると、
- 「△△が食べ物を盗む瞬間が面白すぎる【切り抜き/GTA/××】」→表示
- 「みんな最近いいことあった?【雑談配信/○○】」→表示
- 「出したら死ぬといわれる九蓮宝燈を出しちゃった【○○/切り抜き】」→非表示
みたいに設定したキーワードをすべて含むものだけを非表示にします。
キーワード1つだけの時は、それをタイトルに含む動画が問答無用ですべて非表示になります。
もう本当に切り抜きが嫌だという人は「切り抜き」をキーワードにすればいいですし、○○さんの切り抜きはもう見たくないんだよなあという人は「○○」と「切り抜き」をセットすればいいですし。
注意点として、チャンネルページでもこれが機能します。
「COVER」をキーワードにすると、COVERを名前に含む動画が非表示になるわけですね。細かい条件までは確認できてませんが(最初のページだと非表示になるが、動画タブだと表示されたりすることもある)
そのうち、そのチャンネルの動画はすべて表示するホワイトリストみたいなのも追加したいですね。
チャンネルNGフィルター
機能自体はタイトルNGフィルターと同じです。動画タイトルじゃなくて、チャンネル名になっただけです。あと、チャンネル名はタイトルよりも短いので、1つのキーワードの長さは10文字に制限しました。大したことはないかもしれませんが、容量圧迫の防止です。
すごい個人的にですが、この機能は当時、あまり実装したくはなかったです...
政治系動画とか過激なニュースを取り上げる解説動画みたいなのが嫌いだったのですが、「解説」とかだと他の面白いやつも消えちゃいますし。
ただ、友達のおススメ動画を見てしまうと、そういうやつが繰り返し出てきて非常に不快になったのと、「このキーワードなら影響が少ないだろう」という法則性みたいなのがちょっと見えたので実装しました。
これのおかげで、私の非表示リストのやつが多少スッキリしました(「2ch」とか「反応集」みたいな興味ない量産型チャンネルをまとめて一掃できた)。
各リストのインポート/エキスポート機能
リストのインポート/エキスポート機能です。リストをjsonで出力・入力します。
設定ページにも書いてありますが、「Channel Blocker」は時々リストが全部消えることがあったので、この「YouTube Channel Blocker」も定期的なバックアップを推奨します。今のところ、その不具合は発生していないですが...
ただ、発生したとして、どうやって解決するのだろうという不安があります...
ちなみに、エキスポート時のファイル名は最初にいい加減に実装したときのままです。というか、キチンとしたファイル名を考えあぐねています。
タイトルNGフィルターとかチャンネルNGフィルターもそうなんですが、ビシッとくる名前がまだ思いつかない...
チャンネル名NGフィルターの方がわかりやすいと思うんですが、ちょっと長すぎない?とか漢字とカタカナと英数字が3つ混じるのがなんか嫌だな、とか思ってしまって...(考えすぎかなあ?)
まあ、他の機能も実装しながら、名前は修正していきたいと思います。
言語切り替え
ストアに公開するなら、英語はつけるべきだろうと思ってつけました。
間違いとまでは言いませんが、作業時間が増えてしまったので後悔する一因になっています。
READMEも英語つけちゃったしなあ...
精査する時間まではとっていなかったので、ニュアンスは大分おかしいと思います。
更なる他言語対応とか、やりたくないなあ...
寄付機能
ちょっと金銭欲がでちゃいました。
とはいっても、寄付した人にメリットがあるわけではなく、完全に任意です。「鳩に餌やる感覚で、良いと思った人が寄付してくれないかなあ」という宝くじ感覚で実装した機能です。
自分なりに送金機能を実装できたことによる喜びが大きかったんで、それだけでも価値はあったかと思います。
以上、こんな感想を持ちながら、色々な機能を実装してきました。「足りないところはあるけど、最初に比べると機能も増えてきたなあ」と振り返っていた頃、ストアへの公開を考え始めます。
拡張機能をストアに出してみよう
時系列順にストアに出すまでの思いやら感想やらを記載していきます。
ストアに出そうと思ったきっかけ
先に結論を言うと、「他の人がダウンロードしやすいように」+「承認欲求」です。
開発のはじめは自己満足でした。あくまで自分のYouTube上で不快な思いをしたくない(嫌なら見るな、でもYouTubeは否が応でも表示してくるから自己防衛しよう)という一点で開発したのです。
コード公開したり、ブログに書いたりしたのは承認欲求です。せっかく作ったのに日の目を見ないまま、自己完結で終わってしまうのは寂しいなあと。
しかし、コードと一緒にインストールの手順は載せたものの、初心者があれこれするの正直難しいなあ、とも考えていました。
そこで、誰でも簡単にインストールできるように、ストアに出そうと思いました。
ストアに出せば、今よりは人に見てもらえるでしょうし(ゾウリムシからミジンコに進化したレベルでしょうが)、ダウンロードもやりやすくなります。
ユーザーが増えることで、様々な改善案が得られるかもしれません。
また、正直、最近は一人で動作確認テストすることにも限界を感じていました。
機能を追加すると、機能同士を組み合わせた場合の動作確認テストも必要になって、デバック時間が際限なく増えていくので...
自分では気づかなかった不具合が見つかる可能性、という副次的な効果も期待できます。
このように、「他の人がダウンロードしやすいように」+「承認欲求」といった思いがあって、拡張機能をストアに出すことを決意しました。
決意してから「YouTube Channel Blocker」をストアに出すまで
ストアに出すまでの経緯やら感想やらを色々書いていきます。
ストアに出す前
まず、ストアに出すにあたって必要なものを調べてみました。
- ストア登録の5ドル
- Developerページへの登録
- アカウント名をニックネームに変えておく(本名バレを防ぐため)
- 審査で提出するための長めの説明文や機能説明、権限にアクセスする理由
- 拡張機能を説明するスクショ
5ドルはクレジットカードでなんとかしました(外貨変換手数料はかかっちゃたけど)。
Developerページへの登録もGooGleアカウントがあるので、そのまま使うだけです。
名前を変更しなかったら、ストアで本名が堂々と出てしまうので変更する必要がありましたが(ニックネームや表示名を設定しても意味がなく、「名前」を変更する必要がある)。
審査で提出する拡張機能の説明文等はChatGPTに要点を書かせて、自分で整形しました。
一番難しかったのはスクショです。最低限×ボタンが表示されている写真が欲しかったのですが、トップページの中から適当に選ぶと投稿者批判みたいで嫌ですし...
YouTube Officialのチャンネルなら大手だし角が立たないだろうと思って、検索ページでYouTube Officialだけがでてくるようにしました。
その後は、既定のサイズに合わせるため、拡大縮小で崩れるフォントや画像との勝負...
ようやく自分の中の最低合格ラインギリギリの画像ができましたが、あまり納得していません。
人を引き付けるようなキレイな画像ではないですし...
提出後、審査は1か月くらいかかるとか書いてあったのですが、1時間くらいで公開できるようになりました。
誤算だったのは、公開前だと説明文の変更ができなかったことです。
バージョン1.0になったままだし、説明文とかスクショとかも追加・変更したかったのに....
まあ、再審査が嫌で「えいや」って感じで出しちゃったんですけどね。
画像の追加や説明文の直しが必要だと思うので、次回以降の更新で少しづつ修正できればと思います。
ストアに出した後
動作確認はEdgeで行いました。普段のブラウザはOperaとChrome使っているんですが、
Opera:最新版を自分で長期間使ってテストする用
Chrome:追加実装した機能の動作確認テスト用
って感じで使っており、自分で開発したやつと混同してしまいます(開発用のやつとストアのやつでアイコンも同じなので、区別がつかない)。
なので、Edgeを新しく使うことにしました。幸いにも、Chromeの拡張機能はEdgeでも使えるようなので。
ただ、YouTube Channel Blockerがストアの検索にでてこなくて、ちょっと苦労しました。
Developerページから直接飛べたので良いんですが、今も出てこないようです...
(検索への反映が遅いのか?人気にならないと検索にすら出ないのか?)
追記:少しずつ知られるようになったおかげか、今は検索に出ています。
兎にも角にも、Edgeで最低限の動作確認はできたので一安心という感じです。
余談:本拡張機能のユニーク性について
開発したソフトはユニーク性(そのソフト独自の強み)がないと、「なんで出したの?このソフトの意味ある?」って詰められてしまいます(社会人経験より)。
まあ、一人で作ってますし、動機が自己満足なんで問題ないといえば問題ないんですが、一応YouTube Channel Blockerのユニーク性について、似た機能を持つ拡張機能と比較してみます。
似た機能を持っていて人気なのは主に2つです。他にもあるようですが、細かいのを調べるとキリがないので、とりあえず人気が高そうな2つだけにします。
Channel Blocker
1つ目はChannel Blockerです。
chromewebstore.google.com
こちらは以前の記事で書いたように、関連動画(動画再生中の右の動画一覧)で動作しなくなりました。
アップデートも1年前だったので、更新はない可能性が高いです。そのため、単純に更新があること(少なくとも、2025年7月時点のYouTubeページに対応していること)が「YouTube Channel Blocker」のユニーク性になります。
...まあ、更新があることをユニーク性に分類していいかは微妙ですが。
「YouTube Channel Blocker」はこの拡張機能を参考に作った物ですし、UIは使いやすく、シンプルです。
正直、「YouTube Channel Blocker」の方が劣っている点が多いと思います。今後の更新で、より良いものにしていきたいですね。
BlockTube
2つ目はBlockTubeです。
chromewebstore.google.com
こちらは、xボタンのように簡単に非表示にできる機能はないものの、ショート動画やプレイリストの非表示もできます※。玄人向けの設定もできるようなので、慣れてしまえばとても使い勝手がいいと思います。
こちらは最近までアップデートが1年前から動いてなさげだったんで、Channel Blockerと同様、更新の有無で勝ち目があるかなあと思ってました。しかし、最近GitHubの方で開発者からのコメントがあり、動き始めているようです。そのため、今の関連動画で動作しない不具合は、そのうち修正される可能性大です。
よって「YouTube Channel Blocker」ならではのユニークな点は、「xボタンから簡単にリストに追加ができる」しかありません。更にユニークな点を実装できるように今後の更新で頑張る必要がありそうです。
※私もプレイリストはともかく、最近、不快なサムネのショート動画が表示されはじめました。集合体恐怖症注意なやつで、私は恐怖症とまでは言いませんが大きく見せられるのは不快です。近いうちに、ショート動画抹殺非表示機能を出します。
まあ、勝ち負けしたり、他の拡張機能よりも人気をとりたいわけではないですが(そもそも、あちらには知名度や長年の信頼といった長所があって、勝てるわけがない)。
今後について
とりあえず、今後は色々な機能を追加したり、不具合や名前のブラッシュアップ等を行いたいと思います。とはいっても、リリースしていないだけで、隙間時間とかにちょくちょく機能追加したり、それに伴う不具合と戦ったりしているんですが。
大まかな実装予定としては、
- 全ショート動画表示/非表示設定
- プレイリスト表示/非表示設定
- ホワイトリスト設定
- トップページのサムネサイズを小さくする設定
を実装する予定です。いつ・どれをやるかはわかりませんし、確約もできませんが。
最後になりますが、不具合や要望について。
ストアページのレビューは
- 連絡が一方的
- 返信もしづらいから、問題の原因がつきとめられない
- 「おま環」や一時的なものの可能性もある
といった理由でほとんど見ないと思います。
GitHubのissuesやdiscussionsのページに書いてもらえれば、対応する可能性があります。
一応、このページや前の記事のコメント欄でも構いません(露骨なアクセス数稼ぎ)。
github.com
なお、全ての要望の実現はできません(例えば、Next動画のチャンネル名を判断して自動停止するなどはかなり難しそう)ので、ご了承ください。
余談:宣伝
前回と同じく最後に宣伝を。Steamで公開するゲームを作っています。
私事でなんやかんや色々あって、だいぶ遅れていますが、できるだけ早く出せるように頑張って製作中です。
store.steampowered.com
次のお話↓
physx.hatenablog.com
前のお話↓
physx.hatenablog.com
