Users Are Blocking YouTube Shorts Because YouTube Won't. Voice AI Demos: Build Layer 6 In.

# Users Are Blocking YouTube Shorts Because YouTube Won't. Voice AI Demos: Build Layer 6 In. **Meta description**: Users built uBlock filter to hide YouTube Shorts because YouTube won't provide the option. 616 HN points. This is Layer 6 (Dark Pattern Prevention) implemented by revolt. Voice AI demos should build user control IN. **Tags**: Voice AI, YouTube Shorts, Layer 6, Dark Pattern Prevention, User Autonomy, Infinite Scrolling, EU Regulation, Trust Architecture, uBlock Origin, Platform Control --- ## Users Block Shorts. YouTube Won't Give Them The Option. A [uBlock Origin filter list](https://github.com/i5heu/ublock-hide-yt-shorts/) hit #3 on HackerNews today. **616 points, 195 comments.** What does it do? **Hides all YouTube Shorts.** Why does this need to exist? Because YouTube doesn't provide a native "hide Shorts" option. Users who want to avoid the vertical video dopamine loop have to install third-party browser extensions to block content YouTube forces into their interface. **This is Layer 6 (Dark Pattern Prevention) implemented by user revolt.** From [Article #169](https://demogod.me/blogs/eu-killing-infinite-scrolling-voice-ai-demos-attention): The EU just banned infinite scrolling on TikTok. YouTube Shorts uses the same manipulative design: endless vertical video scroll, no natural stopping points, algorithm-driven recommendations, FOMO engagement loops. **Users are implementing the EU regulation themselves** because YouTube won't do it voluntarily. --- ## The Tool: 244 Stars in Days From the [GitHub repo](https://github.com/i5heu/ublock-hide-yt-shorts/): > A maintained uBlock Origin filter list to hide all traces of YouTube shorts videos. **Installation:** ``` Copy this link: https://raw.githubusercontent.com/i5heu/ublock-hide-yt-shorts/master/list.txt Go to: uBlock Origin > Dashboard > Filter lists Scroll to bottom Paste under "Import..." ``` **What it blocks:** - Shorts shelf on homepage - Shorts in search results - Shorts in recommended sidebar - Shorts in subscriptions feed - ALL traces of Shorts interface **Bonus:** The repo also provides a filter to hide YouTube comments entirely. **Maintenance note:** The original creator [@gijsdev](https://github.com/gijsdev) vanished after 6 months. [@i5heu](https://heidenstedt.org) took over maintenance. **The demand was high enough that someone stepped up to maintain it.** **244 stars. 4 forks. 2 watchers. All in days since the fork.** --- ## Why This Matters for Voice AI Demos This isn't just about YouTube Shorts. This is about **what happens when platforms don't give users control over manipulative design patterns.** **Users revolt. Users build workarounds. Users lose trust.** From [Article #165](https://demogod.me/blogs/tipping-screens-manipulate-66-percent-users-layer-6-dark-patterns): **Layer 6: Dark Pattern Prevention** has four mechanisms: 1. **Equal Conversational Weight** - No manipulation via conversation flow 2. **No Negative Reframing** - Don't punish user choices 3. **No Artificial Time Pressure** - No fake urgency 4. **Explicit Opt-Out Placement** - Make exit easy and visible **YouTube Shorts violates mechanism #4:** There is no opt-out. The platform forces Shorts into every interface. Users who want to avoid vertical video addiction **have to install third-party blockers.** **Voice AI demos face the same choice:** **Option 1: Build user control IN** - Provide clear conversation exit - Allow users to disable features - Make opt-out visible and easy - Respect user autonomy **Option 2: Force features, wait for user revolt** - No native controls for manipulative patterns - Users install blocking tools - Users lose trust - Platform reputation damaged **YouTube chose Option 2.** Now users are building blockers with 616 HN upvotes. --- ## The Pattern: Platforms Won't, Users Will This is the third major example in three days: **Example 1: EU bans infinite scrolling** (Article #169) - TikTok forced to disable infinite scroll - Required to implement screen time breaks - Regulator intervention because platform wouldn't act **Example 2: Publishers block Internet Archive** (Article #171) - Publishers block archives to prevent AI scraping - No verification APIs provided - Users lose historical access **Example 3: Users block YouTube Shorts** (Article #172) - YouTube won't provide "hide Shorts" option - Users build uBlock filters - Platform loses goodwill **The pattern:** 1. Platform implements manipulative design 2. Platform refuses to provide user controls 3. Users revolt (via tools, regulation, or abandonment) 4. Platform forced to change (or loses users) **Voice AI demos: Skip steps 1-3. Implement Layer 6 from day one.** --- ## YouTube's Missing Controls Here's what YouTube SHOULD provide natively: ```typescript // YouTube Settings > Preferences (SHOULD EXIST, DOESN'T) interface YouTubeUserControls { shorts: { enable_shorts_shelf: boolean; // Default: true show_shorts_in_search: boolean; // Default: true show_shorts_in_recommendations: boolean; // Default: true vertical_video_autoplay: boolean; // Default: true }; infinite_scroll: { enable_infinite_homepage: boolean; // Default: true enable_infinite_shorts: boolean; // Default: true max_videos_before_break: number; // Default: unlimited }; engagement_patterns: { show_viewer_count: boolean; // Default: true (FOMO) show_trending_badge: boolean; // Default: true (FOMO) autoplay_next_video: boolean; // Default: true }; } ``` **None of these controls exist.** YouTube provides: - Playback speed controls ✅ - Autoplay toggle ✅ - Restricted mode ✅ - **Shorts visibility controls ❌** - **Infinite scroll controls ❌** - **Engagement pattern controls ❌** **Users wanted option #4: Disable Shorts.** YouTube said no. Users built it anyway. --- ## Voice AI Demo Implementation: Layer 6 Native Controls Here's what Voice AI demos should build IN, not wait for users to block: ```typescript // Voice AI Demo: Dark Pattern Prevention Controls interface VoiceAIDemoControls { conversation_flow: { max_continuous_turns: number; // Default: 5 (natural break point) offer_exit_after_goal: boolean; // Default: true session_time_limit_minutes: number; // Default: 10 explicit_exit_button_visible: boolean; // Default: TRUE (not hidden) }; manipulative_patterns: { disable_artificial_urgency: boolean; // Default: TRUE (no fake timers) disable_negative_reframing: boolean; // Default: TRUE (no punishment language) equal_weight_all_options: boolean; // Default: TRUE (no dark patterns in choices) }; user_autonomy: { easy_exit_placement: "top_right" | "always_visible"; // Default: always_visible pause_conversation_available: boolean; // Default: true disable_conversation_extension: boolean; // User can block "but wait, there's more" }; } // Example: Natural stopping point async function check_conversation_stopping_point( turns_count: number, user_goal_completed: boolean, session_duration_minutes: number ): Promise<"offer_exit" | "continue"> { const controls = get_user_controls(); // Load user preferences // Rule 1: Goal completed → always offer exit if (user_goal_completed) { return "offer_exit"; } // Rule 2: Max turns reached → offer exit if (turns_count >= controls.conversation_flow.max_continuous_turns) { return "offer_exit"; } // Rule 3: Session time limit → offer exit if (session_duration_minutes >= controls.conversation_flow.session_time_limit_minutes) { return "offer_exit"; } return "continue"; } // Example: Explicit exit option (ALWAYS VISIBLE) function render_conversation_interface(): React.Component { return (
{/* Exit button: TOP RIGHT, ALWAYS VISIBLE */} {/* Natural stopping point offer */} {should_offer_exit && (

Your question has been answered. Would you like to:

)}
); } ``` **Key principle:** Users control the conversation, not the platform. If users want to leave, make it EASY. Don't hide the exit. Don't use dark patterns to extend engagement. --- ## The EU Regulation Connection From [Article #169](https://demogod.me/blogs/eu-killing-infinite-scrolling-voice-ai-demos-attention), the EU Digital Services Act enforcement against TikTok: **TikTok violations → Voice AI parallels:** | TikTok Violation | EU Action | Voice AI Equivalent | Layer 6 Mechanism | |------------------|-----------|---------------------|-------------------| | Infinite scrolling (no stopping points) | Disable infinite scroll | No natural conversation exit | Equal Conversational Weight | | FOMO-driven recommendations | Change recommender systems | "But wait, there's more" extensions | No Negative Reframing | | Endless engagement without breaks | Require screen time breaks | No session time limits | No Artificial Time Pressure | | No user control over features | Require design customization settings | No "disable feature X" options | Explicit Opt-Out Placement | **YouTube Shorts violates the same pattern as TikTok.** Users are implementing the EU regulation themselves via uBlock filters. **Voice AI demos: Don't wait for EU enforcement. Implement Layer 6 controls natively.** --- ## The HackerNews Comments: Why Users Want This From the HN thread (616 points, 195 comments): **User demand themes:** 1. **"Shorts are addictive"** - Vertical video scroll = dopamine loop - No natural stopping points - Algorithm keeps you watching 2. **"YouTube won't provide the option"** - No native "hide Shorts" setting - Feature forced into every interface - Users have to resort to third-party blockers 3. **"Content quality degradation"** - Shorts incentivize low-effort content - Vertical video format limits depth - Algorithm prioritizes engagement over quality 4. **"Interface pollution"** - Shorts shelf takes homepage space - Shorts appear in search results - Can't escape vertical video even if you want long-form **Common sentiment:** "I just want to watch long-form videos. Why can't YouTube let me hide Shorts?" **YouTube's answer:** Silence. No native option provided. **User response:** Build blockers. 244 stars. 616 HN upvotes. --- ## Voice AI Demo Checklist: Don't Be YouTube **Before launching your Voice AI demo, ask:** **User Control Questions:** - [ ] Can users easily exit conversations? - [ ] Is the exit button visible and accessible? - [ ] Do we offer natural stopping points? - [ ] Can users disable manipulative features? - [ ] Are opt-out controls prominent, not hidden? **Dark Pattern Prevention:** - [ ] Do we use artificial urgency? (Layer 6 violation) - [ ] Do we punish user exit choices? (Layer 6 violation) - [ ] Do we extend conversations artificially? (Layer 6 violation) - [ ] Do we hide exit options? (Layer 6 violation) **Regulation Compliance:** - [ ] Would EU regulators flag our conversation flow as addictive design? - [ ] Do we provide screen time / session limits? - [ ] Can users customize engagement features? - [ ] Are we transparent about conversation patterns? **If you answer "no" to user control or "yes" to dark patterns:** **You're YouTube. Users will revolt.** They'll build browser extensions to block your features. They'll upvote those extensions on HackerNews. They'll lose trust in your platform. **Or worse: Regulators will force you to change** (see: TikTok infinite scroll ban). --- ## The Blocker Arms Race Here's what happens when platforms don't provide controls: **Step 1: Platform forces feature** - YouTube forces Shorts into every interface - No native "hide" option **Step 2: Users build blockers** - uBlock Origin filter list created - 244 stars, 616 HN upvotes - Users share workarounds **Step 3: Platform breaks blockers** - YouTube changes CSS selectors - Filter list needs updates - Cat-and-mouse game begins **Step 4: Maintainer burnout** - Original creator vanishes (6 months) - New maintainer steps up (i5heu) - Community-driven maintenance **Step 5: Platform reputation damage** - Users resent forced features - Trust eroded - "YouTube doesn't respect user choice" **Voice AI demos: Skip all 5 steps. Provide native controls from day one.** --- ## The "Bonus" Filter: Hiding Comments From the repo: > **Bonus: hide YouTube Comments** > https://raw.githubusercontent.com/i5heu/ublock-hide-yt-shorts/master/comments.txt **Why is this a "bonus"?** Because users also want to hide YouTube comments. The toxic, low-quality, rage-bait comment section is another engagement pattern YouTube won't let users disable. **Pattern recognition:** - YouTube forces engagement patterns (Shorts, comments) - Users want to disable them - YouTube refuses - Users build blockers **For Voice AI demos:** What features are you forcing that users might want to disable? - Proactive suggestions ("Have you considered...?") - Conversation extensions ("But there's more...") - Follow-up questions ("Would you also like to know...?") **Build opt-out controls for ALL engagement patterns.** ```typescript // Voice AI: User-controllable engagement features interface EngagementControls { proactive_suggestions: boolean; // Default: true, user can disable conversation_extensions: boolean; // Default: true, user can disable follow_up_questions: boolean; // Default: true, user can disable related_topics: boolean; // Default: true, user can disable } async function should_offer_proactive_suggestion( context: ConversationContext ): Promise { const user_controls = get_user_engagement_controls(); // User disabled proactive suggestions → respect their choice if (!user_controls.proactive_suggestions) { return false; } // User enabled → offer suggestion return true; } ``` **Key principle:** Every engagement pattern should have a user control. No forced features. --- ## The Maintenance Problem From the repo README: > After the initial creator of this list @gijsdev is now vanished for half a year, i (i5heu) took it on me to maintain this list. **What this reveals:** **User demand is high enough that strangers volunteer to maintain blockers** when the original creator disappears. This is **sustained user revolt.** Not a one-time complaint. Not a passing frustration. Users care enough about blocking Shorts that they: 1. Install third-party extensions 2. Import custom filter lists 3. Volunteer to maintain those lists when creators vanish 4. Star repos (244 stars) 5. Upvote on HN (616 points) **For Voice AI demos:** If users are installing blockers for your features, you've failed at Layer 6 (Dark Pattern Prevention). **The correct response:** 1. Acknowledge user frustration 2. Implement native controls 3. Make opt-out easy and visible 4. Respect user autonomy **The YouTube response:** 1. Ignore user frustration 2. Force features anyway 3. Break user blockers with CSS changes 4. Lose trust --- ## Layer 6 Implementation: Complete Checklist Based on YouTube Shorts blocker analysis, here's the complete Layer 6 checklist for Voice AI demos: ### Mechanism #1: Equal Conversational Weight **❌ YouTube Shorts approach:** - Shorts shelf always visible - Can't hide or minimize - Takes homepage real estate - Forced into every interface **✅ Voice AI approach:** ```typescript interface ConversationBalance { no_manipulative_option_framing: true; // All options equal weight no_hidden_defaults: true; // No pre-selected manipulative choices transparent_consequences: true; // User sees what each choice does } ``` **Questions to ask:** - [ ] Do we present all options with equal visual weight? - [ ] Are we hiding the "no thanks" option? - [ ] Do we use language to bias user toward our preferred choice? ### Mechanism #2: No Negative Reframing **❌ YouTube Shorts approach:** - No "I don't want Shorts" option exists - Users have to install blockers (extra effort) - Platform punishes opt-out with inconvenience **✅ Voice AI approach:** ```typescript async function handle_user_exit_choice(): Promise { // WRONG: "Are you sure? You'll miss out on..." // WRONG: "Leaving so soon? But we have more to show you..." // RIGHT: "Thanks for using our demo. Have a great day!" await end_conversation_positive_framing(); } ``` **Questions to ask:** - [ ] Do we punish users for choosing to exit? - [ ] Do we use FOMO language when users opt out? - [ ] Do we make exit harder than entry? ### Mechanism #3: No Artificial Time Pressure **❌ YouTube Shorts approach:** - Infinite scroll (no natural end) - Autoplay next video (no pause) - Endless recommendation loop **✅ Voice AI approach:** ```typescript interface SessionLimits { max_continuous_turns: number; // e.g., 5 session_time_limit_minutes: number; // e.g., 10 natural_stopping_points: boolean; // Offer exit after goal completion } ``` **Questions to ask:** - [ ] Do we create artificial urgency to keep users engaged? - [ ] Do we provide natural stopping points? - [ ] Can users pause or end sessions easily? ### Mechanism #4: Explicit Opt-Out Placement **❌ YouTube Shorts approach:** - NO opt-out option exists - Users forced to install third-party blockers - 616 HN upvotes for blocker = massive user demand **✅ Voice AI approach:** ```typescript function render_exit_controls(): React.Component { return (
{/* Exit button: ALWAYS VISIBLE, TOP RIGHT */} {/* Settings: Disable features */}
); } ``` **Questions to ask:** - [ ] Is exit/opt-out prominently visible? - [ ] Do users need third-party tools to disable our features? - [ ] Are we hiding controls in nested menus? --- ## The Voice AI Parallel: Don't Force Features **YouTube's mistake:** Force Shorts into every interface, provide no opt-out, wait for user revolt. **Voice AI equivalent:** ```typescript // WRONG: YouTube Shorts approach async function voice_ai_conversation_wrong(): Promise { // Force proactive suggestions (no opt-out) while (true) { await offer_proactive_suggestion(); // Can't disable await extend_conversation(); // No natural end await recommend_related_topics(); // Forced } // No exit control provided } // RIGHT: Layer 6 approach async function voice_ai_conversation_right(): Promise { const user_controls = get_user_controls(); for (let turn = 0; turn < user_controls.max_turns; turn++) { // User goal completed? Offer exit if (user_goal_completed) { const user_choice = await offer_exit_or_continue(); if (user_choice === "exit") break; } // Respect user opt-out preferences if (user_controls.proactive_suggestions) { await offer_suggestion(); // Only if user enabled } // Natural stopping point if (turn >= user_controls.max_continuous_turns) { await offer_session_break(); break; } } await end_conversation_gracefully(); } ``` **Key difference:** User controls engagement, not the platform. --- ## The Reddit / YouTube / TikTok Pattern All three platforms now face user/regulatory revolt for the same reason: **Platform:** Reddit **Violation:** Blocks Internet Archive (Article #171) **User impact:** Lose historical access **Hypocrisy:** Sells same content to Google for millions **Platform:** YouTube **Violation:** Forces Shorts, no opt-out (Article #172) **User impact:** Users build blockers (616 HN upvotes) **Hypocrisy:** Provides autoplay toggle but not Shorts toggle **Platform:** TikTok **Violation:** Infinite scrolling, addictive design (Article #169) **User impact:** EU bans infinite scroll, requires breaks **Hypocrisy:** Claims "user choice" while providing no opt-out **Pattern:** 1. Platform implements manipulative design 2. Platform refuses user controls 3. Users revolt OR regulators intervene 4. Platform forced to change **Voice AI demos: Learn from this pattern. Implement controls BEFORE revolt/regulation.** --- ## The 244 Stars Metric **Why does this matter?** 244 GitHub stars for a simple filter list. In days. **What this signals:** - High user demand for control - Willingness to install third-party tools - Frustration with platform refusal - Community maintenance when creator disappears **For Voice AI demos:** If users are starring GitHub repos that block your features, **you've lost Layer 6 (Dark Pattern Prevention).** **Prevention checklist:** - [ ] Build opt-out controls natively - [ ] Make exit easy and visible - [ ] Respect user autonomy - [ ] Don't wait for user revolt - [ ] Don't wait for regulation --- ## Implementation: The Exit Button The single most important Layer 6 control: **Make exit EASY, VISIBLE, and PROMINENT.** ```typescript // Voice AI Demo: Exit button implementation function ExitButton(): React.Component { return ( ); } ``` **What NOT to do** (YouTube Shorts approach): - ❌ Hide exit in nested menus - ❌ Make button small (8px font) - ❌ Use low contrast colors - ❌ Position at bottom (requires scroll) - ❌ No exit button at all (force third-party blockers) **What TO do** (Layer 6 approach): - ✅ Top right, always visible - ✅ Large, high contrast - ✅ Clear label ("End Conversation") - ✅ One click to exit - ✅ No confirmation modal (unless data loss risk) --- ## Users Are Blocking Shorts Because YouTube Won't Let Them Hide It. **The lesson for Voice AI demos:** When platforms don't give users control, users revolt. They build blockers. They upvote those blockers on HackerNews (616 points). They maintain those blockers when creators vanish. **YouTube chose:** Force features, ignore user demand, wait for revolt. **Voice AI demos should choose:** Build controls in, respect user autonomy, implement Layer 6 from day one. **Layer 6: Dark Pattern Prevention** means: 1. Equal conversational weight (no manipulation) 2. No negative reframing (no punishment for exit) 3. No artificial time pressure (natural stopping points) 4. **Explicit opt-out placement (EASY, VISIBLE exit)** **Implement all four mechanisms. Or become a case study in user revolt.** **616 HackerNews upvotes. 244 GitHub stars. Users are blocking Shorts because YouTube won't.** **Don't be YouTube.** --- **Nine-Layer Trust Architecture for Voice AI Demos:** | Layer | Article | Framework | Latest Application | |-------|---------|-----------|-------------------| | **6: Dark Pattern Prevention** | #165, #169, #172 | Four mechanisms | Users revolt against platforms that don't provide controls (YouTube Shorts blocker: 616 HN pts, 244 stars) | **Layer 6 mechanisms:** 1. Equal Conversational Weight 2. No Negative Reframing 3. No Artificial Time Pressure 4. **Explicit Opt-Out Placement** (YouTube violated this, users built blockers) **Implement Layer 6. Before users build blockers for your features.**
← Back to Blog