旅の途中、ふと、かつて記した古い羊皮紙を見つけた。忘れないうちに、その記憶をここに書き留めておくとしよう。
今となっては、もはや幻。 かつて、私は「TubeEater」という名の、夢のような神器を創り上げた。それは、YouTubeという巨大な情報の海から、ビデオやオーディオという名の宝を、自在に釣り上げるための魔法の釣り竿だった。
約1ヶ月もの間、私はこの神器の錬成に没頭した。しかし、完成間近、私は衝撃の事実に突き当たる。「YouTubeは、ダウンロードを禁じている」と。クリエイティブ・コモンズという、ささやかな抜け道こそあれ、私の情熱は、規約という名の巨大な壁の前で、行き場を失ってしまったのだ。 NuGetパッケージという名の部品が時の砂に埋もれた今、この神器を新たに錬成することは叶わない。これは、そんな儚くも美しい、幻の神器の在りし日の姿を偲ぶ、追憶の物語である。
この羊皮紙のあらまし
この羊皮紙が導く者
- かつて、YouTubeからビデオをダウンロードするという、禁断の夢を見た者
- C#で、YouTubeという巨大な海と対話する術に、興味がある者
- 今はもう動かぬ、幻の神器「TubeEater」の、在りし日の姿を知りたい考古学者
幻の神器の、在りし日の姿
デスクトップに鎮座する、TubeEaterのアイコン。それをクリックすれば、かつては、冒険の扉が開かれた。 黄緑色の「自動ダウンロード」ボタンを一度押せば、あとはブラウザでYouTubeのURLをコピーするだけで、神器は自動的に宝を釣り上げてくれたのだ。

多彩な魔法のメニュー
左上のハンバーガーアイコンを開けば、ダウンロードの履歴を確認したり、ダークモードへの切り替え、アクセントカラーの変更など、多彩な魔法が用意されていた。

特筆すべきは、多言語化への対応だ。Languagesフォルダ内のJSONファイルを書き換えれば、関西弁のTubeEaterさえも創り出せる、そんな遊び心も秘められていた。
釣り上げる宝の選択
右端のオプションメニューからは、ビデオ(MP4)を釣るか、オーディオ(AAC/MP3)を釣るか、その獲物を自在に選択できた。

羊皮紙を巻く前に
軽いノリで始まった、このTubeEater開発の旅。気づけば1ヶ月もの間、私はその錬成に没頭していた。調査、デザイン、プログラミング、テスト…その全ての工程は、楽しくも、そして厳しいものだった。
そして、最後の最後で、YouTubeの利用規約という、あまりに巨大な壁に突き当たった時の、あの虚脱感。最初に調べておくべきだった、という後悔は、今も私の心に深く刻まれている。
もはや、この神器を新たに手に入れることはできない。しかし、その設計図の断片は、今もGitHubという宝物庫に眠っている。この物語が、ただのダウンロードツール開発ではなく、一つのアプリケーションを創り上げるという冒険の、一つのサンプルとして、未来の冒険者の目に留まるなら、私のこの旅も、無駄ではなかったのかもしれない。
おっと、どうやら相棒が腹を空かせたようだ。今日はこのへんで筆を置くとしよう。
砂漠で見つけた魔法のランプ
ラクダの独り言
ご主人が、何やら「つーぶいーたー」とかいう、妙な釣り竿を創り上げて、大喜びしていたかと思ったら、次の日には「規約違反だ…」とか言って、がっくりと肩を落としていた。俺に言わせりゃ、釣っちゃいけねえ魚がいる海で、釣り竿を振り回す方が悪いんだろうに。まったく、人間ってのは、後先考えねえからいけねえんだ。やれやれだぜ。