嫌いなものに支えられて生きている

Share

広告ブロッカーを使っている。

YouTubeのプレロール広告を飛ばし、Webサイトのバナーを非表示にし、SNSのインフィード広告をできるだけ目に入れないようにしている。広告は不快だ。見たくないものを見せられる。時間を奪われる。認知資源を消耗させられる。

その一方で、広告ブロッカーを使いながら無料のWebサービスに依存している。YouTube、検索エンジン、SNS、ニュースサイト。これらが無料で使えるのは、広告収入によって運営されているからだ。広告を嫌いながら、広告が支える無料サービスなしには生活が成り立たない。この矛盾に自覚的であることが、広告について考える出発点になる。

広告の機能を分解する

「広告は悪だ」と断じる前に、広告が何をしているのかを分解したほうがいい。

情報伝達機能。 「この商品が存在する」「このサービスが始まった」と知らせること。これ自体は中立的だ。知らなければ選択肢にすら入らない。新しい製品やサービスの存在を消費者に届ける手段として、広告は機能している。

説得機能。 「買うべきだ」「使うべきだ」と思わせること。ここから操作性が入る。情報の伝達と欲望の喚起は異なる行為だが、広告はこの二つを意図的に混ぜる。「お知らせ」の顔をした「説得」がほとんどだ。

資金提供機能。 無料サービスのビジネスモデルを支えている。テレビ、ラジオ、Webサービス、検索エンジン、SNS。これらの運営費用の大部分は広告収入から賄われている。広告がなければ、これらのサービスは有料になるか、存在しなくなる。

文化的機能。 意外かもしれないが、広告はデザインや映像表現の実験場としても機能してきた。予算が潤沢で、表現の自由度が高く、かつ短時間で印象を残す必要があるという条件は、クリエイティブの限界を押し広げてきた。広告から生まれた映像技法や視覚表現は少なくない。

「悪」と感じる根拠

広告を不快に感じる理由には、構造的なものが含まれている。

注意の搾取。 見たくないものを見せられる。これは注意という有限の資源を、同意なく奪われる体験だ。動画の途中に挟まる広告、記事を読んでいる最中に割り込むポップアップ。これらは「対価」ではなく「妨害」として経験される。

欲望の人工的生成。 本来なくてもよかった欲求を、広告が作り出しているという批判がある。新製品の広告を見なければ、それが欲しいとは思わなかった。広告によって「足りない」という感覚を植え付けられ、消費へと駆り立てられる。この構造は消費主義批判と直接つながっている。

情報の非対称性。 広告主は消費者よりも多くの情報を持っている。都合のよい部分だけを見せ、不都合な部分を隠す。完全な嘘ではないが、全体像でもない。この選択的な情報提示が、消費者の合理的な判断を歪める。

ターゲティングの不気味さ。 自分の検索履歴、閲覧履歴、購買履歴に基づいて表示される広告は、「見透かされている」という感覚を引き起こす。「なんとなく嫌」という感覚の一種だが、この場合は直感の背後に実際のデータ収集という事実がある。不気味さの根拠は、想像ではなく現実だ。

広告のない世界を想像する

広告を全廃したらどうなるか。思考実験として考えてみる。

すべてのWebサービスが有料になる。検索エンジンに月額料金がかかり、SNSに利用料が発生し、ニュースサイトは全面的にペイウォールの向こう側に行く。情報へのアクセスは、支払い能力に直結する。情報格差は拡大する。

新しい製品やサービスを知る手段が激減する。口コミとレビューだけになる。既存の知名度を持つブランドが圧倒的に有利になり、新規参入者が認知を得ることは著しく困難になる。中小企業や個人クリエイターが、潜在的な顧客にリーチする手段がほぼなくなる。

つまり広告は、「不快だが代替手段がまだ確立されていない」という構造的な位置にある。自由と安全のトレードオフと同じ構図だ。快適さと引き換えに何かを差し出している。広告の場合、差し出しているのは注意と個人データだ。

量と質を分ける

広告そのものが悪なのか。それとも、現在の広告産業の運用が悪いのか。

この区別は重要だ。自分が探しているものに関連する情報が、適切なタイミングで提示されること。これは有用だ。引っ越しを考えているときに、良い不動産情報が目に入る。旅行を計画しているときに、航空券の割引情報を知る。この種の広告は、消費者にとっても価値がある。

問題は、過剰な量と不誠実な表現にある。画面の半分を覆うバナー。閉じるボタンが見つからないポップアップ。誇大広告。ステルスマーケティング。効果を偽る健康食品の宣伝。これらは広告の機能を逸脱している。

広告ブロッカーの普及は、広告業界に対する消費者からのフィードバックだ。「この量と質では受け入れられない」という意思表示だ。広告主と媒体が、消費者の許容範囲を超えた結果、消費者は技術的な手段でそれを遮断するようになった。

誰も何も選んでいないという構造は、広告の文脈にも当てはまる。消費者が「自分で選んだ」と思っている購買行動の何割が、広告による誘導の結果なのか。完全に自律的な購買判断は存在するのか。おそらく、しない。人間の意思決定は常に環境からの影響を受けている。広告はその影響源の一つにすぎないが、最も意図的に設計された影響源の一つでもある。

不快さの種類

広告の不快さは、一律ではない。

YouTubeの5秒スキップ可能なプレロール広告と、テレビの15秒CM、電車内の中吊り広告、街中の看板。これらは同じ「広告」だが、不快さの質が違う。

プレロール広告は、自分が見たいコンテンツとの間に割り込んでくる。邪魔をされたという感覚が強い。テレビCMには慣れている人が多い(テレビの視聴体験にCMが組み込まれているため)。中吊り広告は視線を向けなければ存在しないに等しい。看板は風景の一部として溶け込んでいることもある。

不快さの度合いは、「自分の行動を中断されるかどうか」に大きく依存する。自発的に目を向ける広告(雑誌の広告ページ、気になって検索した商品のレビュー広告)は比較的受容されやすい。強制的に挿入される広告は拒絶されやすい。広告の「悪さ」は、内容よりも提示方法に起因している部分が大きい。

必要悪という安易な着地を避ける

「広告は必要悪だ」という結論は、思考を止めるための便利な言い回しにすぎない。

広告は悪でも善でもない。構造だ。情報を届けるための仕組みであり、無料サービスを支える経済モデルであり、注意を搾取する装置であり、新しい表現が試される実験場でもある。これらの機能は一つの現象に同居している。

学割という仕組みが、善意ではなく価格差別という経済的ロジックで説明できるように、広告もまた、善悪ではなくインセンティブ構造で理解したほうが見通しがよくなる。広告主は認知を拡大したい。媒体は収益を得たい。消費者は無料サービスを使いたい。三者の利害が噛み合う範囲で広告は機能し、噛み合わなくなった地点で軋轢が生じる。

問うべきは「広告は悪か」ではなく、「現在の広告の運用は、関係者全員にとって持続可能な形になっているか」だ。答えはおそらく、まだなっていない。広告ブロッカーの普及率がそれを示している。しかし、広告そのものを廃絶することが解決策でないことも、同時に明らかだ。

不快な構造の中に、必要な機能が埋め込まれている。その二つを分離する方法を、まだ誰も見つけていない。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu