<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="https://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link href="https://www.tomsguide.com/feeds/tag/google" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from Tom's Guide in Google ]]></title>
                <link>https://www.tomsguide.com/tag/google</link>
        <description><![CDATA[ All the latest google content from the Tom's Guide team ]]></description>
                                    <lastBuildDate>Tue, 28 Jul 2026 04:30:00 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ I use Google's AI to thrift for my big family — these are the 5 features that actually save me money ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/i-use-googles-ai-to-thrift-for-my-big-family-these-are-the-5-features-that-actually-save-me-money</link>
                                                                            <description>
                            <![CDATA[ I use Google's AI tools to thrift smarter for my family of five. Here's how AI Mode, Lens and Circle to Search help me save money. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uZgbW3FtmD7tWN56Rx6DsP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/R5DsQDZQiHbg4VYdz3wLuL-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Tue, 28 Jul 2026 04:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/R5DsQDZQiHbg4VYdz3wLuL-1280-80.png">
                                                            <media:credit><![CDATA[Future/Amanda Caswell]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Inside thrift store]]></media:description>                                                            <media:text><![CDATA[Inside thrift store]]></media:text>
                                <media:title type="plain"><![CDATA[Inside thrift store]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/R5DsQDZQiHbg4VYdz3wLuL-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>This will come as a surprise to absolutely no one, but journalism isn't exactly the most lucrative career.</p><p>Even with freelance work and <a href="https://www.tomsguide.com/ai/google-gemini-is-basically-running-my-side-hustle-for-me-heres-how">side gigs</a>, raising three kids in central New Jersey is expensive. Over the past few years, thrifting has gone from something I did occasionally to one of the ways our family stretches the budget. I've picked up everything from furniture and dishes to kids' clothes — and when my son broke his ankle last fall, I even found a pair of crutches at a thrift store instead of paying full price.</p><p>The problem is that thrifting isn't always cheap if you're doing it inefficiently. I've spent entire Saturday mornings driving from store to store only to come home empty-handed. Other times I've found something that looked like a great deal, only to wonder later if I'd actually overpaid.</p><p>Lately, though, I've started leaning on <a href="https://www.tomsguide.com/ai/googles-ai-mode-is-changing-how-you-search-heres-how-it-works">Google's AI tools</a> before and during thrift runs, and they've genuinely made the experience easier. They won't magically guarantee you'll find the perfect vintage lamp or designer jacket, but they can help you decide where to shop, identify what you've found and even figure out whether something in your own house is worth selling.</p><p>Here are the<a href="https://www.tomsguide.com/phones/iphones/5-features-ios-26-needs-to-steal-from-google-to-catch-up-on-ai"> Google AI features</a> I actually use—and why they've earned a permanent spot in my thrifting routine.</p><h2 id="1-i-use-ai-mode-to-plan-before-i-ever-leave-the-house">1. I use AI Mode to plan before I ever leave the house</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:854px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="GajtJX53qNzCWAAUZdTgs3" name="Google Search AI Mode" alt="Google AI Mode Deep Search" src="https://cdn.mos.cms.futurecdn.net/GajtJX53qNzCWAAUZdTgs3.gif" mos="" align="middle" fullscreen="" width="854" height="480" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>One of the biggest mistakes I used to make was treating every thrift store the same. But that's not true at all! Some locations are packed with furniture. Others are better for kids' clothes, kitchenware or home decor. Without knowing which is which, I'd end up wasting time and gas bouncing between stores.</p><p>Now I start with Google's AI Mode in Search. That means, instead of typing simple keywords, I ask it questions the way I'd ask a friend. AI Mode pulls together recommendations, highlights nearby stores and links to additional information so I can decide where it's actually worth going.</p><p>No, it can't tell me exactly what's sitting on the shelves that day. But it gives me a much better starting point than guessing.</p><p>For example: </p><ul><li><em>"Which thrift stores near me usually have the best furniture?"</em></li><li><em>"Where can I find affordable kids' sports equipment?"</em></li><li><em>"Which thrift stores are worth visiting if I'm looking for home décor instead of clothes?"</em></li></ul><h2 id="2-google-lens-helps-me-figure-out-whether-i-found-a-hidden-gem">2. Google Lens helps me figure out whether I found a hidden gem</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6ofum5jHEC7JNr6nnmb9VQ" name="gemini google lens" alt="two screenshots from the google app showing how to go into google lens" src="https://cdn.mos.cms.futurecdn.net/6ofum5jHEC7JNr6nnmb9VQ.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google / Future)</span></figcaption></figure><p>If I spot an interesting serving dish, vintage picture frame, coffee maker or jacket, I'll snap a quick photo using Lens. Within seconds I can usually see similar items online, identify the brand or learn more about what I'm holding. Sometimes it confirms that I'm looking at something valuable. Other times it tells me I'm about to spend $15 on something that's selling for $12 everywhere else.</p><p>Either way, it's nice having a second opinion before heading to the checkout. That's where Google Lens has become incredibly useful.</p><p>If you've ever thrifted, you've probably had that moment where you pick something up and think:</p><p><em>"This feels expensive... but I have absolutely no idea."</em></p><h2 id="3-circle-to-search-helps-me-hunt-down-things-i-already-know-i-want">3. Circle to Search helps me hunt down things I already know I want</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:584px;"><p class="vanilla-image-block" style="padding-top:56.16%;"><img id="3DZa5sMSbqQFFa3hq63HSg" name="Circle to search" alt="Galaxy XR circle to search" src="https://cdn.mos.cms.futurecdn.net/3DZa5sMSbqQFFa3hq63HSg.gif" mos="" align="middle" fullscreen="" width="584" height="328" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Sometimes my thrift trips start long before I walk into a store.</p><p>I'll see a piece of furniture, a jacket or a lamp while scrolling online and think, <em>I'd love something like that — but not at that price.</em></p><p>Instead of trying to remember the name or manually searching for similar products later, I use Circle to Search.</p><p>I simply circle the item on my Android phone and Google pulls up visually similar products, pricing information and related styles.</p><p>That gives me a better idea of what I'm actually looking for before I head to thrift stores. If I know the brand or style, it's much easier to recognize it when I eventually spot one in person.</p><h2 id="4-virtual-try-on-takes-some-of-the-guesswork-out-of-vintage-shopping">4. Virtual Try-On takes some of the guesswork out of vintage shopping</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1101px;"><p class="vanilla-image-block" style="padding-top:53.04%;"><img id="my47KDrVFZTKQkfisLiHs7" name="Screenshot 2025-05-28 112614" alt="Amanda Caswell virtually trying on clothes" src="https://cdn.mos.cms.futurecdn.net/my47KDrVFZTKQkfisLiHs7.png" mos="" align="middle" fullscreen="" width="1101" height="584" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Buying secondhand clothing can be tricky because sizing is all over the place. A vintage size 12 might fit like today's size 6, and plenty of online thrift listings don't offer returns. Google's Virtual Try-On lets you upload a full-body photo and see how supported clothing items might look on you before you buy.</p><p>I wouldn't use it as the final word on whether something fits perfectly, but it's a surprisingly fun way to decide whether a particular style is actually something I'd wear, or whether it just looked good on someone else.</p><h2 id="5-lens-also-helped-me-realize-what-was-worth-selling">5. Lens also helped me realize what was worth selling</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1672px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="pFcGaSAQVEnZASrmKFqTCi" name="Thrift store" alt="thrift store items" src="https://cdn.mos.cms.futurecdn.net/pFcGaSAQVEnZASrmKFqTCi.png" mos="" align="middle" fullscreen="" width="1672" height="941" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future/Amanda Caswell)</span></figcaption></figure><p>One unexpected benefit of using Google Lens is that it works just as well on things you already own.</p><p>Every family eventually accumulates items that end up sitting in closets, basements or garages. Before automatically donating them, I'll sometimes scan them with Lens to see whether they're worth anything.</p><p>Sometimes the answer is no. But occasionally I'll discover that an older appliance, collectible or piece of furniture has more resale value than I expected.</p><p>That means I can decide whether to donate it, list it online or trade it in at a local resale shop — all with a little more confidence.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbDA6W"></div>                            </div>                            <script src="https://kwizly.com/embed/XbDA6W.js" async></script><h2 id="ai-won-t-replace-the-thrill-of-thrifting-but-it-can-make-it-smarter">AI won't replace the thrill of thrifting — but it can make it smarter</h2><p>Apparently I'm not the only person embracing secondhand shopping. According to Google Trends, searches for "how to thrift" reached an all-time high this year. Interest in "how to thrift online" has also surged, while searches for everything from vintage desks and sports jerseys to thrifted wedding dresses continue to climb.</p><p>That doesn't surprise me. When prices seem to go up every time I walk into a store, finding quality items secondhand feels less like a hobby and more like a smart financial decision.</p><p>Google's AI isn't going to uncover hidden treasure for you, that part still comes down to patience and a little luck. But after working these tools into my own routine, I spend less time driving to the wrong stores, make more informed buying decisions and feel more confident about what I'm bringing home.</p><p>For a busy family trying to stretch every dollar a little further, that's a win I'll happily take.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/claude/i-just-learned-your-claude-ai-chats-could-show-up-in-google-heres-how-to-check-yours"><strong>I just learned your Claude AI chats could show up in Google — here's how to check yours</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-searched-amazon-for-ai-written-books-and-it-was-much-harder-to-spot-them-than-i-expected"><strong>I searched Amazon for AI-written books — and it was much harder to spot them than I expected</strong></a></li><li><a href="https://www.tomsguide.com/ai/jimothy-the-viral-raccoon-is-100-percent-real-heres-whats-ai"><strong>Jimothy the viral raccoon is 100% real — here's what's AI</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Exclusive: Even Realities CEO slams Meta Ray-Bans — we 'don’t thrive on selling data’ ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/smart-glasses/exclusive-even-realities-ceo-slams-meta-ray-bans-we-dont-thrive-on-selling-data</link>
                                                                            <description>
                            <![CDATA[ In an exclusive interview, Even Realities CEO Will Wang calls out Meta and Google for using smart glasses cameras to harvest AI training data. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rNP2CmXQewD9VvS6GGbwkX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wG7trnSWcVe3rgLvvcqzHn-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 27 Jul 2026 11:46:09 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Glasses]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[VR &amp; AR]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/wG7trnSWcVe3rgLvvcqzHn-1280-80.jpg">
                                                            <media:credit><![CDATA[Future / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Even Realities G2 Smart Glasses]]></media:description>                                                            <media:text><![CDATA[Even Realities G2 Smart Glasses]]></media:text>
                                <media:title type="plain"><![CDATA[Even Realities G2 Smart Glasses]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wG7trnSWcVe3rgLvvcqzHn-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-at-a-glance"><span>At a glance</span></h3><ul><li><strong>The Conflict:</strong> Even Realities CEO Will Wang is calling out Meta and Google for forcing cameras onto smart glasses just to collect training data for future AI models.</li><li><strong>The Counter-Strategy:</strong> Even Realities' G1 and G2 smart glasses intentionally omit cameras and speakers, focusing instead on a text-based ambient HUD that prioritizes privacy, weight, and battery life.</li><li><strong>The Escalation:</strong> Even Realities has scaled its engineering team from 20 to nearly 400 people, gearing up to challenge Big Tech’s wearable AI dominance directly with its upcoming G3 hardware.</li></ul><p>While Silicon Valley races to strap cameras, speakers and multimodal surveillance tools onto our faces, one smart glasses maker is picking a fight direct with Big Tech’s entire playbook.</p><p>Meta, Google and Snap want you to believe that a front-facing camera is essential for the future of AI wearables. <a href="https://www.tomsguide.com/news/apple-glasses-details-just-revealed-by-bloomberg">Apple’s even rumored to be jumping in on this too</a>. But according to Will Wang, Founder and CEO of Even Realities, their camera obsession isn’t about giving you a better device today — it’s about harvesting your personal life to train their future AI models.</p><p>Following a major <a href="https://techcrunch.com/2026/07/06/smart-glasses-maker-even-realities-hits-1b-valuation-with-150m-funding-led-by-meituan-tencent/" target="_blank">$1 billion valuation round</a>, I sat down with Wang to talk about the design choices behind the <a href="https://www.tomsguide.com/computing/smart-glasses/even-realities-g2-smart-glasses-review">Even Realities G2</a> smart glasses. His message to the tech giants was loud, clear and strikingly defiant.</p><p><strong>Editor's note: </strong>This interview has been edited for brevity and clarity.</p><h2 id="the-endgame-trap">The ‘endgame’ trap</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZMnLQAX8D4hd8Dtgggi7En" name="meta 4.jpg" alt="Ray-Ban Meta Smart glasses" src="https://cdn.mos.cms.futurecdn.net/ZMnLQAX8D4hd8Dtgggi7En.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you ask Meta why the Ray-Ban Meta glasses feature an ultra-wide camera, they will point to visual AI — the ability for your glasses to see what you see and help in real-time.</p><div><blockquote><p>I feel these larger companies let their endgame thinking dictate their current products instead of focusing on making the perfect product for the present moment</p><p>Will Wang, Founder & CEO of Even Realities</p></blockquote></div><p>Wang sees this differently. In his view, companies like Meta and Google are letting their long-term corporate ambitions spoil their current hardware.</p><p>"When you look at the strategies of Snap, Google, or Meta, their long-term vision often overly influences their current generation of products," Wang explained. "For Google and Meta, they include a camera because they believe visual data will be crucial for AI in the future, and to reach that endgame, they need to enable visual capabilities and start gathering data now."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BR5qJseLxE3fwAfDXh8vCg" name="Snap Specs" alt="Snap Specs" src="https://cdn.mos.cms.futurecdn.net/BR5qJseLxE3fwAfDXh8vCg.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The result? Heavy, power-hungry devices designed for future data gathering rather than present-day wearability.</p><p>"I feel these larger companies let their endgame thinking dictate their current products instead of focusing on making the perfect product for the present moment," Wang noted. "For a hardware company, it is crucial that each generation does not sell a dream or an expectation, but sells the product as it is."</p><h2 id="we-thrive-on-making-good-products-not-selling-data">‘We thrive on making good products, not selling data’</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nHTtMnUwxDWxeCEyPVBxJK" name="Even Realities G2" alt="Even Realities G2" src="https://cdn.mos.cms.futurecdn.net/nHTtMnUwxDWxeCEyPVBxJK.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Even Realities took the opposite path with its glasses — completely stripping away cameras and speakers, and opting for a discreet heads-up display that delivers notifications, teleprompting, navigation and live conversation summaries in your field of view.</p><div><blockquote><p>From day one, even with the first-generation G1, we never had a camera.</p><p>Will Wang, Founder & CEO of Even Realities</p></blockquote></div><p>When I asked Wang if a camera prototype was ever on the table during internal testing, he shut the idea down immediately.</p><p>"From day one, even with the first-generation G1, we never had a camera," Wang said. "We feel that, at the current moment with the capability of AI, adding a camera onto a pair of glasses definitely introduces many more downsides than upsides."</p><p>Beyond the obvious hardware penalties (added weight, larger size and worse battery life), Wang pointed directly to the ethical and regulatory landmines that Big Tech seems content to ignore.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X85DNe"></div>                            </div>                            <script src="https://kwizly.com/embed/X85DNe.js" async></script><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yWxCs9FVYmYubmENP3mYQc" name="meta-glasses" alt="Meta Ray Ban glasses" src="https://cdn.mos.cms.futurecdn.net/yWxCs9FVYmYubmENP3mYQc.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / Lucy Scotting)</span></figcaption></figure><p>"The guardrails and regulations around how to properly use visual data with smart glasses have not been established," Wang pointed out. "So, we feel it's too early, too risky, and has too little upside for a company like ours that does not thrive on selling data. We thrive on making good products and making a profit from those products, so a camera was never in the discussion."</p><p>Instead of overpromising an invasive sci-fi feature set, Even Realities focused on what actually works today: crisp, text-based ambient computing that keeps you present in the real world without creeping out the people around you.</p><h2 id="david-vs-goliath-the-battle-for-g3">David vs. Goliath: the battle for G3</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="U4uTXoRhQuQQvNHG7QaVDK" name="Even Realities G2" alt="Even Realities G2" src="https://cdn.mos.cms.futurecdn.net/U4uTXoRhQuQQvNHG7QaVDK.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It’s easy to dismiss a startup taking anti-camera ideological stances against multi-trillion-dollar titans. But Even Realities is no longer just a niche player catering to early adopters.</p><div><blockquote><p>We are on the radar of a lot of these bigger players; they are already buying our products and trying to analyze our roadmap.</p><p>Will Wang, Founder & CEO of Even Realities</p></blockquote></div><p>While the original G1 was built by a scrappy skeleton crew, the company’s massive recent funding round has allowed them to quietly build a massive engineering war machine to prepare for their next generation of hardware: the Even Realities G3.</p><p>"To give you some context, when we built G1, our team was only 20 to 30 people," Wang revealed. "For G2, we had about 70 to 80 people... Now, for G3, we have 300 to 400 people globally working laser-focused on this single product line."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7dh8FRcHKmEzPNqjGmotNn" name="Even Realities G2 Smart Glasses" alt="Even Realities G2 Smart Glasses" src="https://cdn.mos.cms.futurecdn.net/7dh8FRcHKmEzPNqjGmotNn.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>That headcount puts Even Realities on a similar dedicated engineering scale to the smart glasses divisions that Apple, Meta or Google have — but with one massive structural advantage. While Big Tech giants split their resources across dozens of spatial computing projects, AR headsets and ad platforms, Wang’s team is focused solely on perfecting one lightweight, ambient device.</p><p>"We are on the radar of a lot of these bigger players; they are already buying our products and trying to analyze our roadmap," Wang said with a smile. "We really need to accelerate faster than before, and this round of fundraising actually gives us that. We are very confident."</p><h2 id="the-war-is-on">The war is on</h2><p>The smart glasses war is dividing into two distinct camps. On one side, Meta and Google want to turn your face into a sensor array to fuel their AI algorithms. On the other, Even Realities wants to give you a clean, distraction-free HUD that respects your privacy and actually looks like a normal pair of glasses.</p><p>If Will Wang has his way with the upcoming G3, the winner of the smart glasses revolution won’t be the company that records the most video of your daily life — it will be the one that lets you look the world in the eye without a camera watching back.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/smart-glasses/im-just-going-to-wear-this-for-30-minutes-for-fun-even-realities-cto-shares-his-thoughts-on-snap-specs-and-gives-details-on-upcoming-g3-smart-glasses">'136 grams is not for all-day wearing' — Even Realities CTO sounds off on Snap Specs, and gives details on the future roadmap</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/really-pushing-the-frontier-of-what-technology-can-deliver-snap-specs-product-head-reveals-the-challenges-in-designing-the-new-ar-glasses">'It’s going to be that shift from phones to glasses': Snap Specs chief on design, target audience and that $2,200 price tag</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/meta-smart-glasses-super-sensing-ai">I praised Meta’s smart glasses privacy update yesterday — today, its ‘super sensing’ glasses proved me completely wrong</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ These 7 Gemini prompts made me much more productive in Google Workspace — and they'll do the same for you ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/these-7-gemini-prompts-made-me-much-more-productive-in-google-workspace-and-theyll-do-the-same-for-you</link>
                                                                            <description>
                            <![CDATA[ Thanks to Gemini’s sidebar integration into Google Workspace and direct access to my files through the Gemini app, I’ve used these seven prompts to work smarter. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7VT62QNtgVWm29BCF93C4c</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DorVD2re8RAtdfnYZVhn25-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 26 Jul 2026 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/DorVD2re8RAtdfnYZVhn25-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[google workspace]]></media:description>                                                            <media:text><![CDATA[google workspace]]></media:text>
                                <media:title type="plain"><![CDATA[google workspace]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DorVD2re8RAtdfnYZVhn25-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There’s such an abundance of apps that can be connected to most of the AI tools you regularly use.</p><p>With ChatGPT, its<a href="https://www.tomsguide.com/ai/i-asked-chatgpt-for-the-best-iphone-productivity-apps-these-3-picks-earned-a-permanent-spot-on-my-home-screen"> library of plugins</a> covers the gamut of helping one tackle tasks aimed at productivity, creativity, developer tools, business & operations and more. Claude and Perplexity offer their own collection of <a href="https://www.tomsguide.com/ai/claude/getting-started-with-claude-connectors-how-to-control-apps-using-ai-prompts">“Connectors”</a> that incorporate the direct usage of third-party tools that make your personal and professional life more manageable.</p><p>I’ve already experimented with my fair share of those plugins and Connectors—they’ve all proven to me that being able to create a music playlist based on how I’m feeling, find the sort of podcasts that appeal to my hobbies & interests and check if an email is a scam are just a sample size of the great things they can do. In the case of Google Gemini, I hold it in high regard among today’s AI tools since it's directly accessible as a side panel within Google Workspace. And I love how you connect your Workspace account to the Gemini app to accomplish tasks in a quicker, more efficient manner.</p><p>With these seven prompts, I’ve built a system that allows me to make the most of Gemini’s Workspace collaboration and be all the more productive for it.</p><h2 id="gemini-is-now-a-central-part-of-my-google-workspace-activities">Gemini is now a central part of my Google Workspace activities</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:8120px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Mcdqc4nhurp3trVqwgRi3k" name="shutterstock_2728873527-2" alt="google gemini" src="https://cdn.mos.cms.futurecdn.net/Mcdqc4nhurp3trVqwgRi3k.jpg" mos="" align="middle" fullscreen="" width="8120" height="4567" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Connecting your Google Workspace apps to Gemini is as simple as signing into your Google account, heading into your “Settings” in Gemini (it’s the gear icon at the bottom left of the screen next to your account name) and clicking on “Activity” to make sure the “Keep Activity” toggle is turned on. Then go back to your Settings, select “Connected Apps” and toggle on the option for connecting your Google Workspace apps. </p><p>With Gemini’s help, I generated 7 prompts that handle all manner of tasks I present it with across Gmail and Google Docs. And most times, I click on the neon-colored Gemini icon across both apps to open its sidebar and do my prompting from there. </p><p>Other times, I access my Gmail and Docs directly through the Gemini app by using the “@” sign to mention specific emails and documents:</p><ul><li><strong>The Inbox Tamer (Gmail): </strong><em>Summarize this email thread into three to five short bullet points.</em></li><li><strong>The Unread Inbox Triage (Gmail): </strong><em>Summarize my unread emails over the last [timeframe]. Give me a bulleted list of the core updates and flag any direct questions or urgent action items I need to handle today.</em></li><li><strong>The Thread Decoder (Gmail): </strong><em>Review the long email thread in @Gmail with the subject "[subject line]". Give me a bulleted summary of the final consensus, and list out any remaining open questions.</em></li><li><strong>The Cross-Referencing Meeting Prep (Gmail and Docs): </strong><em>Look at the meeting agenda in @Docs titled "[name of document]". Then, check @Gmail for any recent updates from [colleague's name] about this project. What outstanding issues do I need to bring up in the meeting?</em></li><li><strong>The Meeting Prepper (Docs): </strong><em>Give me a briefing for my meeting today by summarizing the key points from this document and tell me the top questions I should be prepared to answer.</em></li><li><strong>The Brain-Dump to Structured Outline (Gmail): </strong><em>Take the rough notes from my email draft titled "[draft name]" in @Gmail and turn them into a structured outline for a project brief. Use clear headings for Objectives, Deliverables, and Next Steps.</em></li><li><strong>The Brutal Editor (Gemini): </strong><em>I need to send an email to [recipient name]. I've drafted it here: [paste draft]. Edit this to be 50% shorter, keeping only the essential information and a clear call to action. Remove conversational filler like 'I hope this finds you well.'</em></li></ul><h2 id="the-takeaway">The takeaway</h2><p>Gemini comes in clutch during those moments when I need a bit of clarification about my next assignment, meeting and actions to take from an important set of emails. It took me a while to get used to seeing that bright Gemini icon sitting atop my Gmail and Docs. But after giving Google’s AI tool an assortment of tasks, it turned out to be more of a reliable assistant than I expected. Applying those aforementioned Gemini prompts to your Gmail- and Docs-related duties should also prove equally beneficial.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/elon-musk-says-grok-is-making-a-historically-accurate-ai-odyssey-movie-heres-what-we-know" target="_blank">Elon Musk says Grok is making a 'historically accurate' AI Odyssey movie — here's what we know</a></li><li><a href="https://www.tomsguide.com/ai/microsoft-copilots-free-deep-research-ai-tool-is-going-away-these-are-the-7-best-free-alternatives" target="_blank">Microsoft Copilot’s free Deep Research AI tool is going away — these are the 7 best free alternatives</a></li><li><a href="https://www.tomsguide.com/ai/i-used-chatgpt-to-learn-about-world-brain-day-these-7-prompts-taught-me-how-to-improve-my-brain-health" target="_blank">I used ChatGPT to learn about World Brain Day — these 7 prompts taught me how to improve my brain health</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The one Google Maps tip everyone should know — how to blur your home in Street View ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/how-to-stop-google-maps-from-displaying-your-home-to-strangers</link>
                                                                            <description>
                            <![CDATA[ Learn how to hide your home on Google Maps and keep strangers from peeking at your property. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qQUwpKes8BNz2qis5rARRi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 25 Jul 2026 08:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Maps logo on phone with map in background]]></media:description>                                                            <media:text><![CDATA[Google Maps logo on phone with map in background]]></media:text>
                                <media:title type="plain"><![CDATA[Google Maps logo on phone with map in background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Type your address into Google Maps, switch to Street View, and there it is: a high-resolution photo of your front door, windows, and property line.</p><p>While it’s a convenient tool for navigating, it also means your home's exterior features are visible to anyone online. If you'd prefer to keep those details private, Google provides a straightforward, free way to handle it. </p><p>You can request to permanently blur your home from Street View, removing it from public view entirely. Here is how to get it done.</p><h2 id="how-to-hide-your-home-on-google-maps">How to hide your home on Google Maps</h2><p>You're best off using a desktop browser for this, as the blurring feature doesn't work as well on mobile. <strong>Go to </strong><a href="https://www.google.com/maps"><strong>maps.google.com</strong></a><strong> and search your home address</strong>. When your location appears, <strong>click the photo of your home displayed above your address</strong>. This opens Street View.</p><p>Once in Street View,<strong> look at the bottom-right corner for "Report a Problem" and click it</strong>. You'll see a red and black box overlaid on the image. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="AJSXyAJfXawn5y7EBwmtXR" name="Report a problem on Google Maps" alt="Report a problem on Google Maps" src="https://cdn.mos.cms.futurecdn.net/AJSXyAJfXawn5y7EBwmtXR.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>You'll see a red and black box overlaid on the image. <strong>Use your mouse to position this box</strong> so your home and anything else you want blurred is completely contained within it. The plus button zooms in, the minus button zooms out. Adjust until you've framed exactly what you want hidden.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="Wf2JYz3LfvZFKDB3NdMdbh" name="Requesting your home be removed from Google Maps" alt="Requesting your home be removed from Google Maps" src="https://cdn.mos.cms.futurecdn.net/Wf2JYz3LfvZFKDB3NdMdbh.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Below the image, <strong>choose what you're requesting to blur:</strong> A face, Your home, car/license plate, or A different object.<strong> </strong></p><p><strong>Select "Your home</strong>.<strong>" </strong>Google will ask for additional details, so be specific and thorough so they understand exactly what needs blurring. </p><p><strong>Provide your email address, complete the captcha if prompted, and click Submit</strong>.</p><p>Google will email you confirming they received the request. They may ask follow-up questions via email. There's no official timeline for approval, but most requests process within weeks. Once approved, the blur is permanent.</p><h2 id="what-you-need-to-know-before-requesting">What you need to know before requesting</h2><p>Google cautions that once something is blurred, it stays blurred permanently. You can't undo it. Make absolutely sure you've selected exactly what you want hidden before submitting. </p><p>If your request is denied, you can't resubmit the same image immediately. If approved, your home disappears from Street View everywhere, including past and future images.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OzrbaO"></div>                            </div>                            <script src="https://kwizly.com/embed/OzrbaO.js" async></script><p>Where do you stand? Drop your thoughts in the comments below 👇</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/computing/why-google-maps-keeps-sending-you-the-long-way-and-how-to-stop-it">Google Maps actually defaults to the slowest route now — here's how to fix it</a></li><li><a href="https://www.tomsguide.com/phones/my-favorite-google-maps-feature-is-the-one-that-lets-me-visit-a-world-that-doesnt-exist-anymore">I tried Google Maps hidden time machine feature — here's how to do it yourself</a></li><li><a href="https://www.tomsguide.com/phones/how-to-fix-the-maddening-google-maps-issue-where-preview-replaces-the-start-button">Google Maps only showing preview? Here’s how to get the start button back</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 13 years ago today, this $35 gadget changed the way we stream forever ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/13-years-ago-today-the-usd35-chromecast-changed-tv-forever</link>
                                                                            <description>
                            <![CDATA[ While it hasn’t lived on in its original form, Chromecast has left a legacy — and a technology platform — that continues to thrive on modern smart TVs. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wmhYB99bu69DcnNdBoGSNo</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/hLRDbZJxQHSXMLd4eWHoVR-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 06:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 11:21:10 +0000</updated>
                                                                                                                                            <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ Nick.Pino@futurenet.com (Nick Pino) ]]></author>                    <dc:creator><![CDATA[ Nick Pino ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/7xnnEdyK5eEbDVbS5pYB54.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick Pino heads up the TV and AV verticals at Tom&#039;s Guide and covers everything from OLED TVs to the latest wireless headphones. He&#039;s a Level 1 Certified THX Home Theater Professional, and has attended classes on TV and audio calibration. On Tom&#039;s Guide, he looks after some of the site&#039;s important buying guides like the best TVs, best OLED TVs, best 4K TVs, so most of his day is spent watching and evaluating new screens from LG, Samsung, Sony, Hisense, TCL and Vizio. (And yes, he knows how lucky he is to say that.) He was formerly the Senior Editor, TV and AV at TechRadar (Tom&#039;s Guide&#039;s sister site) and has previously written for GamesRadar, Official Xbox Magazine, PC Gamer and other outlets over the last decade. He got his start on Best Buy&#039;s official video game magazine, @GAMER, for whom he attended his first E3 in 2013. He&#039;s served as a judge for CES&#039; prestigious Innovation Awards and has attended the tech conference in Las Vegas since 2014. He has a computer science degree from the University at Buffalo and still resides in the Buffalo area. (Go Bills!) Not sure which TV you should buy? Drop him an email or tweet him on Twitter and he can help you out.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/hLRDbZJxQHSXMLd4eWHoVR-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A hand holding the first-generation Chromecast]]></media:description>                                                            <media:text><![CDATA[A hand holding the first-generation Chromecast]]></media:text>
                                <media:title type="plain"><![CDATA[A hand holding the first-generation Chromecast]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/hLRDbZJxQHSXMLd4eWHoVR-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It’s hard to remember a time before the Cast icon. It’s only been 13 since the debut of the <a href="https://www.tomsguide.com/us/google-chromecast,review-2123.html">Google Chromecast</a>, but it's one of the most universally known icons in the world of tech. It's so ubiquitous that you can't go more than a few minutes without seeing the logo on a smartphone or tablet.  </p><p>I watched the rise — and inevitable fall — of the Chromecast over the last decade-and-a-half as Tom’s Guide’s Managing Editor and TechRadar’s Senior TV Editor, and to commemorate its 13th birthday I’m throwing together a short retrospective on the device.</p><p>While it hasn’t lived on in its original form, Chromecast has left a legacy — and a technology platform — that continues to thrive on modern smart TVs. Here’s what you need to know (and what I can remember) about the streaming dongle that changed the tech landscape forever.</p><h2 id="the-origins-of-the-chromecast">The origins of the Chromecast</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ToTik8Us68QrC2gTACYZ2e" name="Google Chromecast.jpg" alt="Chromecast" src="https://cdn.mos.cms.futurecdn.net/ToTik8Us68QrC2gTACYZ2e.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The Chromecast wasn’t the first streaming stick on the market. That honor belongs to the <a href="https://www.tomsguide.com/us/roku-streaming-stick,review-2086.html">Roku Streaming Stick</a> that was released in 2012. But the Chromecast wasn’t trying to be just another player — in fact, not being a player at all is what made it so different. </p><div><blockquote><p>In fact, not being a player at all is what made it so different. </p></blockquote></div><p>The original Chromecast, by design, didn’t have a UI. It was simply a tool that could accept incoming links from a phone or tablet living on the same wireless network. With no remote, Google could sell this innocuous-looking piece of cutting-edge technology for just $35. </p><p>And sell it did — the first batch of models was snapped up by Google devotees. </p><p>According to an excellent write-up from <a href="https://www.fastcompany.com/90382120/google-chromecasts-surprising-origins-and-uncertain-future"><u>Fast Company</u></a> in 2019, Chromecast is the brainchild of Google’s Majd Bakar. Apparently the story goes that then-product manager Rishi Chandra’s wife and Majd Bakar’s wife would sit in front of their TVs with laptops watching YouTube videos. When asked why they didn’t just play them on the TV instead, Chandra’s wife said “It’s just too much of a pain.” Bakar, a Google engineer at the time, and Chandra then set off to make what would become the Chromecast in 2012, first as a side project, but later as a full-time job. </p><h2 id="the-evolution-of-the-chromecast">The evolution of the Chromecast</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:776px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="UKeVR7ezwyT6e8ry2KgYxP" name="birthday_party1.max-1000x1000.jpg" alt="Chromecast with Google TV, Chromecast Ultra and a Chromecast" src="https://cdn.mos.cms.futurecdn.net/UKeVR7ezwyT6e8ry2KgYxP.jpg" mos="" align="middle" fullscreen="" width="776" height="437" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Reviewers (our own Marshall Honorof included) liked the form factor, but had qualms about its usability. </p><p>In our original <a href="https://www.tomsguide.com/us/google-chromecast,review-2123.html"><u>Chromecast review</u></a>, we lauded its easy setup, but said that it was limited in its functionality compared to the competition — a fair, but cutting critique of a device that wanted to break the mold. </p><p>Google thankfully didn’t let a few critical reviews stop it from innovating on the product: We got the <a href="https://www.tomsguide.com/us/google-chromecast-2,review-3106.html">Chromecast 2</a> with a circular design in 2015 alongside the ill-fated <a href="https://www.tomsguide.com/us/google-chromecast-audio,review-3137.html">Chromecast Audio</a> and my personal favorite, the <a href="https://www.tomsguide.com/us/google-chromecast-ultra,review-4043.html">Chromecast Ultra</a>, in 2016. </p><p>In my review for <a href="https://www.techradar.com/reviews/roku-ultra">TechRadar</a>, I called the Chromecast Ultra “exceptionally smart, powerful and fast” and “hard to find a device that offers as much as Chromecast Ultra for the price.” </p><div><blockquote><p>The era of the smart TV had begun, and with its dawning, the need for a dedicated smart streaming stick had dissipated. </p></blockquote></div><p>By this time the Chromecast Ultra was under siege on all sides from both cheaper streaming sticks like the newly released Amazon Fire TV Stick and more competent high-end devices like the <a href="https://www.tomsguide.com/us/apple-tv-2015,review-3166.html">Apple TV HD</a>.</p><p>Google would eventually fire back with a third-generation Chromecast in 2018 and the oblong Chromecast with Google TV in 2020, but by this time streaming sticks were out of vogue. The era of the smart TV had begun, and with its dawning, the need for a dedicated smart streaming stick had dissipated. </p><h2 id="the-legacy-of-the-chromecast">The legacy of the Chromecast</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1189px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="aLsmZAK7a2GRKDxUn4jzDE" name="image1.jpg" alt="A demonstration of Google Cast functionality" src="https://cdn.mos.cms.futurecdn.net/aLsmZAK7a2GRKDxUn4jzDE.jpg" mos="" align="middle" fullscreen="" width="1189" height="669" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TCL)</span></figcaption></figure><p>Google finally killed off the Chromecast line in 2024 and while the hardware may no longer be in production, its software lives on: Google was so successful in the creation of Google Cast, the wireless communication protocol for the Chromecast, that we’re still using the functionality 13 years later in modern smart TV platforms. </p><p>In 2026, almost every major smart TV platform comes with Google Cast functionality built in. (One of the last holdouts, Samsung, officially added it to its Tizen smart TV platform earlier this year.) You can still find a few outliers like Roku OS and Amazon’s Fire TV platform that don’t support it but, by and large, Google Cast is now the universal screen sharing standard. That is a monumental legacy for a $35 streaming stick to leave behind.</p><div><blockquote><p>By and large, Google Cast is now the universal screen sharing standard. That is a monumental legacy for a $35 streaming stick to leave behind.</p></blockquote></div><p>As for what comes next for Google's TV division, it’s hard to say. The company released the <a href="https://www.tomsguide.com/reviews/chromecast-with-google-tv">Google TV Streamer 4K</a>, a more expensive competitor to the <a href="https://www.tomsguide.com/tvs/roku-ultra-2024-review">Roku Ultra</a>, in 2024, but it’s yet to see the same level of adoption as the Chromecast did a decade ago. </p><p>While it's sad that we'll likely never see another one, the legacy the Chromecast leaves behind cements it as one of the <a href="https://www.tomsguide.com/entertainment/streaming-devices/best-streaming-devices">best streaming devices</a> ever made.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ePaJpW"></div>                            </div>                            <script src="https://kwizly.com/embed/ePaJpW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/i-saw-sonys-bravia-9-ii-up-close-and-it-completely-shattered-my-expectations-heres-why-its-the-king-of-rgb-tvs">I saw Sony's Bravia 9 II up close and it completely shattered my expectations — here’s why it’s the king of RGB TVs</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H is 2026’s OLED to beat</a></li><li><a href="https://www.tomsguide.com/tvs/theres-a-better-cable-for-tvs-than-hdmi-but-heres-why-well-probably-never-use-it">There's a better cable for TVs than HDMI — but here's why we'll probably never use it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung just added Automated Tasks and Gemini Notebook to Galaxy Z Fold 8 — here's what these AI features let you do ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/samsung-just-added-automated-tasks-and-gemini-notebook-to-galaxy-z-fold-8-heres-what-these-ai-features-let-you-do</link>
                                                                            <description>
                            <![CDATA[ During this year’s Samsung Galaxy Unpacked event, the tech giant announced its plans to add two AI features to its latest smartphone lineup. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Wm3HrbZ9SPVkyWyQk85uaf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kxnxvDqWjQPYNdZftdvEUo-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/kxnxvDqWjQPYNdZftdvEUo-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[samsung galaxy z fold 8 ultra ai]]></media:description>                                                            <media:text><![CDATA[samsung galaxy z fold 8 ultra ai]]></media:text>
                                <media:title type="plain"><![CDATA[samsung galaxy z fold 8 ultra ai]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kxnxvDqWjQPYNdZftdvEUo-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There’s a whole lot to be excited about if you’ve been using Samsung’s signature lineup of smartphones.</p><p>With all the news emanating from this year’s Samsung Galaxy Unpacked event, it’s easy to see why — there’s a multitude of brand new smartphone models on the way with a host of Android-powered features that push its capabilities beyond the ones you’ve owned thus far. The unveiling of the <a href="https://www.tomsguide.com/phones/samsung-phones/major-samsung-galaxy-z-fold-8-leak-shows-off-the-unreleased-foldables-and-cases-heres-what-you-need-to-know">Samsung Galaxy Z Fold8 Ultra</a>, Fold8, and Flip8 showcased the consumer electronics company’s penchant for releasing some of the most impressive smartphones on the market.</p><p>And as expected, Samsung is tapping into the Google Android ecosystem to bring new forms of AI integration to its newest smartphones. Gemini Intelligence and Gemini Notebook (formerly known as <a href="https://www.tomsguide.com/ai/i-used-notebooklm-to-make-a-family-wiki-and-now-everything-i-need-to-run-the-household-is-a-click-away">NotebookLM</a>) will be a major part of your daily reliance on Samsung’s latest mobile devices, as they look to help you finish your everyday chores, handle extensive research and more.</p><h2 id="gemini-intelligence-and-gemini-notebook-inside-samsung-s-latest-phones">Gemini Intelligence and Gemini Notebook inside Samsung’s latest phones</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3245px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Rrhyzx7YMraziySwy7dRBX" name="Galaxy Z Fold 8-27" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/Rrhyzx7YMraziySwy7dRBX.jpg" mos="" align="middle" fullscreen="" width="3245" height="1825" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Task automation is the central theme when talking about what Gemini Intelligence is bringing to the new Samsung smartphone lineup.</p><p>While in beta, <a href="https://www.tomsguide.com/ai/google-just-revealed-gemini-intelligence-and-it-could-change-android-forever">Gemini Intelligence</a> could fulfill certain requests, such as ordering takeout or requesting a rideshare, through direct support from a group of apps. Now those day-to-day life tasks that you can relegate to Gemini Intelligence are getting even more app assistance, now that more than 40 apps have become compatible with that AI feature. Asking Gemini to order an item from Etsy is now possible, along with a host of other simple tasks — buying concert tickets, making dinner reservations and booking flights are among the many ways this new AI feature will improve your Samsung smartphone experience. </p><p>Gemini will also be able to see and understand what's on your screen as it acknowledges your requests and recognizes complex images as prompts. Plus, you’ll be able to open other apps, close your phone or follow the step-by-step progress of Gemini’s work while it attempts to complete your command. It’s worth noting that you can expand upon your latest prompt with an additional detail, which Gemini has no problem incorporating into its current task. Simply long-pressing the Flex Window’s power button on the Galaxy Z Flip8 lets you quickly access Gemini’s task automation feature.</p><p>As for what Gemini Notebook is bringing to the latest Samsung foldable smartphone collection, this AI tool will come pre-installed. Working with those models’ side-by-side screen as a mini-workspace is now possible with Notebook’s ability to answer questions about the topic you’re researching and the sources connected to that subject. And just like its desktop version, Notebook’s mobile iteration will integrate your uploaded documents, photos, whiteboard images, voice recordings and more into your research projects. Notebook’s chat functionality can take your research and transform it into different forms of study material, such as slide decks, videos, flash cards, quizzes and a podcast.</p><p>To give owners of the Galaxy Z Fold8 Ultra, Fold8 and Flip8 a peek into just how useful Notebook’s AI features can be, Samsung is giving them all a six-month trial of Google AI Pro on those phones. That subscription comes with even more useful Notebook features, which include Audio Overviews, Video Overviews, Slides, and more.</p><p>Other pieces of Samsung gear, such as the Galaxy Watch 9 and intelligent eyewear developed alongside major brands such as Gentle Monster and Warby Parker, will also come with their own Gemini-powered features.</p><h2 id="bottom-line">Bottom line</h2><p>With a newly announced array of foldable smartphones that make great use of Gemini Intelligence and Gemini Notebook, its users will be sure to grow accustomed to handling life’s simpler tasks and more complex ones with both AI tools at their disposal. Making one’s daily routine just a little less of a headache and more easily manageable with Google’s AI features makes Samsung’s newest smartphones a worthwhile pickup.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/google-gemini/i-hate-paying-for-calorie-tracking-apps-so-i-had-gemini-analyze-my-food-photos-instead-heres-what-it-found" target="_blank">I hate paying for calorie-tracking apps, so I had Gemini analyze my food photos instead — here’s what it found</a></li><li><a href="https://www.tomsguide.com/ai/i-replaced-my-notebook-with-an-ai-pen-for-a-month-heres-what-happened" target="_blank">I replaced my notebook with an AI pen for a month — here's what happened</a></li><li><a href="https://www.tomsguide.com/ai/i-used-this-ai-note-taker-to-record-my-meetings-for-a-week-and-it-made-my-workdays-more-focused-and-productive" target="_blank">I used this AI note taker to record my meetings for a week — and it made my workdays more focused and productive</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Maps is finally getting a speedometer on Android Auto, and it's about time — my ancient GPS system could do this 20 years ago ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/mobile-apps/google-maps-is-finally-getting-a-speedometer-on-android-auto-and-its-about-time-my-ancient-gps-system-could-do-this-20-years-ago</link>
                                                                            <description>
                            <![CDATA[ Google Maps is about to add a feature that has existed elsewhere in one way or another for decades — and it's about time. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">x9zxV8YJMpUm2mHAe5WD7E</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/SrbahT4f3zw4Lvh7nGKDti-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 20 Jul 2026 13:15:20 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mobile Apps]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/SrbahT4f3zw4Lvh7nGKDti-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[google maps logo on a phone screen]]></media:description>                                                            <media:text><![CDATA[google maps logo on a phone screen]]></media:text>
                                <media:title type="plain"><![CDATA[google maps logo on a phone screen]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/SrbahT4f3zw4Lvh7nGKDti-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you've ever looked at <a href="https://www.tomsguide.com/news/how-to-use-google-maps">Google Maps</a> while you're driving and thought to yourself, "why can't this app track my speed too?" then you're in luck. It seems Google is now starting to roll out live speedometer support to Google Maps for <a href="https://www.tomsguide.com/reference/android-auto-faq">Android Auto</a>, and I have to admit that it's about time too.</p><p>Part of me is surprised that it's taken Google Maps so long to implement this feature on Android Auto. After all, the app is constantly following your vehicle for its navigation, and I can't imagine being able to monitor and display a rough speed estimate would be too much extra work. </p><p>What's even weirder is that Google Maps added a speedometer on<a href="https://www.tomsguide.com/computing/mobile-apps/i-just-realized-how-bad-google-maps-is-on-carplay-why-does-it-look-so-terrible"> its CarPlay app</a> back in 2024, and it's been available on Waze for as long as I can remember. You'd have thought Google would prioritize its own primary platform, right? But that clearly wasn't the case.</p><p>I distinctly remember this feature was widely available on a multitude of pre-smartphone GPS units, and it was always interesting to see how much of a difference there was. The GPS typically had my speed a few miles per hour slower than the car itself, though in the interest of not being bombarded with enough tickets to lose my license I generally stuck with what the car had to say.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Wwq19X"></div>                            </div>                            <script src="https://kwizly.com/embed/Wwq19X.js" async></script><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="GCdmdtgeKwS2D5rTytTrrB" name="Android Auto update" alt="Android Auto update." src="https://cdn.mos.cms.futurecdn.net/GCdmdtgeKwS2D5rTytTrrB.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Then again, you need to remember that Google Maps took years to roll out support for speed limits and speed camera alerts — <a href="https://mashable.com/article/google-maps-speed-limits-speed-traps" target="_blank">which happened back in 2019</a>. So it's no surprise that some of these smaller features, like a GPS speedometer, haven't been top of the list of priorities. </p><p>Still reports suggest that it is rolling out, even if it hasn't reached my devices in the UK— which are running beta versions of Google Maps and Android Auto. Users on <a href="https://www.reddit.com/r/AndroidAuto/comments/1uzlb2l/google_maps_beta_speedometer_in_android_auto/" target="_blank">Reddit</a> have reported seeing the speedometer in their vehicles, with screenshots from Canada and India. </p><p>The Canadian user is specifically running version 26.29.02.946673643 of the Google Maps beta. That's the same version as me, though I am sadly missing this particular feature. </p><p>Do you see the speedometer in Android Auto yet? Let us know in the comments.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/massive-samsung-leak-reveals-official-galaxy-z-fold-8-fold-8-ultra-and-flip-8-images-ahead-of-unpacked">Massive Samsung leak reveals official Galaxy Z Fold 8, Fold 8 Ultra, and Flip 8 images ahead of Unpacked</a></li><li><a href="https://www.tomsguide.com/phones/my-favorite-google-maps-feature-is-the-one-that-lets-me-visit-a-world-that-doesnt-exist-anymore">I tried Google Maps hidden time machine feature — here's how to do it yourself</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-just-got-gemini-for-android-auto-in-my-car-and-i-cant-believe-how-much-better-it-is-than-google-assistant">I tested Google's new Gemini update for Android Auto and it finally fixes everything that made the old Google Assistant so frustrating to use while driving</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried Google Maps hidden time machine feature — here's how to do it yourself ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/my-favorite-google-maps-feature-is-the-one-that-lets-me-visit-a-world-that-doesnt-exist-anymore</link>
                                                                            <description>
                            <![CDATA[ Google Maps gets me where I need to go, but my favorite tool is the one that shows me where I've been. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">iAqc7YUnHFcnvqDoT7eVLN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 17 Jul 2026 11:05:18 +0000</pubDate>                                                                                                                                <updated>Fri, 17 Jul 2026 15:35:46 +0000</updated>
                                                                                                                                            <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Maps logo on phone with map in background]]></media:description>                                                            <media:text><![CDATA[Google Maps logo on phone with map in background]]></media:text>
                                <media:title type="plain"><![CDATA[Google Maps logo on phone with map in background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Like millions of other people, I use Google Maps regularly. I use it to find the fastest route to the grocery store, or avoid traffic jams on my morning commute. It has mostly been a purely functional tool for me, to get from point A to point B.</p><p>Recently I stumbled into a feature that completely changed how I look at the app. There's a hidden digital time machine. </p><p>It turns out that Google has been busy archiving decades of panoramic Street View imagery. And while we've been busy navigating our daily lives, Google’s camera cars have been building a massive, visual history of our world. </p><p>When I realized I could access this archive, I didn't go looking at famous landmarks or changing city skylines. I, of course, went straight to my childhood home.</p><h2 id="how-to-unlock-the-time-machine-yourself">How to unlock the time machine yourself</h2><p>If you want to go on your own digital nostalgia trip, the process is incredibly simple, though Google keeps the controls relatively quiet. To start your journey, <strong>open Google Maps on your computer and search for an address</strong>. </p><p>Once the location loads,<strong> </strong>look to the bottom right corner of your screen and<strong> grab the little yellow silhouette figure</strong>, known as Pegman, <strong>and drop him directly onto the blue-highlighted street</strong> in front of your destination to enter Street View.</p><p>Once you are standing on the digital street, look up at the top-left corner of your screen where the address box is located. You will spot a small clock icon accompanied by the words <strong>"See more dates." </strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GRnU9u3V7wMJ7yacAVhQLa" name="How to travel in time using Google Maps" alt="How to travel back in time using Google Maps" src="https://cdn.mos.cms.futurecdn.net/GRnU9u3V7wMJ7yacAVhQLa.jpg" mos="" align="middle" fullscreen="" width="4000" height="2250" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Clicking on that icon will open a window at the bottom of your screen featuring the archived images throughout the years, depending on how often the Google car has driven down that specific road. </p><p>If you are using the Google Maps app on your phone, you can achieve the same effect by <strong>tapping anywhere on the screen while in Street View</strong>, which will bring up a menu card at the bottom. <strong>Tapping "See more dates" </strong>on that card will reveal a scrollable carousel of past years, allowing you to swipe back in time with your thumb.</p><p>Google Maps is brilliant at showing us how to get to where we are going. But if you know where to look, it is even better at reminding us of where we used to be.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W2d18X"></div>                            </div>                            <script src="https://kwizly.com/embed/W2d18X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/computing/why-google-maps-keeps-sending-you-the-long-way-and-how-to-stop-it">Google Maps actually defaults to the slowest route now — here's how to fix it</a></li><li><a href="https://www.tomsguide.com/phones/how-to-fix-the-maddening-google-maps-issue-where-preview-replaces-the-start-button">Google Maps only showing preview? Here’s how to get the start button back</a></li><li><a href="https://www.tomsguide.com/computing/google-has-been-hiding-a-flight-simulator-for-20-years-now-its-free-on-the-web">Google has been hiding a flight simulator for 20 years and now it's free on the web — here's how to use it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The unexpected reason your ChatGPT prompts could make your groceries more expensive ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/the-unexpected-reason-your-chatgpt-prompts-could-make-your-groceries-more-expensive</link>
                                                                            <description>
                            <![CDATA[ A new study links AI's growing electricity use to climate impacts that could affect bee populations. Here's what researchers found — and what it means for ChatGPT users. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">WQAf7YTMRaaGoRX5DXbjkT</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/oRzjsx4dDAjSJiMPnNNSTD-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 16 Jul 2026 17:43:50 +0000</pubDate>                                                                                                                                <updated>Thu, 16 Jul 2026 18:17:33 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/oRzjsx4dDAjSJiMPnNNSTD-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Amanda Caswell shopping while wearing Ray-Ban Meta Display glasses]]></media:description>                                                            <media:text><![CDATA[Amanda Caswell shopping while wearing Ray-Ban Meta Display glasses]]></media:text>
                                <media:title type="plain"><![CDATA[Amanda Caswell shopping while wearing Ray-Ban Meta Display glasses]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/oRzjsx4dDAjSJiMPnNNSTD-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's <a href="https://nationaldaycalendar.com/celebrations/national-ai-day-july-16" target="_blank">National AI Day</a>, which probably feels like a made-up holiday, especially if you're a..bee? Let me explain. As AI gradually becomes part of everyday life and millions of us use ChatGPT for dozens of reasons, it's important to understand why this day of awareness might be better spent considering the environmental impacts of AI that reach far beyond the<a href="https://www.tomsguide.com/ai/this-ai-data-center-will-be-bigger-than-2-000-walmarts-and-dump-23-atom-bombs-worth-of-energy-into-the-environment-every-day-and-locals-are-terrified"> walls of a data center</a>. <br><br><a href="https://www.sydney.edu.au/news-opinion/news/2026/06/16/why-some-bees-are-more-at-risk-from-climate-change-than-others.html" target="_blank">Researchers at the University of Sydney </a>say the rapid growth of AI is driving a surge in electricity demand, and if that electricity comes from fossil fuels, the resulting emissions could contribute to climate change in ways that threaten one of the world's most important pollinators: <strong>bees</strong>.</p><p>The growing energy demands of AI could contribute to climate warming, which in turn puts additional stress on bee populations. Simply put: less bees, more expensive food. </p><p>Here's what the research found.</p><h2 id="why-ai-uses-so-much-electricity">Why AI uses so much electricity</h2><p>Traditional internet searches already require <a href="https://www.tomsguide.com/ai/i-kept-hearing-that-ai-data-centers-are-draining-towns-dry-so-i-looked-at-the-evidence">large data centers</a> to process and return results. Generative AI adds another layer of computation.</p><p>According to the study, generating an AI response can require significantly more <a href="https://www.tomsguide.com/ai/the-ai-boom-is-driving-up-electricity-bills-heres-what-you-need-to-know">computing power </a>than a conventional web search, meaning each interaction uses more electricity. As AI adoption accelerates, so does the demand for new data centers capable of supporting those workloads.</p><p>The <a href="https://www.iea.org/reports/energy-and-ai/executive-summary" target="_blank">International Energy Agency</a> has also projected that electricity consumption from data centers will more than double by the end of the decade, with AI expected to account for a substantial share of that growth.</p><p>That doesn't automatically translate into higher emissions. It depends on <a href="https://www.tomsguide.com/ai/elon-musks-latest-usd1-billion-purchase-isnt-ai-chips-its-gas-turbines">how those facilities are powered.</a> Data centers running on renewable energy have a much smaller carbon footprint than those relying on electricity generated from coal or natural gas.</p><h2 id="what-bees-have-to-do-with-ai">What bees have to do with AI</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1644px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="teCWwH6w9kLpTzvFHXHjHW" name="Secrets of the Bees" alt="A bee, yesterday" src="https://cdn.mos.cms.futurecdn.net/teCWwH6w9kLpTzvFHXHjHW.png" mos="" align="middle" fullscreen="" width="1644" height="924" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nat Geo/ Disney+)</span></figcaption></figure><p>Bees are surprisingly sensitive to temperature. Even relatively small increases in average temperatures can affect their ability to reproduce, survive and pollinate crops. Previous research has shown that heat stress can reduce sperm viability in male bees, increase mortality during development and make colonies more vulnerable to parasites and disease.</p><p>The University of Sydney researchers modeled how emissions from AI-related electricity use could contribute to future warming. Their estimates suggest the additional warming could be enough to place millions of bees under increased heat stress each year.</p><p>The study looks at the cumulative effect of billions of AI requests, expanding data-center infrastructure and the emissions associated with powering those systems over time.</p><h2 id="why-this-matters-to-your-wallet-and-food-on-your-plate">Why this matters to your wallet and food on your plate</h2><p>Bees pollinate many of the fruits, vegetables and nuts that people eat every day. When bee populations decline, agriculture becomes more vulnerable. Lower pollination rates can reduce crop yields, increase food prices and disrupt ecosystems that depend on healthy pollinator populations.</p><p>Researchers estimate that pollinators contribute billions of dollars in agricultural value every year, making their health an environmental and economic concern.</p><p>The researchers argue that the bigger issue isn't AI itself but how it's powered. Many of the world's largest technology companies are investing heavily in renewable-powered data centers, advanced battery storage and more efficient cooling systems to reduce emissions. At the same time, <a href="https://www.tomsguide.com/news/qualcomm-snapdragon-8-gen-2">chip manufacturers </a>continue to improve the energy efficiency of AI hardware, allowing newer systems to perform more work using less electricity.</p><p>There's also growing interest in <a href="https://www.tomsguide.com/ai/why-im-quitting-big-ai-this-earth-day-and-the-smaller-tools-im-using-instead">smaller AI models that can run directly on laptops </a>or smartphones instead of relying entirely on cloud-based servers, reducing the need for massive centralized computing resources for some tasks.</p><p>These changes won't eliminate AI's environmental footprint, but they could significantly reduce it over time.</p><h2 id="the-takeaway-2">The takeaway </h2><p>For most people, the environmental impact of an occasional AI prompt is extremely small. The researchers aren't suggesting consumers stop using AI altogether. But this is a cautionary tale. The study highlights a broader challenge facing the technology industry: making sure the infrastructure powering AI grows in a sustainable way.</p><p>As AI becomes integrated into everything from search engines to smartphones, the environmental cost will increasingly depend on decisions made by technology companies, energy providers and policymakers. </p><p>The takeaway here is that the future of AI depends on building smarter models while also powering them responsibly</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/someone-created-a-ghost-font-that-humans-can-read-but-ai-cant-i-had-to-try-it-for-myself">Someone created a 'Ghost Font' that humans can read but AI can't — I had to try it for myself</a></li><li><a href="https://www.tomsguide.com/ai/the-end-of-forgetting-why-ais-perfect-memory-is-a-psychological-trap">The end of forgetting: Why AI’s perfect memory is a psychological trap</a></li><li><a href="https://www.tomsguide.com/ai/i-just-found-a-free-way-to-watch-youtube-without-ads-and-it-doesnt-require-youtube-premium">I just found a free way to watch YouTube without ads — and it doesn't require YouTube Premium</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Exclusive: Inside Google’s plan to win over your face with AI glasses — and avoid Meta's privacy missteps ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/smart-glasses/exclusive-inside-googles-plan-to-win-over-your-face-with-ai-glasses-and-avoid-metas-privacy-missteps</link>
                                                                            <description>
                            <![CDATA[ I spoke with Google’s XR product chief Juston Payne about the new 'Intelligent Eyewear' launching this fall, the hard lessons of Google Glass, and how Google plans to navigate thorny privacy issues and take on Meta and Apple. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">eY8tfzEzPgcYi6hsKGqs6d</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pL3bHvS54RUPPMxLNFkPxR-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 16 Jul 2026 15:25:15 +0000</pubDate>                                                                                                                                <updated>Fri, 17 Jul 2026 11:08:08 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Glasses]]></category>
                                                    <category><![CDATA[Google Gemini]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                    <category><![CDATA[VR &amp; AR]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pL3bHvS54RUPPMxLNFkPxR-1280-80.jpg">
                                                            <media:credit><![CDATA[Google]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Intelligent Eyewear concept video stills]]></media:description>                                                            <media:text><![CDATA[Google Intelligent Eyewear concept video stills]]></media:text>
                                <media:title type="plain"><![CDATA[Google Intelligent Eyewear concept video stills]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pL3bHvS54RUPPMxLNFkPxR-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>This is very much not Google Glass 2.0. Google is entering the AI smartglasses arena this fall to go up against Meta (and whatever Apple is cooking), and it’s partnering with Samsung, Warby Parker and Gentle Monster to make “Intelligent Eyewear” powered by Android XR.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/33Sx5FyYrg4" allowfullscreen></iframe></div></div><p>As you might expect, Gemini is the headline feature. Having a smart assistant as your literal eyes has the potential to help you get a lot done on the go without having to constantly whip out your phone. But Juston Payne, who leads the product management team for XR at Google, also knows that the smart glasses category is fraught with controversy, especially over how to handle recording in public and user privacy.</p><p>“If people don't feel comfortable wearing these glasses, and privacy is part of this, they just won't wear the glasses. It’s as simple as that,” Payne said.</p><p>I had a chance to sit down with Payne to discuss these issues and a lot more ahead of the Intelligent Eyewear launch, including how to design for the masses, the roadmap to built-in displays and the totally separate Android XR spatial computing glasses coming from Xreal this year.</p><h2 id="the-lessons-of-google-glass">The lessons of Google Glass</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:775px;"><p class="vanilla-image-block" style="padding-top:64.52%;"><img id="CwDkA8mS3z2mknLGPrYAd5" name="Google-Glass-G02.jpg" alt="Google Glass" src="https://cdn.mos.cms.futurecdn.net/CwDkA8mS3z2mknLGPrYAd5.jpg" mos="" align="middle" fullscreen="" width="775" height="500" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The original Google Glass </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Anyone old enough to remember the original Google Glass from 2012 probably remembers them for embarrassing reasons.</p><div><blockquote><p>The trouble was that the vision was good, but the reality was that the tech just wasn't quite there yet.</p><p>— Juston Payne, Google</p></blockquote></div><p>For me, my mind instantly goes to that infamous photo of Robert Scoble in the shower, which became a symbol for the device’s voyeuristic dangers. And then there’s that <a href="https://www.youtube.com/watch?v=5Uz3cwHT0S0"><u>SNL Weekend Update bit,</u></a> during which Fred Armisen lampooned how difficult the interface was to use.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1024px;"><p class="vanilla-image-block" style="padding-top:75.00%;"><img id="fz4XBcbPXhwgcdeHuyGDSG" name="Robert Scoble Shower Google Glass" alt="Infamous photo of Robert Scoble using Google Glass in the shower" src="https://cdn.mos.cms.futurecdn.net/fz4XBcbPXhwgcdeHuyGDSG.jpg" mos="" align="middle" fullscreen="" width="1024" height="768" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Robert Scoble)</span></figcaption></figure><p>I asked Payne directly about the lessons of Google Glass, and he admits that they were ahead of their time. </p><p>“The trouble was that the vision was good, but the reality was that the tech just wasn't quite there yet,” Payne said.</p><p>He cites three reasons for the Google Glasses flop that Intelligent Eyewear hopes to get right. First was the nerdy form factor. They didn’t really look like regular glasses. There was also a lack of content, which you now get with Android XR. And the third thing is versatility, which AI brings to the table. </p><p>“So there were these huge building blocks missing,” Payne said, “Hardware, platform, AI.”</p><p>And that brings us to the present…</p><h2 id="what-does-intelligent-eyewear-do">What does Intelligent Eyewear do?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hckNM3nJS8FwPGcUgvvux3" name="Android XR" alt="Android XR" src="https://cdn.mos.cms.futurecdn.net/hckNM3nJS8FwPGcUgvvux3.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For the first round of Intelligent Eyewear, the glasses will be audio-only. Glasses with single and dual displays will be coming later, though Google will start offering a trusted tester program sometime this year.</p><p>In the meantime, the glasses coming this year from Samsung, Gentle Monster and Warby Parker will leverage Android XR to (hopefully) make your day easier by having Gemini always at the ready.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/UEswpQqy4jbhjpZTmXWKiF/glass-use-case-translate-desktop-16-9-1440w-2x-av1.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/UEswpQqy4jbhjpZTmXWKiF/glass-use-case-translate-desktop-16-9-1440w-2x-av1.mp4"></video></div><p>“Gemini can take your personal context — we call it personal intelligence — and then it can start feeding that into your experience,” Payne said. “These glasses are designed to give you ambient assistance throughout the day while keeping you connected to your digital world and the real world.”</p><p>For example, because Gemini has personal intelligence built in, it knows you, and you can ask about what’s on your calendar, the score of a sports game or a random fact. </p><p>“Just having a real-time conversational interface all day long is incredibly valuable for a lot of people,” Payne continued. For example, when Payne is driving with Intelligent Eyewear on he can ask about other podcasts Gemini might recommend based on the one he’s currently listening to and do it on the fly.</p><p>Payne cited a couple other major use cases for Intelligent Eyewear. The first is navigation, such as looking up a local restaurant that might be good around you. </p><p>“The audio experience for that is fantastic,” Payne said. “It uses the camera to localize you, so it knows that you're pointing in the right direction. It can give you contextual navigation to help you get to where you're going without being vague, you know, like ‘turn right there.’”</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/T4WgRFUmX6mWbYzPMYe2Ka/glass-use-case-search-desktop-16-9-1440w-2x-av1.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/T4WgRFUmX6mWbYzPMYe2Ka/glass-use-case-search-desktop-16-9-1440w-2x-av1.mp4"></video></div><p>Translation is another potential killer app for Intelligent Eyewear, promising a quick “UN translator experience.” And when you’re cooking you can get step-by-step instructions even without a display.</p><p>But Payne argues that display glasses are nice to have as opposed to a must-have, such as seeing that your upcoming turn is 300 feet away.</p><p>“We think of the display more as almost an augmentation to the audio experience rather than something that is a hard dependency in many cases,” Payne said.</p><h2 id="design-first-features-second">Design first, features second</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/JAUXGqrSP8tuky5NdrXjbN.jpg" alt="Warby Parker Intelligent Eyewear" /><figcaption><small role="credit">Warby Parker</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LbhEpwE4ZhWXfiNTETwcbN.jpg" alt="Gentle Monster Intelligent Eyewear" /><figcaption><small role="credit">Gentle Monster</small></figcaption></figure></figure><p>Anyone who has been paying attention to the smart glasses market knows that there’s a sliding scale of geekiness. The Ray-Ban Meta glasses and Meta Glasses look very much like regular sunglasses or glasses. But the Meta Ray-Ban Display glasses are bulkier, and the even more ambitious Snap Specs look pretty geeky with their extra-wide frames.</p><div><blockquote><p>Can we make a product that is genuinely valuable for people so that if they walk out of their house and they forgot them, they'll actually go back and get them?</p><p>— Juston Payne, Google</p></blockquote></div><p>For Google, the approach is pretty simple: they have to be great glasses first. </p><p>“We lead with design and then we ask the question ‘what can you make within the constraints of a great design?’” Payne said. “Can we make a product that is genuinely valuable for people so that if they walk out of their house and they forgot them, they'll actually go back and get them?”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BR5qJseLxE3fwAfDXh8vCg" name="Snap Specs" alt="Snap Specs" src="https://cdn.mos.cms.futurecdn.net/BR5qJseLxE3fwAfDXh8vCg.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Snap CEO Evan Spiegel wearing Snap Specs </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The early design from Gentle Monster has chic oval-shaped lenses that wouldn’t look out of place on a runway, while the Warby Parker design is a bit chunkier and more retro. They both feature dual cameras, but they look a bit more discreet on the Gentle Monster specs.</p><p>Google doesn’t seem willing to push the limits and risk the sort of backlash the Snap Specs have been getting for their overtly techy look.</p><p>“If you make a product that provides really novel new experiences, people might be willing to tolerate a design that has some larger compromises. I think it's great that people are out there testing that theory. It's just not the approach that Google's taking. We're really leading with design,” Payne said.</p><h2 id="major-privacy-landmines-and-what-google-is-doing-about-it">Major privacy landmines — and what Google is doing about it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KE83H8jLeoNWVUT2HH745U" name="Meta Ray-Ban Gen 2_LIST" alt="Tom's Guide's Mike Prospero wearing the Meta Ray-Ban (gen 2) smart glasses" src="https://cdn.mos.cms.futurecdn.net/KE83H8jLeoNWVUT2HH745U.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Meta Ray-Ban (gen 2) smart glasses </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>By now you’ve probably heard some of the horror stories coming out of the Meta glasses camp around privacy concerns, including <a href="https://nypost.com/2025/09/01/lifestyle/i-went-to-a-spa-for-a-brazilian-wax-but-i-was-shocked-by-what-the-worker-was-wearing/"><u>a woman who discovered her esthetician was wearing Meta’s Ray-Ban glasses</u></a> at a European Wax Center in Manhattan. And <a href="https://www.404media.co/metas-ray-ban-glasses-users-film-and-harass-massage-parlor-workers/"><u>404 Media</u></a> reported on how men were wearing the glasses to covertly film massage parlor workers.</p><p>Then there’s the black market that sprung up around disabling the LEDs on Meta glasses so that others don’t know that you’re recording. Meta recently attempted to close this loophole with a software update that automatically disables the cameras if the LED has been tampered with or destroyed.</p><p>It’s safe to say that Google is walking into a minefield of privacy concerns, but the company has a plan to address them.</p><p>“If people don't feel comfortable wearing these glasses, and privacy is part of this, they just won't wear the glasses. It’s as simple as that,” Payne said.</p><p>To help combat some of the concerns people have about these issues, Google is starting by making sure that Intelligent Eyewear users are signaling to the people around them when they are recording and that the LED is accurate. </p><p>Payne told us that Google will share more details later this year around how they ensure this accuracy, but the bottom line is that the light should be on if whatever you’re recording or shooting can be reviewed later.</p><p>Google will also be employing Android permission frameworks to help protect users, as well as other security and privacy techniques already on your phone. </p><p>Lastly, Google is “investing to make it so that the hardware itself holds up,” Payne said. “So if people try to mess around with it somehow, we have ways of detecting that.”</p><h2 id="google-vs-meta-vs-apple">Google vs. Meta vs. Apple</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1384px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="6JcBdfjD9WrKrKamaijHRW" name="dji_mimo_20260622_150958_20260622150958_1782166924174_photo" alt="Meta Glasses by Kylie" src="https://cdn.mos.cms.futurecdn.net/6JcBdfjD9WrKrKamaijHRW.jpg" mos="" align="middle" fullscreen="" width="1384" height="778" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Meta Glasses by Kylie </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Launching in 2023 and with over 9 million units sold already, it’s fair to say that Meta has had a pretty big head start with its Ray-Ban glasses and other eyewear, but Google is pretty confident that it can make a splash in what is still a pretty nascent market.</p><p>I asked Juston directly about his largest competitor and he told me that “Meta’s doing a great job” with “very nice glasses.” But while the Meta glasses are good for things like photos, videos, calls and music, Google is taking a different approach with Gemini front and center.</p><div><blockquote><p>"I'm sure that [Apple] will provide very real competition for everybody else playing in the space.”</p><p>— Juston Payne, Google</p></blockquote></div><p>“We think a lot about moments throughout the day. And these moments throughout the day are really the things that are driving our approach to the platform. ‘How does Gemini show up in glasses? What kinds of hooks are we making from Gemini into apps? How are apps making themselves available to Gemini? So so much of our thinking is about versatility.”</p><p>That thinking includes making things super easy for developers to get their apps running in Android XR, while Meta’s app ecosystem is still fairly skimpy.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="CHpzBHQrrb2P7UmNsmTzwR" name="Google Intelligent Eyewear-3" alt="Google Intelligent Eyewear concept video stills" src="https://cdn.mos.cms.futurecdn.net/CHpzBHQrrb2P7UmNsmTzwR.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>“The platform will know if their app, which is running on the phone, is talking to audio glasses or glasses with a display, and it'll tailor that app experience for it,” Payne said. “So that means that developers really only build once. They just build an Android app, and then we take care of the rest.”</p><p>Payne also is acutely aware of the fact that Apple is working on its own Apple Glasses, which will likely debut in 2027. And it will be taking the same vertically oriented approach it has with all of its other products: Apple’s own design. Apple’s software. Apple’s ecosystem.</p><p>“Apple has a very strong track record,” Payne said, “and I think that one thing that Apple has always done well is that they play to their strengths. I would expect that they'll keep doing that. And I'm sure that they'll provide very real competition for everybody else playing in the space.”</p><p>The difference between what Google is doing with Android XR and Intelligent Eyewear and what Apple is doing is that Google is building a multi-partner platform, while Apple is focusing on making a product. </p><p>“So each time that these categories come along, Google makes a platform and there's a lot of value. Google's a partnership company. And as you look through when we've done best, it's when we partner.”</p><p>At the same time Payne shared that Google has a lot of “skin in the game” with its first-party apps, including Gemini, Google Maps and Google Translate.</p><p>Despite being a fierce Apple competitor, Google is working hard to make sure that Intelligent Eyewear devices work well with the iPhone, though there will be some platform-level restrictions the company may not be able to work around.</p><h2 id="aura-farming">Aura farming</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sSPAhVCnRZnHiCqpNDaL79" name="Xreal Project Aura" alt="Xreal Project Aura" src="https://cdn.mos.cms.futurecdn.net/sSPAhVCnRZnHiCqpNDaL79.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Xreal Aura </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Google’s partnerships extend to companies like Xreal, an early pioneer in the smart glasses space, and they are collaborating on spatial computing glasses that attempt to squish pretty much all the functionality of the Samsung Galaxy XR headset into a pair of fairly sleek specs.</p><p>However, while Intelligent Eyewear works with your Android phone or iPhone, the Xreal Aura are wired glasses that connect to a computing puck. Coming this fall, the glasses promise an immersive see-through display and AI assistance from Gemini.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7642331841629867278" data-video-id="7642331841629867278" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@tomsguide" href="https://www.tiktok.com/@tomsguide">@tomsguide</a>                            <p></p><a target="_blank" title="♬ Stranger Things ∙ Season 5 - DreamyBeats" href="https://www.tiktok.com/music/Stranger-Things-∙-Season-5-7586295185350543377">♬ Stranger Things ∙ Season 5 - DreamyBeats</a></section>                    </blockquote></div>                <p>You can work across multiple virtual monitors, experience over 100 apps made for XR, enjoy a private cinema anywhere for watching 3D movies and more. Think Apple Vision Pro but in a design you might actually want to wear. But there’s some trade-offs versus headsets, like a narrower field of view. </p><p>For example, the Xreal Aura has a 70° Diagonal FOV, compared to 109° horizontal and 100° vertical for the Galaxy XR. </p><p>“Some people would say, ‘hey, I'm okay actually giving up some of that,’” Payne told me. “I need to keep the core value, but I'm okay with giving up some of that so that I can take it with me more easily.”</p><h2 id="will-smart-glasses-replace-phones">Will smart glasses replace phones?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R9Uf2zT877H3Ng3oXJkj37" name="Google Pixel 10 Pro Fold Hands on-28" alt="Google Pixel 10 Magic Cue AI feature" src="https://cdn.mos.cms.futurecdn.net/R9Uf2zT877H3Ng3oXJkj37.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If smart glasses like Google’s Intelligent Eyewear are designed to help you use your phone less often, will there be a tipping point where the vast majority of people leave their phone behind?</p><p>For Payne, that’s not happening anytime soon. </p><p>“The phone is here to stay,” Payne said. “Phones are incredibly powerful. They have a user interface to them that is well adopted and highly robust. I'm not so sure that there's even a great reason to get rid of the phone, even if you could.”</p><p>The true benefit of smart glasses — at least for now — is that they allow you to be less distracted. How many times have you opened your phone to respond to a notification only to find yourself knee deep in some other app?</p><p>“Glasses can fit into your experience throughout the day by adding a lot of value on top. It'll shift some of the minutes that you’re spending on the phone to the glasses, which have all these nice benefits because you can then stay more present with what you're doing.”</p><p>We’ll be keeping a close eye on Intelligent Eyewear and will bring you our full reviews once we have a chance to test out Google’s Android XR platform — and its partner’s designs.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Pixel 11 just leaked via Amazon — here's the specs, colors and obligatory price hike ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike</link>
                                                                            <description>
                            <![CDATA[ Google Pixel 11 may have just leaked via Amazon, revealing color options, specs and a higher starting price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">aSJTadyFj8XftYGCAuoGrB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/w4ggsUZxULQaBMcwv7iJs6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 16 Jul 2026 09:26:25 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Google Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/w4ggsUZxULQaBMcwv7iJs6-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[google pixel 10 pro images]]></media:description>                                                            <media:text><![CDATA[google pixel 10 pro images]]></media:text>
                                <media:title type="plain"><![CDATA[google pixel 10 pro images]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/w4ggsUZxULQaBMcwv7iJs6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google has confirmed that the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-everything-we-know-so-far">Pixel 11</a> will launch on August 12, at a special event in New York, but you won't need to wait that long to find out everything. Google is notorious for leaking more than a porcupine's swimsuit, and the latest information to spill out possibly revealed full specs, pricing and colors.</p><p>The leak itself came from Amazon of all people (via <a href="https://9to5google.com/2026/07/13/this-might-be-the-pixel-11-in-three-colors-gallery/" target="_blank">9to5Google</a>), and while the retailer features a bunch of third-party sellers it seems the now-deleted listings came from Amazon itself. This means that there is a chance all of this information is bogus, though Amazon could just as easily have published information too early by accident.</p><p>The Pixel 11 was listed as coming in three colors: Obsidian, Hibiscus and Pistachio. However, descriptions instead label those shades as Midnight, Fuchsia and Moss — which lines up with previous leaks. The included photos show these colors to be (unsurprisingly), blue, lavender/purple and green.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:879px;"><p class="vanilla-image-block" style="padding-top:54.72%;"><img id="Xh7cVygAaUyCUQ7a9CMNL4" name="Screenshot 2026-07-15 150303" alt="Pixel 11 and Pixel 11 pro colors" src="https://cdn.mos.cms.futurecdn.net/Xh7cVygAaUyCUQ7a9CMNL4.png" mos="" align="middle" fullscreen="" width="879" height="481" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: 9to5Google)</span></figcaption></figure><p>Listings for the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Pixel 11 Pro</a> mention colors called Dune, Light Fog, Pine and Sterling. My best guess based on the images is that Dune is a pinkish orange, Pine is some kind of muted green, Light Fog is a grayish white, which leaves Sterling as the vivid pink color. The <a href="https://www.tomsguide.com/phones/google-pixel-phones/samsung-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-who-will-be-king-of-the-android-foldables">Pixel 11 Pro Fold</a> is also seen in Pine and Midnight, which are black and that same muted green as the 11 Pro.</p><h2 id="google-s-already-teasing-the-pixel-11-series">Google's already teasing the Pixel 11 series</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:720px;"><p class="vanilla-image-block" style="padding-top:47.50%;"><img id="NP4Rd3TAo75Gm8MjECHatb" name="ezgif-4049ff33819a97ae" alt="Google Pixel 11 teaser gif with pixel glow effect" src="https://cdn.mos.cms.futurecdn.net/NP4Rd3TAo75Gm8MjECHatb.gif" mos="" align="middle" fullscreen="" width="720" height="342" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>While not officially a leak, Google has started teasing the Pixel 11 series with a short video clip <a href="https://store.google.com/magazine/google_pixel_11?hl=en-GB&pli=1" target="_blank" rel="nofollow">on its website</a>. Much like <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-unpacked-just-announced-for-july-22-with-new-form-factors-heres-how-to-save-up-to-usd1-230-on-your-galaxy-z-fold-8">Samsung is known to do</a>, Google is offering an exclusive discount to those people that sign up for Google Store updates ahead of the Pixel 11 launch.</p><p>That page also features a brief look at what we assume to be the Pixel 11, alongside an icon cycling through with rainbow coloring on the camera bar — where the LED flash is usually positioned. The phone is also gold, suggesting that a new color is on the way.</p><p>This new light is probably the rumored <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-everything-we-know-so-far">"Pixel Glow" feature</a> that is expected to act as some sort of alert light on the back of the phone. Based on what we've heard, Pixel Glow will flash when you have a notification, during charging sessions and when you're interacting with Gemini.</p><p>The Pixel Glow alert starts in white, before cycling through those colors, which suggests this is actually the camera flash pulling a dual role. whether this will affect the intensity of the camera flash (or the flashlight feature) isn't clear. However, if this is a full RBG LED light on the back of the phone, it will be interesting to see if we can change the color of the flash for dramatic effect. We'll just have to wait and see.</p><h2 id="pixel-11-leaked-specs-and-price">Pixel 11 leaked specs and price</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1154px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="XT3UDi3a4UHzdbWs5SN5P3" name="Pixel 11 render" alt="Pixel 11 render" src="https://cdn.mos.cms.futurecdn.net/XT3UDi3a4UHzdbWs5SN5P3.jpg" mos="" align="middle" fullscreen="" width="1154" height="649" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: OnLeaks / Android Headlines)</span></figcaption></figure><p>The Amazon listings reveal a bunch of Pixel 11 series specs, which line up with everything we've heard about the phones so far. That includes a 6.3-inch display rocking 1080x2424 resolution, 256GB of base storage, 12GB of RAM, 4,985 mAh battery and a price tag of $899. This suggests that Google isn't dropping the base level of RAM to 8GB, <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">as some rumors have suggested</a>, but the starting price will be rising by $100.</p><p>This is the same price as a 256GB Pixel 10, but since there's no entry level 128GB option, it means the cost of entry is higher. It's almost like Schrodinger's price hike, in which the price has simultaneously increased despite not actually changing for that particular model. </p><p>One thing to point out is that these listings reportedly say that the Pixel 11 will arrive with Android 16. Considering <a href="https://www.tomsguide.com/phones/google-pixel-phones/android-17-officially-rolls-out-to-pixel-devices-with-new-features-screen-reactions-bubbles-gaming-mode-and-more">Android 17</a> has been released, and is widely available on Pixel phones, that seems very unlikely. To the point where it casts doubt on the rest of the information that was presented. </p><p>In other words, don't take this leak as gospel, and remain skeptical right up until the point Google tells us what's actually going on on August 12.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O92KMX"></div>                            </div>                            <script src="https://kwizly.com/embed/O92KMX.js" async></script><p>The cost of the other models hasn't been mentioned, but we should expect that the Pixel 11 Pro should get a similar price bump as Google kills the 128GB option. Since the XL and Fold already start at 256GB, their U.S. pricing remains unclear, but if <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-release-date-and-prices-leak-as-official-august-12-pixel-event-invites-go-out">leaked EU prices are anything to go</a> by we should expect an additional $100 per phone.</p><p>The Pixel 11 Pro listing also mentions 12GB of RAM, which is a downgrade, alongside a 5,115 mAh battery for the Pixel 11 Pro XL and 4,750 mAh for the Pixel 11 Pro Fold. Those are <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">slightly higher capacities than the rumors have suggested</a>, but it is still a small downgrade from the equivalent <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-review">Pixel 10</a>. Apart from the Pixel 11, which is listed with 5 mAh more than the Pixel 10.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">I've seen the Galaxy Z Fold 8's crease-free 'Flex Titanium' display — and Apple should be nervous</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/every-samsung-device-from-this-months-unpacked-just-leaked-heres-your-full-look-at-the-entire-lineup">Every Samsung device from this month's Unpacked just leaked — here's your full look at the entire lineup</a></li><li><a href="https://www.tomsguide.com/phones/i-just-saw-the-future-of-phones-inside-samsung-display-with-2-jaw-dropping-slidable-concepts">I just saw the future of phones inside Samsung Display with 2 jaw-dropping ‘slidable’ concepts</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried the best ChatGPT productivity apps — these 5 are actually worth your time ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/i-tried-the-best-chatgpt-productivity-apps-these-5-are-actually-worth-your-time</link>
                                                                            <description>
                            <![CDATA[ There’s an abundance of apps available directly through ChatGPT—these are 5 of the best ones I’ve personally tried and highly recommend for your productivity uses. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rUuZhgKdLiJn8PRVp6fEvD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vQ3VQkKsucAot4ZErULdUW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 16 Jul 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vQ3VQkKsucAot4ZErULdUW-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[chatgpt]]></media:description>                                                            <media:text><![CDATA[chatgpt]]></media:text>
                                <media:title type="plain"><![CDATA[chatgpt]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vQ3VQkKsucAot4ZErULdUW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>ChatGPT is already a great productivity tool on its own. But adding <a href="https://www.tomsguide.com/ai/chatgpt/chatgpts-app-store-is-here-and-these-are-my-7-favorite-apps-right-now">the right apps </a>can make it even more useful, whether you need help managing your calendar, summarizing long documents, creating files, or streamlining your daily workflow.</p><p>As a journalist, I've tested dozens of ChatGPT apps looking for the ones that actually save time. These seven stood out because they solve real problems I run into every day and have earned a permanent place in my workflow.</p><h2 id="google-drive-habitify-reclaim-ai-and-more-do-the-job">Google Drive, Habitify, Reclaim.ai and more do the job</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="7gnkJCXmbjwb4SpCfTrky8" name="shutterstock_2595212987-2" alt="remote working" src="https://cdn.mos.cms.futurecdn.net/7gnkJCXmbjwb4SpCfTrky8.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The word “tabs” is synonymous with my work life. Thankfully, I’ve gotten to the point where I’m not switching between the 10 I have open at a time—keeping about 5 or six tabs open does a lot to keep me from going crazy over trying to find the one I need for a particular situation. </p><p>ChatGPT will forever remain one of those essential tabs and the productivity-themed apps installed within it do a lot to keep me from doing a whole lot of tab switching and push me to get more work done with its help.</p><p>These are 5 of the best ChatGPT productivity apps I’ve used and highly recommend for your use as well:</p><ul><li><strong>Google Drive:</strong> Just like most folks, I tap into Google Docs to jot down my creative notes for personal writing projects and get a good look at the documents sent my way for a variety of reasons. Instead of downloading files from Google Drive and inputting them into ChatGPT for tasks related to them, I like using the Google Drive app inside the chatbot to more easily access documents. I’ve gotten accustomed to using this app to summarize lengthy documents, analyze slides and brainstorm ideas based on all the random notes I’ve jotted down in my own personal documents.</li><li><strong>Norton:</strong> I’m glad Norton is here to tell the difference between a legit email and one that’s more than likely a flat-out scam. Since my inbox is filled to the brim with emails from all sorts of different PR companies and individuals attaching links to article proposals, I’ve gotten used to using the Norton app to get a thorough analysis of the messages in my inbox that I’m a bit weary of. Having the Norton app stand tall as my first line of defense inside ChatGPT is so reassuring for someone like me that’s inundated by emails and wants to give them a quick scan so I can get back to work.</li><li><strong>Reclaim.ai:</strong> Since this ChatGPT connects right to my Google Calendar, I’m able to ask ChatGPT to help me get a good look at my daily schedule, find planning conflicts, reschedule meetings and also find the best times for future ones. Even prompting it to set aside an hour for a personal ideation session can be accomplished with this app’s help.</li><li><strong>Habitify:</strong> Developing healthy habits that get me out of my computer chair and clear my head has proven to be accommodating. Incorporating Habitify into ChatGPT has worked out great since I just have to prompt it to show me my daily habits and stick by them without having to access them in another tab. Routinely checking in with the Habitify app inside ChatGPT to remind myself to take a 15-minute walk, take my vitamins, and get a quick meditation session in while I’m working from home does a lot for me.</li><li><strong>Goodnotes:</strong> Since I’m quick to get into some long yapping sessions with ChatGPT, I’m also quick to turn those chats into documents I can use for further reference. The Goodnotes app can take my lengthy conversations and transform them into text, flowcharts and images. So, for instance, I’ve prompted this ChatGPT app to turn my evening mental wind-down routine into a document that lays it all out in an easy-to-follow format.</li></ul><h2 id="bottom-line-2">Bottom line</h2><p>ChatGPT’s productivity-themed apps are capable of filling the same role, such as calendar management, accessing files, summarizing meetings, etc. The ones I’ve incorporated into my daily work sessions with my go-to chatbot handle those important tasks and other objectives that make my work output that much stronger. </p><p>Even using Spotify to build instrumental playlists that put me in the right state of mind to focus is a great way to boost my productivity. Make these ChatGPT apps a part of your daily work regimen and you’ll notice the benefits it brings you.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-used-chatgpt-to-build-a-personal-operating-system-using-a-single-prompt-now-i-cant-imagine-working-without-it" target="_blank">I used ChatGPT to build a personal operating system using a single prompt — now I can't imagine working without it</a></li><li><a href="https://www.tomsguide.com/ai/spotifys-new-ai-assistant-lets-you-talk-to-the-app-these-7-prompts-unlock-new-artists-build-better-playlists-and-more" target="_blank">Spotify’s new AI assistant lets you talk to the app — these 7 prompts unlock new artists, build better playlists and more</a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-just-solved-a-150-pokemon-crossword-with-no-clues-heres-why-thats-a-big-deal" target="_blank">ChatGPT just solved a crossword with no clues — here's how it did the impossible</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Search will let you create AI images for free soon — here's how it works ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/google-search-will-let-you-create-ai-images-for-free-soon-heres-how-it-works</link>
                                                                            <description>
                            <![CDATA[ For the 25th anniversary of Google Images, two major updates are coming: AI image generation in Google Search and a visual revamp of Google Images. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6ayxw5be4YGheHpPgqjdwY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vNscK5ELEqQdGknoJtFEkP-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 15 Jul 2026 16:59:30 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vNscK5ELEqQdGknoJtFEkP-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[google]]></media:description>                                                            <media:text><![CDATA[google]]></media:text>
                                <media:title type="plain"><![CDATA[google]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vNscK5ELEqQdGknoJtFEkP-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>You might be shocked to hear this, but Google Images has been around for 25 years.</p><p>Ever since it debuted on July 12, 2001, everyone has used the free online service to look up and download all manner of images. It’s funny when you think about why it came into existence in the first place: Google Images was created in response to the viral demand for the iconic green Versace dress that Jennifer Lopez wore at the 2000 Grammy Awards. The online service started with an offering of about 250 million images—that number has now reached into the billions.</p><p>In celebration of Google Images’ 25th anniversary, the service is getting two major upgrades. One of them will revamp its signature user interface and the other will allow users to create their own images for free with a simple Google Search prompt.</p><p>Here’s how that second upcoming feature will work.</p><h2 id="easy-ai-image-generation-with-google-search">Easy AI image generation with Google Search</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3031px;"><p class="vanilla-image-block" style="padding-top:53.94%;"><img id="HGkYxuu7FHw9wg5Ygih757" name="Google Search.jpg" alt="Google Search on Android phone" src="https://cdn.mos.cms.futurecdn.net/HGkYxuu7FHw9wg5Ygih757.jpg" mos="" align="middle" fullscreen="" width="3031" height="1635" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>In an <a href="https://blog.google/products-and-platforms/products/search/google-images-25th-anniversary/" target="_blank">official blog post</a> released by Google, the tech giant noted that its upcoming AI image generation feature comes from them recognizing that sometimes the perfect image for its users may not exist. With that sentiment in mind, it wanted to give those same users the ability to produce the type of image they're looking for with the assistance of Google Search.</p><p>Simply typing in a prompt in the search bar will result in your AI image getting generated directly in the AI Overviews section. This upcoming feature will be powered by the latest Nana Banana model, Nano Banana 2 Lite. AI image generation in AI Overviews will begin rolling out in the coming weeks in English across all the regions that currently support image generation in AI Mode.</p><p>In anticipation of that Google Search update, I came up with 10 creative prompts that could be fun to use to see if its AI image generator works as well as it’s advertised:</p><ul><li><strong>Create a thriller movie poster about a human detective who knows tomorrow's headlines.</strong></li><li><strong>Create a visual of Egyptian pyramids being built with futuristic machinery.</strong></li><li><strong>Create a visual of the ultimate breakfast sandwich.</strong></li><li><strong>Create a visual of a LEGO-designed luxury apartment.</strong></li><li><strong>Create a visual of an abandoned mall that has been transformed into a luxury destination.</strong></li><li><strong>Create a visual of what the iPhone 25 design could look like.</strong></li><li><strong>Create a minimalist cyberpunk wallpaper in shades of blue with glowing geometric shapes.</strong></li><li><strong>Create a visual of a city where every building represents a different emotion.</strong></li><li><strong>Create a visual of a realistic travel destination that doesn't actually exist.</strong></li><li><strong>Create a visual of retro synthwave mountains at sunset.</strong></li></ul><p>The future makeover coming to Google Images will make the page look more dynamic by having all its displayed images get updated in real time according to your interests. And after saving any of those images within your collections, those collections will now appear as tabs above the main gallery. </p><p>Now you’ll have a much easier way to switch between your ongoing image search and your personal batch of saved images. You can look forward to seeing this Google Images user interface makeover for yourself once it rolls out over the coming weeks for desktop users in the US in English.</p><h2 id="the-takeaway-3">The takeaway</h2><p>I’ll be excited to see how good the AI image generator housed within Google Search really is once it finally releases. Playing around with prompts aimed at producing the most eye-popping images possible sounds like a fun experiment I can’t wait to sink a few hours into. And just to celebrate its arrival the right way, I’ll be sure to generate an image of Jennifer Lopez wearing her famous Versace dress in an assortment of different colors. It’s only right, considering Google Images owes its creation to the overwhelming need to see the superstar in her signature dress all those years ago.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/5-apps-anyone-over-50-can-build-with-ai-no-coding-skills-needed" target="_blank">5 apps anyone over 50 can build with AI — no coding skills needed</a></li><li><a href="https://www.tomsguide.com/ai/i-used-these-5-chatgpt-prompts-to-plan-my-summer-vacation-one-of-them-even-built-a-stress-free-getaway-for-me" target="_blank">I used these 5 ChatGPT prompts to plan my summer vacation — one of them even built a stress-free getaway for me</a></li><li><a href="https://www.tomsguide.com/ai/a-lot-of-people-will-genuinely-hate-and-resent-ai-i-spoke-to-the-founder-of-ai-appreciation-day-to-figure-out-what-we-should-be-celebrating" target="_blank">'A lot of people will genuinely hate and resent AI': I spoke to the founder of AI Appreciation Day to figure out what we should be celebrating</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 5 apps anyone over 50 can build with AI — no coding skills needed ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/5-apps-anyone-over-50-can-build-with-ai-no-coding-skills-needed</link>
                                                                            <description>
                            <![CDATA[ Discover 5 practical ways people over 50 can use AI to build custom apps without writing code, complete with ready-to-use prompts. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">E6QNLXnoBEuKb8zrnppeBn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/km6VRAQGJRcwGmhnPPY3Hg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 15 Jul 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/km6VRAQGJRcwGmhnPPY3Hg-1280-80.jpg">
                                                            <media:credit><![CDATA[Mario Amé at Unsplash]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Man working at computer ]]></media:description>                                                            <media:text><![CDATA[Man working at computer ]]></media:text>
                                <media:title type="plain"><![CDATA[Man working at computer ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/km6VRAQGJRcwGmhnPPY3Hg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I still remember the advertisements when the Apple App store first rolled out. In between segments on 60 Minutes or the drama on Prison Break, the commercials would convince viewers that anything you needed, "there's an app for that." <br><br>Now, when I need an app that doesn't suit me, I just create one myself. I'm definitely not skilled in programming languages like Python or Java, I just know how to vibe code. And here's the thing, you can, too! </p><p>Today's AI chatbots can create simple apps from a description written in plain English. The process, often called "AI-powered coding" or "<a href="https://www.tomsguide.com/ai/how-to-get-started-with-vibe-coding-5-simple-tips-for-beginners">vibe coding</a>," lets you explain what you want while the AI writes the code behind the scenes.</p><p>You don't have to become a programmer. You just need an idea. So, whether you're trying to better organize your finances or keep track of medications, here are five genuinely useful app ideas to get you started. Just open Claude, Gemini or ChatGPT and enter the following prompts. I prefer<a href="https://www.tomsguide.com/ai/i-tested-claude-codes-new-web-app-it-makes-coding-as-easy-as-chatting"> Claude for coding</a>, so all of these examples have been made using it. </p><h2 id="1-build-a-medication-tracker-that-actually-fits-your-routine">1. Build a medication tracker that actually fits your routine</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PhNmVdmqKjXwxBmsS6h3K8" name="8 - 2026-07-14T165328.673" alt="vibe coding" src="https://cdn.mos.cms.futurecdn.net/PhNmVdmqKjXwxBmsS6h3K8.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Most reminder apps are designed for everyone. AI can build one that's designed for you. Maybe you take prescriptions at different times each day, need refill reminders, or want to track side effects. Instead of forcing yourself into someone else's system, you can create one that matches your schedule.<br><br>This app is fairly simple. But it works right in the platform and it's something you can go to several times a day depending on your medication regimen. You could also create something that reminds you to drink water, eat meals or exercise. Just be sure to follow your doctor's recommendations. AI is not a substitute for a human doctor. </p><p><strong>Prompt:</strong><em><strong> </strong></em><em>Build me a clean, easy-to-use medication tracker that runs in a web browser. I want to add medications, dosage amounts, times of day, refill dates and optional notes. Include reminders that highlight medications due today, a refill countdown, and a printable summary. Make the interface simple with large buttons and easy-to-read text.</em></p><h2 id="2-create-a-home-inventory-before-you-need-it">2. Create a home inventory before you need it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="87FxzrGaxTAHz7LcbhGxWT" name="8 - 2026-07-14T165631.041" alt="vibe coding" src="https://cdn.mos.cms.futurecdn.net/87FxzrGaxTAHz7LcbhGxWT.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you've ever had to file an insurance claim, you know how difficult it can be to remember everything you own. A custom inventory app lets you photograph items, record serial numbers, upload receipts and search everything in one place. It's also great for moving homes or downsizing. </p><p>This app breaks the inventory down by room, which is great for staying organized. You could tweak this prompt to work for organizing one room at a time or even certain aspects of a room such as books and CDs or DVDs. </p><p><strong>Prompt: </strong><em>Create a home inventory web app. I want categories for each room, the ability to upload photos, record purchase dates, estimated values, serial numbers and warranty information. Include search, printable reports and an export option. Make it simple enough that anyone can use it.</em></p><h2 id="3-build-a-retirement-budget-planner">3. Build a retirement budget planner</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tsdbVkZ4F6jpAWaeamMb9k" name="8 - 2026-07-14T165919.968" alt="vibe coding" src="https://cdn.mos.cms.futurecdn.net/tsdbVkZ4F6jpAWaeamMb9k.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I am not a spreadsheet person. I find them extremely useful, but building them feels like busy work. And while generic spreadsheets can be useful, most of them barely match my own financial situation. </p><p>That's why I prefer turning to AI to stay organized. Claude or ChatGPT can create a calculator that reflects your income, expenses, pensions, Social Security estimates or travel plans.<br><br>Just as AI is not a substitute for a human doctor, it's also not a real financial advisor. This app should be used as a guide and not as the real deal. </p><p><strong>Prompt: </strong><em>Build a retirement planning dashboard. Let me enter monthly income, fixed expenses, discretionary spending, savings goals and investment balances. Show charts that estimate how long my savings may last under different spending scenarios. Use clear graphs and plain language instead of financial jargon.</em></p><h2 id="4-turn-family-recipes-into-your-own-searchable-cookbook">4. Turn family recipes into your own searchable cookbook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MVNPeRvmdD2toX7QkyqTGn" name="8 - 2026-07-14T170645.593" alt="vibe coding" src="https://cdn.mos.cms.futurecdn.net/MVNPeRvmdD2toX7QkyqTGn.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Recipe apps are full of advertisements and random suggestions. Sometimes I have to read four paragraphs before the recipe even appears! Plus, with so many of my grandmother's recipes, I chose to build an app that offers me only my family's favorites. <br>I love this one because it makes adding recipes from friends and neighbors easy. </p><p><strong>Prompt: </strong><em>Create a digital cookbook where I can add recipes, upload photos, organize recipes into categories, search by ingredient and generate a shopping list. Include family notes, cooking tips and preparation times. Design it with large text and an uncluttered layout.</em></p><h2 id="5-create-a-travel-planner-for-your-next-vacation">5. Create a travel planner for your next vacation</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G7JqgAzzi7WNFzUEh6pafN" name="8 - 2026-07-14T171013.689" alt="vibe coding" src="https://cdn.mos.cms.futurecdn.net/G7JqgAzzi7WNFzUEh6pafN.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Planning a trip usually means juggling confirmation emails, reservations, maps and packing lists. And if you've used <a href="https://www.tomsguide.com/ai/chatgpt/i-found-5-chatgpt-apps-everyone-over-50-should-install-first">ChatGPT to book flights or plan your stay</a>, you might want to create an app that combines everything into one personalized travel dashboard. </p><p>It's easier to stay on budget and remember specific travel details when everything is kept in one place. This app does just that. </p><p><strong>Prompt:</strong> <em>Build a travel planning app where I can organize flights, hotels, rental cars, daily itineraries, restaurant reservations, packing lists, budgets and emergency contact information. Include a countdown to departure and a printable itinerary. Make it mobile-friendly.</em></p><h2 id="final-thoughts">Final thoughts </h2><p>I cannot say this enough: I am not a coder. All of the apps you see here were built with Claude. But ChatGPT or Gemini work just as well. It really comes down to your preference or subscription. Just paste one of the prompts above and continue the conversation naturally. <br><br>You can add preferences such as "Make the buttons bigger" or "Make the colors neutral shades." Whatever you want, simply tell the chatbot. </p><p>Just think of AI as a contractor rather than a search engine. The first version rarely needs to be perfect, you simply tell it what you'd like to change until it matches your vision.</p><p>For many people over 50, AI is so much more than a helpful writing tool or answer-machine. It's useful because it removes one of the biggest barriers to creating software.</p><p>You no longer have to know how to code to build something that solves a problem in your own life. If you can describe what you want in plain English, today's AI tools can often build a working first version in minutes.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/someone-created-a-ghost-font-that-humans-can-read-but-ai-cant-i-had-to-try-it-for-myself">Someone created a 'Ghost Font' that humans can read but AI can't — I had to try it for myself</a></li><li><a href="https://www.tomsguide.com/ai/the-end-of-forgetting-why-ais-perfect-memory-is-a-psychological-trap">The end of forgetting: Why AI’s perfect memory is a psychological trap</a></li><li><a href="https://www.tomsguide.com/ai/i-just-found-a-free-way-to-watch-youtube-without-ads-and-it-doesnt-require-youtube-premium">I just found a free way to watch YouTube without ads — and it doesn't require YouTube Premium</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ High storage phones are feeling more like a scam than ever — how to avoid overpaying ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/high-storage-phones-are-feeling-more-like-a-scam-than-ever-how-to-avoid-overpaying</link>
                                                                            <description>
                            <![CDATA[ High storage phones cost a heck of a lot of money, and they may be about to get more expensive. It's about time we stopped facilitating this, because it feels like a scam. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ctoXvm6cDQL54YmQMW88Mk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VU2noUg3VKuYacmAcaWLFY-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 12 Jul 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/VU2noUg3VKuYacmAcaWLFY-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 7 vs Galaxy S25 Ultra]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 7 vs Galaxy S25 Ultra]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 7 vs Galaxy S25 Ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VU2noUg3VKuYacmAcaWLFY-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Lots of people lament the <a href="https://www.tomsguide.com/news/5-reasons-i-wish-the-headphone-jack-was-coming-back">loss of the headphone jack</a> and how that changed the way we use our phones, but me? I'm still not over the fact that <a href="https://www.tomsguide.com/features/this-amazingly-small-android-phone-has-features-you-wont-find-on-an-iphone-samsung-galaxy-or-pixel">expandable storage has been relegated</a> to the bare minimum of budget handsets. These days it's been replaced with high storage options that add hundreds of dollars onto the cost of your phone.</p><p>I have always maintained that being forced to pay for the same amount of storage every time you buy a new phone is a total scam, certainly compared to being able to swap microSD cards from one device to another. </p><p>But more recently, after seeing the rumored price hikes that will affect flagship phones due to be released this year, I'm more convinced than ever that paying for storage is a complete waste of money.</p><h2 id="storage-is-an-expensive-addition">Storage is an expensive addition</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FkYnLdfVHjjo8V94zycCVV" name="iPhone 17 Pro Max-16" alt="iPhone 17 Pro Max shown in hand" src="https://cdn.mos.cms.futurecdn.net/FkYnLdfVHjjo8V94zycCVV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>It's very easy to fill up your phone's storage without even realizing it. Whether you're obsessed with apps, or can't stop taking photos and videos or your daily life, that space fills up fast. I can't tell you the number of times <a href="https://www.tomsguide.com/phones/ive-almost-filled-up-my-128gb-phone-again-and-it-makes-me-miss-microsd-card-slots">I've almost filled up the 128GB of storage</a> on my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-review-a-great-phone-but-it-doesnt-feel-like-much-of-an-upgrade">Pixel 10 Pro</a>, and had to scramble to offload files and delete things that are just wasting space.</p><p>Obviously the easiest solution to this problem is to buy a phone with more storage. A 256GB model would effectively double my storage space, and that's just the next model up. These days most flagship phones offer at least 512GB and even 1TB storage options for the people that need a lot of space on their phones.</p><p>The downside is that this causes the price of your new phone to rise by quite a bit. The <a href="https://store.google.com/config/pixel_10_pro?hl=en-US" target="_blank" rel="nofollow">128GB Pixel 10 Pro costs $999</a>, which rises to $1,099 for 256GB, $1,219 for 512GB and $1,449 for 1TB. For the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro</a> you're looking at a <a href="https://www.apple.com/shop/buy-iphone/iphone-17-pro" target="_blank" rel="nofollow">starting price of $1,099 </a>for 256GB of storage, which rises to $1,299 and $1,499 for 512GB and 1TB models. </p><p>For both these phones, you could be paying 30 to 36% more simply by upgrading your storage. That may be a good deal for those of you that need the space, and want the convenience of easy-to-use and readily-available storage on your phone. But this ends up being an expense you have to buy every time you upgrade your phone. The storage doesn't come with you, and once you're finished with the phone all that extra space is gone unless you pay the premium again.</p><h2 id="ramageddon-could-make-it-worse">RAMageddon could make it worse</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6820px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4YibtQAHoKKwDCm6y8NNaM" name="RAM Memory credit Shutterstock-2 (1)" alt="RAM stick on US dollars" src="https://cdn.mos.cms.futurecdn.net/4YibtQAHoKKwDCm6y8NNaM.jpg" mos="" align="middle" fullscreen="" width="6820" height="3836" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Right now the main problem is that the cost of storage is rising pretty rapidly. <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> hasn't just affected the cost of memory, as AI data centers eat up as much supply as they can handle, they're also buying up storage as well. Which means the cost of storage is increasing, and we've already seen reports suggesting that this is going to affect the price of high-storage phone models.</p><p>EU price leaks for the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Samsung Galaxy Z Fold 8 Ultra</a> suggest that the upcoming foldable's price will increase by as much as <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-and-galaxy-watch-9-may-suffer-some-serious-price-increases-heres-what-we-know">€280 for a 1TB model</a>. Meanwhile the 256GB and 512GB are rumored to be rising by €100 and €180, respectively. </p><p>Of course, these are just leaked prices in one part of the world, and there's no telling whether other phone companies will follow suit. In fact, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-release-date-and-prices-leak-as-official-august-12-pixel-event-invites-go-out">Pixel 11 Pro XL price leaks</a> suggest a blanket €100 price increase for all models, regardless of how much storage they have. But it suggests we may be looking at a future where higher storage phones cost even more than they currently do, which means the premium of being able to have access to all that storage is even higher than before.</p><p>It certainly doesn't help that some phone companies might already follow Samsung's example, and start <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">cutting the amount of RAM on low-storage models</a>. That effectively means that the price tag for higher-specced variants has to cover the rising cost of storage and RAM.</p><h2 id="how-to-avoid-paying-for-high-storage-phones">How to avoid paying for high storage phones</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2715px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vbGrCLaZGfUvCojyg8YYUd" name="Galaxy S26 Ultra 24 hours-12" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/vbGrCLaZGfUvCojyg8YYUd.jpg" mos="" align="middle" fullscreen="" width="2715" height="1527" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Naturally there are some ways <a href="https://www.tomsguide.com/phones/buying-a-new-phone-heres-how-to-avoid-paying-for-pricey-storage-upgrades">you can avoid having to pay for high storage phones</a>, the simplest of which is to rely on the <a href="https://www.tomsguide.com/buying-guide/best-cloud-storage">best cloud storage</a> instead. However, that comes with the added issue of having to pay a continuous subscription fee to retain access to all the files and photos you offload to the cloud.</p><p>Plus, there will be occasions where you need to either upgrade your storage allowance (in exchange for more money) or sort through your backups to free up space. So you are only delaying the problem, even if the ability to beam things into cloud storage, and access it at any time via the internet, is very convenient.</p><p>Another option is to continually offload those same files to local storage, in the form of external hard drives or networked storage. Admittedly this makes it a lot harder to access files and photos when you don't have physical access to your drives, but it's a lot more cost effective than continuously paying for high-storage phones or cloud services.</p><p>Then again, there are some <a href="https://www.tomsguide.com/computing/peripherals/im-a-content-creator-and-this-sandisk-creator-phone-ssd-is-the-storage-upgrade-id-actually-give-as-a-holiday-gift">portable hard drives that feature MagSafe compatibility</a> and let you store your extra storage on the back of your phone.</p><p>Of course there's also the tried-and-tested option, which is to buy a cheaper phone with lower amounts of storage, and do everything you can to stop it from filling up too quickly. We're talking about things like minimizing the amount of useless apps you have, shooting photos at a lower resolution, stop letting random files and downloads take up space they shouldn't have, and things of that nature.</p><p>Then again it's easier said than done to avoid high storage phones when companies are cutting the smaller 128GB models, and offering the more expensive 256GB option as the new entry-level model. As much as I was sick of having 128GB of base storage, I do wish more companies had followed <a href="https://www.tomsguide.com/phones/iphones/iphone-17-marks-the-end-of-the-128gb-phone-era-heres-why-thats-a-big-deal">Apple's example with iPhone 17 and increased the base storage at no extra cost.</a></p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/safari-just-got-3-massive-al-upgrades-in-ios-27-and-chrome-cant-compete">Forget Chrome — Safari just got 3 massive Al upgrades in iOS 27</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-vs-iphone-18-pro-max-five-biggest-expected-differences">iPhone Ultra vs iPhone 18 Pro Max: 5 biggest expected differences</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-ignored-every-galaxy-z-fold-8-rumor-then-these-3-leaks-changed-my-mind">I ignored every Galaxy Z Fold 8 rumor. Then these 3 leaks changed my mind</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Maps only showing preview? Here’s how to get the start button back ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/how-to-fix-the-maddening-google-maps-issue-where-preview-replaces-the-start-button</link>
                                                                            <description>
                            <![CDATA[ Google Maps can sometimes not show the Start button to begin navigation. Here's how to get it to show up. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cy94CoMtSoKvGWtnYVPRXP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 11 Jul 2026 10:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Maps logo on phone with map in background]]></media:description>                                                            <media:text><![CDATA[Google Maps logo on phone with map in background]]></media:text>
                                <media:title type="plain"><![CDATA[Google Maps logo on phone with map in background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>You've entered your destination into Google Maps, the route is calculated, everything looks correct. Then you tap the screen expecting to start navigation and all you see is Preview. No Start button. </p><p>It's one of the most frustrating experiences with the app and I've seen this problem come up repeatedly in comments and messages: people are stuck staring at a Preview button with no explanation for <em>why</em> navigation isn't showing as Start. </p><p>The frustration is justified, but the fix is quite simple. Google Maps just needs one piece of information to proceed. Here's what's going on and how to actually start your navigation.</p><h2 id="why-preview-appears-instead-of-start">Why Preview appears instead of Start</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yhMs2xgF3w7oW79dzeksW9" name="Google Maps 2.shutterstock_1121678033" alt="Google Maps icon on phone" src="https://cdn.mos.cms.futurecdn.net/yhMs2xgF3w7oW79dzeksW9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Google Maps shows Preview instead of Start for three specific reasons. First, you haven't set a starting point. Google Maps usually picks your current location automatically, but sometimes it doesn't. </p><p>Without a clear start point, the app won't let you begin navigation, it can only show you a preview of where you'd go.</p><p>Second, Google Maps lacks permission to access your location. The app needs to know where you are to confirm your starting point matches reality. If it can't pinpoint your location precisely, Preview is all you get.</p><p>Third, and this one might surprise you, your actual current location isn't on the route you've selected. Google Maps detects that you're not at the starting point of your route and nowhere along its path. This is intentional behavior. Google Maps prevents you from navigating a route you're not positioned to take.</p><h2 id="set-your-starting-point-and-grant-permission">Set your starting point and grant permission </h2><p><strong>Open Google Maps and enter your destination</strong>. After selecting where you want to go, <strong>look for "Choose starting point" and tap it.</strong> </p><p>From the menu that appears,<strong> select "Your location" </strong>at the top. This confirms to Google Maps that your current position is where navigation should begin.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hj4kVork6fJApCVJnVvdBF" name="Setting your location in Google Maps" alt="Setting your location in Google Maps" src="https://cdn.mos.cms.futurecdn.net/hj4kVork6fJApCVJnVvdBF.jpg" mos="" align="middle" fullscreen="" width="4000" height="2250" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This single step resolves the Preview issue for most people. By explicitly setting your starting point to your current location, you're giving Google Maps the confirmation it needs.</p><p>On iPhone,<strong> open Settings and tap Apps</strong>. <strong>Find Google Maps and select it</strong>. Then <strong>tap Location</strong> and<strong> choose either "While Using the App" or "Always."</strong> Just as with Android, <strong>enable the toggle for "Precise Location" </strong>below.</p><p>Once these permissions are active, Google Maps can accurately identify where you are and match that to your route. Navigation should work immediately.</p><h2 id="granting-location-permission-on-android">Granting location permission on Android</h2><p>If Preview persists after setting your starting point, Google Maps lacks location access. On Android, <strong>open Settings and navigate to Apps.</strong> Find Google Maps in the list and <strong>tap it</strong>. Now <strong>select Permissions</strong>, then<strong> tap Location</strong>.</p><p><strong>Choose either "Allow all the time" or "Allow only while using the app."</strong> Then scroll down and <strong>make sure the toggle for "Use precise location"</strong> is enabled. </p><p>Precise location is critical because Google Maps needs exact coordinates, not just approximate area data. Enable this, then try navigation again.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODqMlX"></div>                            </div>                            <script src="https://kwizly.com/embed/ODqMlX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/computing/google-has-been-hiding-a-flight-simulator-for-20-years-now-its-free-on-the-web">Google has been hiding a flight simulator for 20 years and now it's free on the web — here's how to use it</a><strong></strong></li><li><a href="https://www.tomsguide.com/phones/never-be-late-lose-your-car-or-stress-about-parking-again-3-google-maps-features-i-swear-by">3 Google Maps features that solve the biggest travel headaches</a></li><li><a href="https://www.tomsguide.com/phones/this-google-maps-feature-saves-me-20-minutes-every-day-and-youre-probably-ignoring-it">This Google Maps feature saves me 20 minutes every day, and you're probably ignoring it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Google's new Gemini update for Android Auto and it finally fixes everything that made the old Google Assistant so frustrating to use while driving ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/google-pixel-phones/i-just-got-gemini-for-android-auto-in-my-car-and-i-cant-believe-how-much-better-it-is-than-google-assistant</link>
                                                                            <description>
                            <![CDATA[ Google Assistant was the bane of my driving experience, but Gemini is already making up for all those past wrongs. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">CAAemQ6JALmq8xhvdkoJBX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VJH64ZqNMaD4LMfniT6ayC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 11 Jul 2026 04:45:00 +0000</pubDate>                                                                                                                                <updated>Sat, 11 Jul 2026 21:25:06 +0000</updated>
                                                                                                                                            <category><![CDATA[Google Phones]]></category>
                                                    <category><![CDATA[Google Gemini]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/VJH64ZqNMaD4LMfniT6ayC-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android Auto]]></media:description>                                                            <media:text><![CDATA[Android Auto]]></media:text>
                                <media:title type="plain"><![CDATA[Android Auto]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VJH64ZqNMaD4LMfniT6ayC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Last year <a href="https://www.tomsguide.com/ai/google-gemini/android-auto-just-got-a-massive-free-upgrade-with-gemini-heres-all-the-new-features">Google announced that it was getting rid of Google Assistant in cars</a>, and would replace all voice-centric features with the newer, and more advanced, Gemini AI instead. I was thrilled about this news at the time, since my experience with Google Assistant while driving was far from great. </p><p>Over a year after that news was first announced, Google finally decided it was time to add Gemini in my car — and completely remove Google Assistant from my life. <a href="https://www.tomsguide.com/ai/google-gemini/gemini-in-the-car-is-long-overdue-and-i-cant-wait-to-try-it-in-android-auto-soon">Given my absolute disdain for Assistant</a> and what it could do, I jumped at the chance to go out and see what it was like to use Gemini out on the open road.</p><h2 id="how-gemini-works-with-android-auto">How Gemini works with Android Auto</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="d6iRrNAQeYiESHsFCyjoUK" name="shutterstock_2604883871-2" alt="Gemini" src="https://cdn.mos.cms.futurecdn.net/d6iRrNAQeYiESHsFCyjoUK.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>I should mention that my car is about as dumb as you can get these days. It's an electric <a href="https://www.tomsguide.com/reviews/2022-nissan-leaf">Nissan Leaf</a> with an infotainment system that supports both Android Auto and CarPlay, but there's no interaction between infotainment and the functionality of the car itself. This isn't a fancy car that routes everything through a touchscreen menu, and everything you do relies on physical buttons or levers. </p><p>In my case, though, these things are all locked into my phone, and have no actual connection to the car. This means Gemini also has no access to any of that information, or control over car systems. </p><p>I should make it very clear that I am grateful about this. Sticking essential car features behind a touchscreen is one of the most bone-headed moves the car industry has ever performed, and I'm glad to see that things are starting to go back to the way they were. Still, I am not a luddite and fully expect to be able to use some hi-tech features in my car, like navigation, phone calls, streaming and so on — so long as it's safe to do so. </p><p>In theory, voice assistants are a safety tool since they let you control those sorts of features without having to look at, or interact with a touchscreen. Old assistants like Google Assistant were fairly limited, and that meant you had to be fairly precise with what you asked for. Similarly, my Assistant seemed to be quite fond of ignoring me, or refusing to understand what I said. </p><p>That led to me virtually shouting at my car to do something simple, because the assistant software was about as robust as a paper towel at the bottom of the Mariana Trench.</p><p>Gemini works in much the same way as Assistant did. You can either summon the AI by saying "Hey Google," or by using your car's dedicated voice command button — assuming it has one, that is. Mine does, and probably gets more use than 99% of the buttons on my steering wheel.</p><p>And, just like Gemini on your phone or in your <a href="https://www.tomsguide.com/audio/smart-speakers/google-home-speaker-review">Google Home smart speaker</a>, all you need to do is ask Gemini for whatever it is you want. </p><h2 id="gemini-outmatches-assistant-in-every-way">Gemini outmatches Assistant in every way</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="j6NW6HvPruoW3WCU45kNR4" name="Google Maps Immersive Navigation in Android Auto.GIF" alt="Google Maps Immersive Navigation in Android Auto." src="https://cdn.mos.cms.futurecdn.net/j6NW6HvPruoW3WCU45kNR4.gif" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>At first, I wasn't all that impressed with what Gemini could actually offer me, because I kept thinking of it like Google Assistant. Since Google Assistant was a complete waste of storage space a lot of the time, I learned to only rely on it when absolutely necessary. I didn't really feel like having a shouting match just to get the darn thing to register that I'd said "yes."</p><p>I basically had to throw out all my expectations about what assistants can do in the car, and try to rely on Gemini for more than I used to be able to do. Thankfully it didn't take long to flick that proverbial switch, and I was quickly able to start asking Gemini about more detailed and complicated things. </p><p>Google Assistant was limited in what it could do and how it would understand your commands. Gemini, being powered by Google's LLM, has no such issues. I found myself able to ask long-winded questions with a bunch of technical details, and the AI was not only able to understand what I was saying, it could actually give me an answer.</p><p>At one point I asked how long it would take my car to charge to 100%, making sure to mention the size of the battery, how full the battery was and how fast I expected to be able to charge. Gemini was able to give me an answer, and gave me tips on charging protocol — warning me that charging past 80% slows the whole process down. I can't tell you whether Gemini's estimate of 6 hours was correct, but it's certainly in the right ballpark.</p><p>At the same time, Gemini was happy to answer questions about basic things that had no relation to the car. What time is the <a href="https://www.tomsguide.com/entertainment/streaming/toms-guide-to-the-world-cup">next England World Cup game</a>? I can't actually tell you because I couldn't care less and immediately forgot what Gemini told me, but Gemini was able to look it up while I was driving.</p><p>What I liked the most is that I could ask it about bits of data I knew Google had. What time does X business close today, and how busy is it expected to be right now? These are all things you can see on a business card in Google Maps or Search, and Gemini was able to pass that information along without issue. Even if it didn't have the right facts, such as when I asked how busy the local car wash would be, it pulled information from reviews about wait times and gave me those instead.</p><p>As for navigation, the use of real world language makes the whole thing a lot easier. I was able to ask for the fastest route to a specific location, and later tried to mix things up by asking to be put on the most energy-efficient route mid-drive. Not only was Google able to understand and facilitate that, it also warned me that I was already on the most efficient route — and that it can't do much more than that.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XkwlzX"></div>                            </div>                            <script src="https://kwizly.com/embed/XkwlzX.js" async></script><h2 id="gemini-for-android-auto-does-need-some-work">Gemini for Android Auto does need some work</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZmRnFZ8r5azTcaFHWDGB2D" name="Android Auto" alt="Android Auto" src="https://cdn.mos.cms.futurecdn.net/ZmRnFZ8r5azTcaFHWDGB2D.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That said, Gemini is not perfect. There are situations where it had no idea what I was talking about, and just shut down. A good example was asking where I could find a <a href="https://www.tomsguide.com/reference/ev-charging-explained-heres-all-the-different-charger-types">CHAdeMO charger</a> for my car, only for Google to completely fail to understand the word in question. But when I mixed my language up, and asked for an "ultra fast charger compatible with the Nissan Leaf" it was able to show me a bunch of nearby locations within a couple of seconds. </p><p>It turns out that because Gemini didn't understand the word CHAdeMO, it just spelled the word out letter by letter. The same thing happened to the charging brand GRIDSERVE, and I can only assume it's because the name is all uppercase. Apparently the lack of lowercase letters confused the AI, and meant it couldn't understand my human method of reading out the whole word.</p><p>There can be a bit of a delay while it processes the question, though this is true of most AI chatbots. If it can't process what you need on the device, it's going to have to talk to a server somewhere and that obviously means there's going to be delays while information is transmitted back and forth. </p><p>However, I have yet to experience Gemini just straight-up not registering that I have spoken to it, which was a near-daily occurrence with Google Assistant. So, regardless of its iffy understanding of certain brand names and proper nouns, Gemini is definitely on the winning team.</p><h2 id="bottom-line-3">Bottom line</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5Pa8bdDWXoYokNgNheSzyc" name="Gemini vs ChatGPT edit.shutterstock_2423206301" alt="Gemini and ChatGPT logos on a phone" src="https://cdn.mos.cms.futurecdn.net/5Pa8bdDWXoYokNgNheSzyc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>I still need to spend some more time with Gemini in my car to get to grips with everything else the AI has to offer in my car. For the most part, though, I'm fairly impressed, especially since the AI is able to work across different Android Auto apps based on the kind of questions and commands it receives. It's a night and day upgrade compared to Google Assistant, which was usually more trouble than it's worth.</p><p>It's an upgrade that seems to do what was originally promised. Not only does it offer all the things Google Assistant could accomplish, it's able to provide more information and understanding to the driver. Considering driving is inherently dangerous, and you should not allow anything to distract you, the fact that an AI assistant can handle more of the things that might cause your concentration to lapse can only be a good thing. </p><p>Let's just hope that Gemini's uppercase reading comprehension improves a lot over the coming months and years.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/7-ai-mistakes-i-see-people-over-50-make-again-and-again-heres-how-to-fix-every-one">7 AI mistakes I see people over 50 make again and again — here's how to fix every one</a></li><li><a href="https://www.tomsguide.com/phones/iphones/3-siri-ai-features-youll-use-every-day">I tried the new Siri AI features: here's 3 you'll actually want to use every day</a></li><li><a href="https://www.tomsguide.com/computing/why-google-maps-keeps-sending-you-the-long-way-and-how-to-stop-it">Google Maps actually defaults to the slowest route now — here's how to fix it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 7 AI mistakes I see people over 50 make again and again — here's how to fix every one ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/7-ai-mistakes-i-see-people-over-50-make-again-and-again-heres-how-to-fix-every-one</link>
                                                                            <description>
                            <![CDATA[ Spending time with my older family members as they try to navigate AI tools exposed me to seven common mistakes they make—here’s how I helped fix them all. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PNPuU67VFkofdr5JWzTXEc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/o6yvSxnp37yj7v2cLKj2nf-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 10 Jul 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/o6yvSxnp37yj7v2cLKj2nf-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[old man on computer]]></media:description>                                                            <media:text><![CDATA[old man on computer]]></media:text>
                                <media:title type="plain"><![CDATA[old man on computer]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/o6yvSxnp37yj7v2cLKj2nf-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I count myself among the millions of Millennials out there who grew up knowing the ins and outs of every piece of technology they came across.</p><p>Learning how to code by changing one’s MySpace page, figuring out how to download albums off of LimeWire, burning Dreamcast games to any disc in proximity and cooking up a beat on FL Studio for our friend’s (failed) foray into rapping stand out as some of my generation’s standout tech memories. As for Generation X, I know a few members of that age group who always called upon me and the other Millennials in their family to help them navigate all the confusing technology they had (and still have!) trouble learning.</p><p>It’s hard enough explaining to people in their 50s and over how to copy and paste, open multiple tabs on a browser or use a streaming service. It’s even tougher to explain to them how to get the best (and safest) use out of AI tools such as ChatGPT, Gemini, Claude, Perplexity, etc.</p><p>After close observation of my parents’ and older family members' constant struggles with AI, I took note of them all and did my best to look up the most efficient fixes for each one.</p><h2 id="treating-ai-like-a-search-engine-is-old-hat">Treating AI like a search engine is old hat</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="DJcF4HP8tytGDVMWng4P2k" name="shutterstock_2728873511-2" alt="chatgpt" src="https://cdn.mos.cms.futurecdn.net/DJcF4HP8tytGDVMWng4P2k.jpg" mos="" align="middle" fullscreen="" width="3000" height="1687" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>I’ll never forget showing ChatGPT to my mom for the first time and seeing her treat it like Google by asking it a myriad of basic questions, like “What’s the best exercise for someone in their 60’s?” I informed her that she should treat that chatbot more like a collaborator and less like your everyday search engine. For that fitness-based inquiry she brought to ChatGPT, I told her to reframe it as “Interview me and build a workout plan around my bad back, work schedule, and fitness goals.”</p><p>AI users over 50 should realize that giving AI tools as much context as possible when coming up with a prompt (which is defined as the message you type into a chat box for a chatbot to get a response). Making an AI tool aware of your decades of experience across several areas of your personal and professional life will help it give you more detailed answers catered to you instead of generic ones.</p><p>Instead of going with “How do I become more productive?”, you’ll get better results by telling a chatbot, “I’m 57, manage a team of 10 people, have ADHD tendencies, travel twice a month, and want to reclaim five hours per week. Build a productivity system for me.”</p><p>Another error I see folks in their 50s and older make with AI is only using it for information and not for decision-making purposes. It comes in handy when trying to compare options before making a purchase, stress-testing plans for an event, creating roadmaps before a road trip, simulating outcomes before making a major life decision, etc. And in those cases, being as informative as possible with your prompt while leaving out your most vital details (names, financial information, emails, personal address, etc.) is key.</p><h2 id="other-problems-and-more-fixes">Other problems and more fixes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="A7Hr3P8Hxd5Sdi2Y8f4im4" name="shutterstock_2420639485-2" alt="old woman on computer" src="https://cdn.mos.cms.futurecdn.net/A7Hr3P8Hxd5Sdi2Y8f4im4.jpg" mos="" align="middle" fullscreen="" width="3000" height="1687" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Alongside making sure the 50-and-over crowd treats AI like a digital assistant instead of a universal web search tool, here are five other mistakes I’ve observed while watching older folks try their hand at utilizing chatbots:</p><ul><li><strong>Trusting everything AI says at face value: </strong>The same generation that told millennials not to believe everything they read on the Internet sure has a bad habit of believing everything a chatbot tells them about their health, legal, or financial matters. Never use AI as your sole source of information—use it among a group of comparable citations from reliable outlets to get the trustworthy answers you seek.</li><li><strong>Trusting everything AI shows at face value: </strong>I’m tired of opening my Facebook Messenger and being treated to an obvious AI-generated photo/video and having my older family member write something that exposes how they think it’s real. The obvious telltale signs of AI visual content are an extra glossy presentation, unnatural facial features, characters with extra fingers, shadows pointing in the wrong direction and scrambled/misspelled text.</li><li><strong>Giving up after just one prompt: </strong>Patience is a virtue. And sadly, I’ve started to notice how the older folks I know are quick to give up after just one prompt/response session when they expect a perfect answer on the first try and don’t get it. They call AI tools “chatbots” for a reason—they’re here to have lengthy, meaningful conversations. Useful follow-up responses, such as “Make this sound friendlier and shorter” and “Give me the skeptical view”, help AI tools expound on the task at hand and produce improved results as a chat moves forward.</li><li><strong>Avoiding AI because they feel it’s not for them: </strong>I’ve gotten used to hearing older folks refrain from using AI because they think it’s strictly for “tech people.” I’ve had to explain to them how it works for folks in their age bracket since it can be used to discover recipes, build vacation itineraries, get directions, answer health-related questions, etc., which are the sort of things they regularly look for.</li><li><strong>Avoiding AI because of privacy and scam concerns: </strong>I totally understand older people avoiding AI due to their concerns about AI using their data and possibly having it exposed to scammers. Alongside deleting old chats, not letting chatbots access your location/personal photos and never entering your most crucial info, having secure chats with AI also means making your chats private or turning off their memory. Simply looking up “how to make my [chatbot name] chats private” will help you in this regard.</li></ul><h2 id="final-thoughts-2">Final thoughts</h2><p>Here’s an approach I always continually utter whenever my parents, grandparents, uncles and aunts approach me with a question on how to properly interact with AI: </p><p>“Don’t just ask it for answers. Ask it to broaden your way of thinking and help you in every way possible, but always rely on your own instincts and reliable info to make final decisions.” Chatbots are here to assist us with simple & complicated requests and generate visual content, but it’s always good to be mindful of their penchant for producing false information (aka “hallucinations”) and the visual cues that expose AI-generated videos/art. </p><p>Be aware of the common AI usage errors I pointed out and you’ll quickly transform into a chatbot power user who can show the youngsters a thing or two about how to properly use it.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/7-chatgpt-features-most-people-ignore-but-have-completely-changed-my-workflow" target="_blank">7 ChatGPT features most people ignore — but have completely changed my workflow</a></li><li><a href="https://www.tomsguide.com/ai/chatgpt-and-claude-just-got-a-powerful-new-scam-detector-use-these-10-prompts-to-scan-emails-texts-and-more" target="_blank">ChatGPT and Claude just got a powerful new scam detector — use these 10 prompts to scan emails, texts and more</a></li><li><a href="https://www.tomsguide.com/computing/google-wants-to-train-its-ai-on-your-search-history-you-dont-have-to-let-it" target="_blank">Google wants to train its AI on your search history. Here's how to opt out now</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google AI just proved Meta can't fix smart glasses privacy — it's time for 'peeping tom' laws to enter the digital age ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/smart-glasses/metas-new-update-is-trying-to-stop-smart-glasses-creeps-but-googles-ai-just-taught-me-how-to-bypass-it</link>
                                                                            <description>
                            <![CDATA[ Meta's emergency smart glasses update disables the camera if the privacy LED is tampered with. But I just used Google AI to generate a step-by-step bypass guide. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rG6LDtBx3aPP4tTWk7WZ6W</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ZMnLQAX8D4hd8Dtgggi7En-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 08 Jul 2026 10:37:52 +0000</pubDate>                                                                                                                                <updated>Wed, 08 Jul 2026 15:22:53 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Glasses]]></category>
                                                    <category><![CDATA[Google Gemini]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[VR &amp; AR]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ZMnLQAX8D4hd8Dtgggi7En-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Ray-Ban Meta Smart glasses]]></media:description>                                                            <media:text><![CDATA[Ray-Ban Meta Smart glasses]]></media:text>
                                <media:title type="plain"><![CDATA[Ray-Ban Meta Smart glasses]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ZMnLQAX8D4hd8Dtgggi7En-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Meta just released an <a href="https://about.fb.com/news/2026/07/metas-ai-glasses-your-questions-answered/">emergency update</a> to stop creeps from disabling the recording light on its smart glasses. That’s great. But the real problem isn’t <em>just </em>Meta — it’s that when I asked Google AI how to bypass this new security feature, its AI gave me a cheerful step-by-step DIY guide to becoming a creep. </p><p>All I asked was a simple theoretical question, and Google’s algorithm practically handed me a soldering iron and a ski mask.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/nFkJJyyr4nwhi9QyVg53vj.png" alt="Google Gemini" /><figcaption><small role="credit">Google Gemini</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/kaQhGzhRHCRnk8Ybk43ApT.png" alt="Google AI search" /><figcaption><small role="credit">Google</small></figcaption></figure></figure><p>Both its AI overview and Gemini quickly reveal that Meta’s update is going to be the first of a lot of times Zuck & Co. will be left playing an ongoing game of whack-a-mole with this problem. And given <a href="https://www.nbcnews.com/tech/gadgets/joanna-stern-meta-ray-ban-glasses-rcna348305">peeping tom Meta glasses mods are now a business</a>, hackers and modders will view this as an obstacle course rather than a hard stop.</p><p>So rather than just re-report the news you’ve been seeing, I want to go into what else needs to change to truly get rid of this peeping tom behavior once and for all — starting with AI companies putting a block on guiding people how to get around it, and extending into changing the laws to stomp it out.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X85DNe"></div>                            </div>                            <script src="https://kwizly.com/embed/X85DNe.js" async></script><h2 id="a-bigger-shift-is-needed">A bigger shift is needed</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1384px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="6JcBdfjD9WrKrKamaijHRW" name="dji_mimo_20260622_150958_20260622150958_1782166924174_photo" alt="Meta Glasses by Kylie" src="https://cdn.mos.cms.futurecdn.net/6JcBdfjD9WrKrKamaijHRW.jpg" mos="" align="middle" fullscreen="" width="1384" height="778" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I won’t labor the point too much here, but while a software update and taking down modders' services on its own platform is a start, relying on a trillion-dollar tech company to police itself never quite works out the way you think.</p><p>Much more needs to be done on a legislative and hardware level:</p><ul><li><strong>Kill the power, kill the camera: </strong>Governments need to pass laws mandating that smart glasses cannot function without a physical, hardwired, un-bypassable indicator light. <strong>If the circuit to the LED is broken, the power to the camera sensor must be physically cut. </strong>Similar to how cars must have seatbelts, this should just be a thing by law.</li><li><strong>Treat Etsy modders like wiretappers: </strong>Meta’s busy banning these modding businesses from Facebook Marketplace, but that’s just a drop in the bucket compared to what I’ve found on the likes of Etsy and Shopify, as well as the dark web.<strong> Lawmakers should treat businesses who modify smart glasses like this in the same way they treat businesses that sell illegal wiretapping equipment.</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1421px;"><p class="vanilla-image-block" style="padding-top:70.37%;"><img id="Mq6sb9tD67cn3YB2yXFzEf" name="Etsy" alt="Etsy" src="https://cdn.mos.cms.futurecdn.net/Mq6sb9tD67cn3YB2yXFzEf.png" mos="" align="middle" fullscreen="1" width="1421" height="1000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Mq6sb9tD67cn3YB2yXFzEf.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Etsy)</span></figcaption></figure><ul><li><strong>Update the “peeping tom” laws for the digital age: </strong>Currently in the U.S. and U.K., peeping tom and voyeurism laws are heavily tethered to the physical location of the victim, rather than the deceptive intent of the perpetrator. <strong>These laws need to be modernized to penalize covert, disguised or altered recording devices in any space.</strong></li></ul><h2 id="outlook">Outlook</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/EaJSPeJmqis" allowfullscreen></iframe></div></div><p>I can’t lie, I do rather like wearing <a href="https://www.tomsguide.com/computing/vr-ar/best-smart-glasses">smart glasses</a> for the convenience of their features. But that doesn’t make me blind to this massive problem, and rightly so, people are mad after reading the same stories of secret filming that I have.</p><p>Meta’s update is essentially putting a better lock on the door of it all, but it ignores the fact that a crowd of people is still trying to kick the door down. Much like Nintendo Switch’s update that was supposed to stop piracy in 2018 or Apple’s software locks on third-party iPhone parts, hackers and modders will eventually find a new way around this.</p><p>Maybe it’s wiring a tiny internal LED that tricks the camera into thinking the external light is on? That’s what Gemini said anyway (yikes)! Put simply, tech fixes are temporary, but true privacy protection will only happen when society decides that secret recording is socially unacceptable.</p><p>And that starts with the law treating the creators and facilitators of this tech as criminals — not just innovative tinkerers or innocent content creators.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/smart-glasses/ive-traveled-over-50-000-miles-testing-smart-glasses-in-2026-here-are-my-3-favorites-that-have-launched-this-year-so-far">I’ve traveled over 50,000 miles testing smart glasses in 2026 — here are my 3 favorites that have launched this year so far</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/metas-new-smart-glasses-paywall-hurts-people-who-are-hard-of-hearing-and-its-a-new-low-for-tech-shrinkflation">I already paid $300 for Meta’s smart glasses — now it's charging $20 a month for a key feature</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/major-leak-reveals-samsung-galaxy-glasses-controls-pairing-modes-and-how-they-might-work-with-smart-watches-and-rings">Major leak reveals Samsung Galaxy Glasses controls, pairing modes and how they might work with smart watches and rings</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ From hidden menus to frustrating trade-offs, our complete comparison of major AI chatbot privacy controls shows exactly how ChatGPT, Google Gemini, and others track your chats and what you can do to stop them ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/i-checked-the-privacy-settings-of-every-major-ai-chatbot-heres-how-they-actually-compare</link>
                                                                            <description>
                            <![CDATA[ I compared the privacy settings of ChatGPT, Google Gemini, Claude, Copilot, Meta AI and Grok to see which made it easiest to opt out of AI training. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7EMdc6afSCPTuSrxbxYrLW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9SPX3KFaKvAj2EFwmdWntR-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 08 Jul 2026 10:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 08 Jul 2026 20:06:39 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/9SPX3KFaKvAj2EFwmdWntR-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[AI ChatGPT vs. Gemini vs. Claude logos on phones]]></media:description>                                                            <media:text><![CDATA[AI ChatGPT vs. Gemini vs. Claude logos on phones]]></media:text>
                                <media:title type="plain"><![CDATA[AI ChatGPT vs. Gemini vs. Claude logos on phones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9SPX3KFaKvAj2EFwmdWntR-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Most of today's AI assistants can use at least some customer conversations to improve future models, although the rules vary dramatically depending on which service you're using, whether you have a personal or business account, and which privacy settings you've enabled.</p><p>After reading about <a href="https://www.tomsguide.com/computing/google-wants-to-train-its-ai-on-your-search-history-you-dont-have-to-let-it">Google's latest changes around Search and AI training</a>, I decided to spend some time checking the privacy controls for every major AI chatbot I use regularly. </p><p>I wanted to know exactly which companies actually make it easy to control how your data is used. I did the work so you don't have to — here's how they actually compare.</p><h2 id="not-every-ai-company-plays-by-the-same-rules">Not every AI company plays by the same rules</h2><p>It's tempting to believe that all chatbots have similar privacy rules considering how similar they all seem. But behind the scenes, they're collecting and handling your data in very different ways.</p><p>Some make it easy to opt out of having conversations used to improve AI models. Others bury the controls several menus deep. And in some cases, there isn't a meaningful opt-out at all.</p><p>After comparing ChatGPT, Gemini, Claude, Microsoft Copilot, Meta AI and Grok, one thing became obvious: there is no industry standard for AI privacy.</p><h2 id="chatgpt-the-most-straightforward">ChatGPT: The most straightforward</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2250px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="57hs6JrgxS3E997ibBEXEj" name="ChatGPT incognito 5.jpg" alt="ChatGPT settings menu" src="https://cdn.mos.cms.futurecdn.net/57hs6JrgxS3E997ibBEXEj.jpg" mos="" align="middle" fullscreen="" width="2250" height="1266" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The biggest surprise for me was ChatGPT. I was not expecting the settings to be as easy to understand. Quite the contrary, I expected the settings to be buried somewhere inside a privacy dashboard. Instead, they're right where most people would think to look.</p><p><strong>Open Settings > Data Controls</strong> and you'll see a switch labeled "Improve the model for everyone."</p><p>Turn it off, and OpenAI says your future conversations won't be used to improve its models.</p><p>You can also use <a href="https://www.tomsguide.com/ai/ive-started-using-chatgpts-incognito-mode-every-time-heres-4-reasons-why-and-how-to-do-it">Temporary Chat</a>, which doesn't save conversations to your history or use them for model training.</p><p>It took less than a minute to change. Whether you're comfortable sharing conversations or not, I appreciated how straightforward the process was.</p><h2 id="google-gemini-transparent-but-with-a-tradeoff">Google Gemini: Transparent, but with a tradeoff</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="APVGR3LfkGdLNdwq4xWbJX" name="s25-ultra-gemini" alt="Google Gemini performing Cross App action on a Galaxy s25 Ultra" src="https://cdn.mos.cms.futurecdn.net/APVGR3LfkGdLNdwq4xWbJX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Google's controls weren't especially difficult to find either. Gemini Apps Activity lets you decide whether your conversations are stored and used according to Google's policies.</p><p>The catch is that disabling activity also changes how Gemini works. You'll lose saved chat history, and some personalized experiences disappear along with it. That's not necessarily a bad tradeoff, just something you'll have to weigh before making the switch.</p><p>As mentioned, Google recently <a href="https://www.tomsguide.com/ai/google-just-changed-a-major-privacy-setting-heres-the-switch-i-turned-off-immediately">confirmed that some Search interactions</a> — including uploads used with <a href="https://www.tomsguide.com/ai/google-gemini/google-search-box-just-got-the-biggest-makeover-in-nearly-30-years">AI-powered Search features</a>, may contribute to improving its AI systems unless you disable the relevant activity settings.</p><h2 id="claude-clear-controls-with-some-fine-print-worth-reading">Claude: Clear controls, with some fine print worth reading</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ehRQPagfgfcNUEqyrgR9bd" name="Claude Privacy" alt="Claude Privacy" src="https://cdn.mos.cms.futurecdn.net/ehRQPagfgfcNUEqyrgR9bd.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Anthropic introduced a training opt-in for its consumer Claude products (Free, Pro and Max) in August 2025. Users were asked to decide whether their conversations could be used to improve future models, with a deadline to make their choice.</p><p>The setting lives under <strong>Settings > Privacy</strong>, where you'll find a toggle labeled "Improve Claude for everyone." Turn it off and Anthropic says your future conversations won't be used for model training.</p><p>Like ChatGPT, the change is forward-looking — it doesn't pull your data out of models that have already been trained. And if you leave the toggle on, Anthropic's retention period for that data extends from 30 days to up to five years.</p><p>There's also an Incognito mode, accessible via a ghost icon in the interface. Incognito conversations aren't used for training regardless of your main toggle setting, which is a useful option for one-off sensitive queries.</p><p>One thing worth noting: Anthropic's privacy policy includes a carve-out for conversations flagged by its safety classifiers. Even if you've opted out, flagged content may still be used to improve Anthropic's internal trust and safety systems. The policy doesn't define exactly what triggers a flag or commit to notifying users when one occurs.</p><p>Business and API users operate under separate commercial terms, and their data isn't used for model training by default.</p><h2 id="microsoft-copilot-it-depends-on-which-product-you-re-using">Microsoft Copilot: It depends on which product you're using</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="s6daGB6yqDwY346NPjhUBg" name="Microsoft Copilot.jpg" alt="Microsoft Copilot" src="https://cdn.mos.cms.futurecdn.net/s6daGB6yqDwY346NPjhUBg.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Microsoft was the hardest to summarize because the answer changes depending on where you're using AI.</p><p>For the consumer Copilot experience (used with a personal Microsoft account), Microsoft does use conversation data — including voice interactions and uploaded files' context — to train its AI models by default. </p><p>However, an opt-out exists. On copilot.com or the desktop app, go to your <strong>profile icon > your profile name > Privacy >Training on conversation activity</strong>. </p><p>On mobile, the path is <strong>Menu > profile icon > Account > Privacy > Training</strong> <strong>on conversation activity</strong>. Opting out excludes your future conversations from model training.</p><p>One detail that separates Microsoft from the pack is that even if you don't opt out, Microsoft says personal identifiers are anonymized before data is used for training. Uploaded files themselves are never used for training and are deleted after 30 days.</p><p>For Microsoft 365 Copilot used through a work or school account, the picture is much cleaner. Microsoft explicitly states that enterprise data is not used to train its foundation AI models. Your organization's IT administrator controls the relevant settings, and users in those environments won't even see a training toggle.</p><p>The gap between these two experiences is significant because a personal user who doesn't dig into settings is opted in by default. An enterprise user is protected by contract. If you're using Copilot casually with a personal account, it's worth the two minutes to check.</p><h2 id="meta-ai-no-simple-opt-out-for-most-users">Meta AI: No simple opt-out for most users</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="m62uRJJu6At56Ss2hpqt5R" name="Meta_Facebook Settings and Privacy" alt="Meta/Facebook Settings and Privacy" src="https://cdn.mos.cms.futurecdn.net/m62uRJJu6At56Ss2hpqt5R.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Meta AI is where the comparison gets uncomfortable. Unlike every other service on this list, Meta doesn't offer U.S. users a simple toggle to opt out of AI training. Your public posts, comments, captions and interactions with Meta AI across Facebook, Instagram and WhatsApp can all be used to train Meta's generative AI models.</p><p>EU and UK users have stronger protections, they can submit a formal objection through Meta's Privacy Center under GDPR rights, and Meta is required to review it. </p><p>But for users in the United States, the only available option is a third-party information form designed for cases where your personal data appeared in an AI-generated response. Meta doesn't guarantee it will honor these requests.</p><p>There's also no way to submit an opt-out request specifically for Meta AI interactions on WhatsApp. Meta says private messages aren't used for training, but any conversation you have directly with Meta AI can be.</p><p>Making your accounts private reduces your exposure, since Meta says it doesn't scrape private posts. But that's a blunt instrument, it changes your entire social media experience to address an AI training concern.</p><p>To make matters more complex, as of late <a href="https://www.reuters.com/business/media-telecom/meta-use-ai-chats-personalize-content-ads-december-2025-10-01/" target="_blank">2025 Meta began using AI chat interactions for ad targeting across its platforms</a>, with no opt-out available for that specific use.</p><h2 id="grok-an-opt-out-exists-but-the-scope-is-wider-than-you-d-expect">Grok: An opt-out exists, but the scope is wider than you'd expect</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4452px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="dnT3eqsB75oW79opwoTRjY" name="Grok lead" alt="Grok logo on a phone handset on a keyboard" src="https://cdn.mos.cms.futurecdn.net/dnT3eqsB75oW79opwoTRjY.jpg" mos="" align="middle" fullscreen="" width="4452" height="2504" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Grok, built by xAI and integrated into X (formerly Twitter), does offer a training opt-out, but the situation is more complicated than it first appears because there are actually two separate data flows to manage.</p><p>First, there's your Grok conversation data. You can disable training use by going to <strong>Settings > Data Controls</strong> within Grok and turning off the relevant toggle. xAI has confirmed that once disabled, your future chats won't be used for model training.</p><p>Second, there's your X platform data. By default, your public posts, likes and interactions on X are also used to train Grok, regardless if you've ever opened the chatbot. To disable this, go to <strong>Settings and Privacy > Privacy and Safety </strong>on X and find the Grok data-sharing section.</p><p>Both settings need to be turned off separately. Disabling one doesn't affect the other.</p><p>That dual structure is the key difference between Grok and standalone chatbots like ChatGPT or Claude. Those services only train on what you tell them directly. Grok can train on everything you've ever posted publicly on X, and opting out doesn't retroactively remove data that's already been collected.</p><p>Grok also offers a Private Chat mode, where conversations aren't saved and are deleted within about 30 days, similar to incognito features on other platforms. But the broader X data pipeline makes the overall privacy picture murkier than the conversation-level toggle alone would suggest.</p><h2 id="what-i-learned">What I learned</h2><p>At one end, ChatGPT and Claude offer clear, easy-to-find toggles that take under a minute to change. Google is similarly accessible but comes with a functional tradeoff. Microsoft splits the difference depending on whether you're a personal or enterprise user.</p><p>At the other end, Meta offers U.S. users no meaningful conversation-level opt-out, and Grok requires managing two separate settings across two different interfaces to fully limit your exposure.</p><p>As AI becomes part of everyday life, it's important to really understand the privacy settings. Choosing a chatbot may involve more than deciding which one writes the best email or creates the best image and come down to a much simpler question: Which company do you trust with your conversations and how hard do they make you work to answer that for yourself? <br><br>Let me know in the comments which chatbot you prefer and why. </p><a href="https://follow.it/articles-by-amanda-caswell-tom-s-guide?leanpub" class="button button--large button--primary">Follow Amanda Caswell and stay ahead of the AI curve</a><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/gemini-isnt-just-a-chatbot-anymore-here-are-13-things-it-can-do-in-2026">Gemini isn't just a chatbot anymore — here are 13 things it can do in 2026</a></li><li><a href="https://www.tomsguide.com/ai/i-replaced-my-true-crime-podcast-with-chatgpt-voice-for-a-week-heres-what-happened">I replaced my true crime podcast with ChatGPT Voice for a week — here's what happened</a></li><li><a href="https://www.tomsguide.com/ai/chatgpt-isnt-just-a-chatbot-anymore-here-are-11-things-it-can-do-in-2026">ChatGPT isn't just a chatbot anymore — here are 11 things it can do in 2026</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Pixel 11 release date and prices leak as official August 12 Pixel event invites go out ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-release-date-and-prices-leak-as-official-august-12-pixel-event-invites-go-out</link>
                                                                            <description>
                            <![CDATA[ Two new leaks reveal a Pixel 11 price hike and Google's next phones event. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">DKvkMprTyFcYn2utFzRdRS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/QBuLV7goRtYZ78vKnxmd2h-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 07 Jul 2026 18:45:00 +0000</pubDate>                                                                                                                                <updated>Tue, 07 Jul 2026 18:45:08 +0000</updated>
                                                                                                                                            <category><![CDATA[Google Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/QBuLV7goRtYZ78vKnxmd2h-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Pixel 10 lineup.]]></media:description>                                                            <media:text><![CDATA[Pixel 10 lineup.]]></media:text>
                                <media:title type="plain"><![CDATA[Pixel 10 lineup.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/QBuLV7goRtYZ78vKnxmd2h-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Compared to the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Samsung Galaxy Z Fold 8</a> foldables and whatever Apple is doing with its<a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-vs-iphone-18-pro-max-five-biggest-expected-differences"> iPhone 18 Pro </a>models, Google's Pixel series has had a relatively quiet summer. However, that just changed with two different leaks that revealed the release date and a potential price hike for the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-everything-we-know-so-far">Google Pixel 11</a> lineup.</p><p>First up, Bloomberg's Mark Gurman, who normally focuses on all things Apple, <a href="https://x.com/markgurman/status/2074531443795984714" target="_blank">posted on X</a> an image of an invitation to a Pixel event in August.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">Google Pixel event - August 12 pic.twitter.com/Veo1RCJN7j<a href="https://twitter.com/cantworkitout/status/2074531443795984714">July 7, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>Based on the image, Google is planning to introduce "the next generation of Pixel" in New York City on August 12 starting at 6 PM ET, a surprisingly late in the day launch.</p><p>The image shows what looks like two phones in semi-shadow with a hint of a bronze or gold color, which hints at a potential hue for Pixel 11.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OdRGoe"></div>                            </div>                            <script src="https://kwizly.com/embed/OdRGoe.js" async></script><p>Tom's Guide will be at the event so keep us in your tabs as we cover everything Google announces on August 12.</p><p>No word on if Jimmy Fallon will host again.</p><h2 id="price-hike-and-a-dropped-storage-size">Price hike and a dropped storage size</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eE8yFNLAbzXX3wcHvn6tW4" name="Pixel-10-Pro-08" alt="Google Pixel 10 pro moonstone review images" src="https://cdn.mos.cms.futurecdn.net/eE8yFNLAbzXX3wcHvn6tW4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The second leak comes from the <a href="https://www.dealabs.com/magazine/google-pixel-11-on-vous-devoile-les-prix-et-la-date-de-sortie-en-exclusivite-61540" target="_blank">French site Dealabs</a><a href="https://www.dealabs.com/magazine/google-pixel-11-on-vous-devoile-les-prix-et-la-date-de-sortie-en-exclusivite-61540" target="_blank">, </a>which regularly seems to dig up pricing news for the EU. The publication reports that the Pixel 11 is getting a price hike, sort of. </p><p>The increase is coming in the form of a storage tier change. Google may finally be dropping the 128GB storage option instead offering the 256GB tier as the base version with 512GB and 1TB as larger variants.</p><p>That does mean the base model is now more expensive. It seems, at least in the E.U., prices are also going up by €100 for every model, though.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Pixel 11</p></th><th  ><p>Pixel 11 Pro</p></th><th  ><p>Pixel 11 Pro XL</p></th><th  ><p>Pixel 11 Pro Fold</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>256GB</strong></p></td><td  ><p>€999/£879</p></td><td  ><p>€1,199/£1,079</p></td><td  ><p>€1,399/£1,279</p></td><td  ><p>€1,999/£1,799</p></td></tr><tr><td class="firstcol " ><p><strong>512GB</strong></p></td><td  ><p>€1,129/£999</p></td><td  ><p>€1,329/£1,199</p></td><td  ><p>€1,529/£1,399</p></td><td  ><p>€2,129/£1,919</p></td></tr><tr><td class="firstcol " ><p><strong>1TB</strong></p></td><td  ><p>N/A</p></td><td  ><p>€1,589/£1,429</p></td><td  ><p>€1,789/£1,629</p></td><td  ><p>€2,389/£2,149</p></td></tr></tbody></table></div><p>E.U. costs don't directly translate to U.S. pricing, but it's more than likely we can expect some kind of increase in America, especially if the 128GB version is being dropped.</p><p>For comparison, last year the Pixel 10 started at $799, $899 for the Pro, and $1,199 for the Pro XL. The Pixel 10 Pro Fold started at $1,799. A similar hike would jump them to $899, $999, $,12,99 and $1,899.</p><p>The report also revealed colorways for every Pixel 11 phone:</p><ul><li><strong>Pixel 11:</strong> Light Sterling, Midnight Haze, Fuchsia, Moss</li><li><strong>Pixel 11 Pro:</strong> Light Fog, Midnight Haze, Dune, Pine</li><li><strong>Pixel 11 Pro XL:</strong> Light Fog, Midnight Haze, Dune, Pine</li><li><strong>Pixel 11 Pro Fold:</strong> Midnight Haze, Pine</li></ul><p>Dealabs also claimed that Pixel 11 would release on August 20  with a potential August 11 announcement date. Which does track with Gurman's August 12 event.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/phones-need-to-focus-less-on-ai-and-more-on-what-makes-hardware-actually-great-heres-why">Phones need to focus less on AI, and more on what makes hardware actually great — here's why</a></li><li><a href="https://www.tomsguide.com/phones/android-phones/this-hidden-android-feature-gives-you-quick-and-simple-access-to-a-bunch-of-core-settings-heres-how-it-works">This hidden Android feature gives you quick and simple access to a bunch of core settings — here's how it works</a></li><li><a href="https://www.tomsguide.com/computing/google-wants-to-train-its-ai-on-your-search-history-you-dont-have-to-let-it">Google wants to train its AI on your search history. Here's how to opt out now</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google wants to train its AI on your search history. Here's how to opt out now ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/google-wants-to-train-its-ai-on-your-search-history-you-dont-have-to-let-it</link>
                                                                            <description>
                            <![CDATA[ Opt out of Google's new data collection feature before your media gets used to train its AI models. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cgyGBrofWBGHB7UWEqWAmF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/QLNMZb6JY2uTv6u5fHKUSD-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 07 Jul 2026 06:32:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/QLNMZb6JY2uTv6u5fHKUSD-1280-80.jpg">
                                                            <media:credit><![CDATA[Ink Drop/Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Padlock shadow in front of the Google Chrome logo]]></media:description>                                                            <media:text><![CDATA[Padlock shadow in front of the Google Chrome logo]]></media:text>
                                <media:title type="plain"><![CDATA[Padlock shadow in front of the Google Chrome logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/QLNMZb6JY2uTv6u5fHKUSD-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google is rolling out a new setting called "Search Services History" that saves your media inputs like Google Lens photos, Google Translate data and voice searches to train its AI models.</p><p>If you already have Google's master Web & App Activity turned off, you're safe. But for everyone else, this feature is enabled by default. It doesn't scrape external files you just listen to or click on, but it does harvest the voice commands and images you directly upload.</p><p>Taking action now matters. While deleting your history disconnects it from your account immediately, an anonymized version can still sit in Google's AI training systems for up to four years.</p><p>Here is how to check your account and turn it off immediately.</p><section class="howto-block">                    <h3>How to opt out of Google AI data training </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/QMBfizTTwtsATLwvxKLLXN.jpg"                                        alt="How to opt out of Google AI data training"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/QMBfizTTwtsATLwvxKLLXN.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p><strong>Go to myactivity.google.com and sign in to your Google account</strong>. Then <strong>look for the "Search Services History"</strong> <strong>tab </strong>— this is where Google is storing your media uploads. If you see it, <strong>you'll find a toggle at the top you can turn off</strong>. </p><p>Most importantly, <strong>find the checkbox labeled "Save media" and uncheck it immediately</strong>. This is the critical step that prevents your future images, audio, and video inputs from being used to train Google's AI models.  </p><p>Because Google is rolling this out in waves, you might not see that new tab yet. If you don't, <strong>click on</strong> <strong>Web & App Activity</strong> instead, scroll down, and <strong>look for</strong> <strong>"Include voice and audio activity" and uncheck it.</strong></p><p>Once you uncheck those media boxes, Google will stop collecting new media for AI training going forward. You should do this right now, as the longer you wait, the more of your active uploads get swept into Google's dataset. </p><p>While you can delete individual files later to disconnect them from your profile, any data already swallowed by the AI training system can remain anonymized in their loops for up to four years before it's completely cleared.  </p></p>                </section><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X7A0dW"></div>                            </div>                            <script src="https://kwizly.com/embed/X7A0dW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/computing/search-engines/i-finally-figured-out-how-to-turn-off-googles-ai-overviews-and-search-is-actually-useful-again">Tired of Google's AI Overviews? Three easy workarounds to bring back traditional search</a></li><li><a href="https://www.tomsguide.com/computing/email/after-two-decades-google-finally-rolls-out-a-way-to-change-your-gmail-address-heres-how">After two decades, Google finally rolls out a way to change your Gmail address — here's how</a></li><li><a href="https://www.tomsguide.com/entertainment/streaming/i-refuse-to-give-netflix-a-new-email-for-every-profile-use-this-simple-gmail-trick-instead">I refuse to give Netflix a new email for every profile. Use this simple Gmail trick instead</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Gemini isn't just a chatbot anymore — here are 13 things it can do in 2026 ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/gemini-isnt-just-a-chatbot-anymore-here-are-13-things-it-can-do-in-2026</link>
                                                                            <description>
                            <![CDATA[ Gemini is much more than a chatbot in 2026. Here are 13 powerful features — from Gemini Live to NotebookLM — that are worth trying today. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7d5YVctJFx6RejFyX7kgTB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/d6iRrNAQeYiESHsFCyjoUK-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 06 Jul 2026 05:30:00 +0000</pubDate>                                                                                                                                <updated>Tue, 07 Jul 2026 08:52:46 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/d6iRrNAQeYiESHsFCyjoUK-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Gemini]]></media:description>                                                            <media:text><![CDATA[Gemini]]></media:text>
                                <media:title type="plain"><![CDATA[Gemini]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/d6iRrNAQeYiESHsFCyjoUK-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you haven't used Gemini in a while, there's a good chance you're still thinking of it as Google's version of ChatGPT. And honestly, that's how I used to think of it, too. </p><p>But over the past year, <strong>Google has transformed Gemini into something much bigger</strong>. Today it can watch what you're seeing through your phone's camera, research complex topics for you, generate videos, organize long-term projects, work across Gmail and Google Docs, and even turn your notes into podcast-style conversations.</p><p>In other words, Gemini isn't just a chatbot anymore.</p><p>After spending the past year testing and reviewing Google's latest AI features, these are the ones I think are genuinely worth trying. Note that <strong>some of the features below require a Google AI Pro or Ultra subscription</strong>.</p><h2 id="1-have-a-real-conversation-with-gemini-live">1. Have a real conversation with Gemini Live  </h2><p>Gemini Live is probably the biggest reason I no longer think of Gemini as just another chatbot. Instead of typing back and forth, you simply start talking. The conversation feels much more natural, making it ideal for brainstorming article ideas, planning trips or working through complicated problems out loud.</p><p>It's great for Googling on the go or just for those times when talking makes more sense than typing like when you're driving, tinkering around in the garage or cooking a meal. </p><h2 id="2-let-gemini-see-what-you-re-seeing">2. Let Gemini see what you're seeing  </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="TkaGkaHxBwBACsq4UGKHQh" name="gemini poison ivy.JPEG" alt="An iphone taking a photo of ivy" src="https://cdn.mos.cms.futurecdn.net/TkaGkaHxBwBACsq4UGKHQh.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Besides chatting with Gemini Live, you can also share your camera or screen with it so it sees what you're seeing. <strong>I've used it to identify objects, explain what was on my screen and troubleshoot technical problems</strong> without having to describe everything manually. <a href="https://www.tomsguide.com/home/gardening/im-seriously-allergic-to-poison-ivy-this-gemini-feature-helps-me-when-im-weeding">You could even use it to identify poison ivy. </a><br><br>Sometimes, I simply don't know how to describe what I'm looking at, especially when it comes to what's under the hood of my car. </p><p>Being able to simply point your phone at something changes the entire interaction.</p><h2 id="3-let-deep-research-do-the-heavy-lifting">3. Let Deep Research do the heavy lifting  </h2><p><a href="https://www.tomsguide.com/ai/googles-gemini-deep-research-is-now-free-heres-how-to-use-it">Deep Research</a> remains one of Gemini's most impressive tools. Instead of answering with a few paragraphs, <strong>Gemini creates a research plan, searches across the web, analyzes information and produces a detailed report</strong> you can refine afterwards. </p><p>In April 2026, Google upgraded Deep Research with <a href="https://www.tomsguide.com/ai/gemini-3-1-pro-is-a-powerhouse-for-deep-work-here-are-7-prompts-that-prove-it">Gemini 3.1 Pro</a> and introduced Deep Research Max, adding MCP support for connecting to private data sources, native visualizations and significantly improved analytical quality.</p><p>I've used it to get up to speed on complicated AI topics far faster than opening dozens of browser tabs or learning from a textbook.</p><h2 id="4-generate-ai-videos-with-gemini-omni">4. Generate AI videos with Gemini Omni  </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2290px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="KASwcfsqwhnV7CnFtSgv6Y" name="Gemini Omni" alt="gemini omni" src="https://cdn.mos.cms.futurecdn.net/KASwcfsqwhnV7CnFtSgv6Y.jpg" mos="" align="middle" fullscreen="" width="2290" height="1288" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Gemini can now generate and edit videos using <a href="https://www.tomsguide.com/ai/gemini-omni-flash-can-create-and-edit-videos-with-your-voice-and-it-feels-like-the-future-of-multimodal-ai">Gemini Omni</a>, which replaced Google's earlier<a href="https://www.tomsguide.com/ai/i-used-googles-veo-3-to-create-ai-asmr-food-videos"> Veo model in the Gemini app</a>. Omni combines Gemini's core intelligence with advanced generative media capabilities, letting you create videos from text prompts, animate photos or edit existing videos through natural conversation.</p><p>Whether you want a cinematic landscape, a short social clip or a visual concept for a presentation, it's one of the most capable consumer AI video tools currently available. Video generation requires a Google AI subscription.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-egK06e"></div>                            </div>                            <script src="https://kwizly.com/embed/egK06e.js" async></script><h2 id="5-create-and-edit-images">5. Create and edit images  </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9J5XLPbHzq6oSAZyRXNZQV" name="Google Photos remix on Google TV" alt="Google Photos remix on Google TV" src="https://cdn.mos.cms.futurecdn.net/9J5XLPbHzq6oSAZyRXNZQV.gif" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Gemini isn't limited to videos or even creating images from scratch. You can ask it to remove unwanted objects, replace backgrounds, extend photos, add new elements, change lighting and <strong>make detailed edits using natural language</strong>.<br><br>I've even used it for those times when a picture came out too dark or the cropping is wrong. It's a lot like having Photoshop but without the types of skills those types of apps require. For anyone who regularly shares images online, it's incredibly useful. </p><h2 id="6-organize-ongoing-projects-with-notebooks">6. Organize ongoing projects with Notebooks  </h2><p>One of my favorite additions this year is Notebooks. Not to be <a href="https://www.tomsguide.com/ai/i-finally-figured-out-when-to-use-gemini-notebooks-vs-notebooklm-heres-the-winning-workflow">confused with NotebookLM </a>this feature is a notebook dedicated to any type of project. You can add documents and files, keep related chats together and give Gemini ongoing context. <br><br>I actually replaced <a href="https://www.tomsguide.com/ai/i-replaced-my-notes-app-with-geminis-new-notebooks-and-im-not-going-back">my notes app</a> with Gemini notebooks because it syncs with NotebookLM. So any source I add in one place automatically appears in the other. That means you can use NotebookLM's unique features, like Video Overviews and Infographics, even if you started the notebook in Gemini. Notebooks are currently available to <a href="https://www.tomsguide.com/ai/googles-new-usd100-ai-ultra-plan-just-changed-the-ai-race-and-gemini-spark-is-the-biggest-reason-why">Google AI Ultra</a>, <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-is-launching-a-cheap-subscription-in-over-40-countries">Pro and Plus subscribers </a>on the web, with expanded access rolling out.</p><h2 id="7-turn-your-research-into-podcasts-and-videos">7. Turn your research into podcasts and videos  </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zc3hWwQFmngZG73gnhoJPG" name="8 (10)" alt="NotebookLM notes and sources" src="https://cdn.mos.cms.futurecdn.net/zc3hWwQFmngZG73gnhoJPG.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future/Amanda Caswell)</span></figcaption></figure><p><a href="https://www.tomsguide.com/ai/i-didnt-know-notebooklm-could-do-this-10-features-hiding-in-plain-sight">NotebookLM can do a lot of things </a>like help you study, create presentations or transform your uploaded documents into podcast-style Audio Overviews. I've found this surprisingly useful when reviewing long reports because listening often helps me catch details I'd skim over while reading.</p><p>NotebookLM has also expanded beyond audio in 2026, adding Cinematic Video Overviews, infographics and interactive study guides that make it easier to engage with dense material in different formats.</p><h2 id="8-build-documents-and-code-with-canvas">8. Build documents and code with Canvas  </h2><p>Canvas gives Gemini a <strong>dedicated workspace where you can collaborate on long documents and coding projects</strong>.</p><p>Instead of generating one response at a time, you can keep refining the same project without constantly copying and pasting between apps. A new Create menu also lets you transform text into web pages, visual infographics, quizzes and Audio Overviews. Google AI Pro and Ultra subscribers get access to Gemini 3 and a larger one-million-token context window for more complex projects.</p><h2 id="9-create-your-own-custom-ai-experts-with-gems">9. Create your own custom AI experts with Gems  </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oks4o3EWmghwJPnwoWHwMg" name="z (90)" alt="Gemini Gems" src="https://cdn.mos.cms.futurecdn.net/oks4o3EWmghwJPnwoWHwMg.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you repeatedly ask Gemini to do the same kinds of tasks, <a href="https://www.tomsguide.com/ai/i-turned-gemini-gems-into-automated-google-workspace-agents-heres-how">Gems</a> can save you a lot of time. You can create specialized assistants for things like meal planning, trip planning, studying, coding, editing and brainstorming.</p><p>Once they're set up, they're ready whenever you need them.</p><h2 id="10-work-directly-inside-gmail-docs-and-drive">10. Work directly inside Gmail, Docs and Drive  </h2><p>One advantage Google has over many competitors is how deeply Gemini is integrated into Workspace.</p><p>Rather than copying information into a chatbot, Gemini can summarize email threads, help draft responses, organize documents and answer questions about your files while you're already working. You can even take it a step further with <a href="https://www.tomsguide.com/ai/googles-personal-intelligence-connects-your-emails-photos-and-purchases-and-it-could-change-how-you-use-ai-forever">Personal Intelligence</a> — a highly personalized memory feature that knows your preferences, searches and utilizes your own Workspace to deliver tailored responses to your prompts. </p><h2 id="11-get-a-personalized-daily-brief">11. Get a personalized Daily Brief  </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rB7TJJ7XEyGFJGxq6ctoq3" name="Gemini AI.JPEG" alt="Gemini sending details to contacts" src="https://cdn.mos.cms.futurecdn.net/rB7TJJ7XEyGFJGxq6ctoq3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>Speaking of Personal Intelligence, one of the newer additions is Daily Brief, a personalized daily overview. It pulls priorities from your connected apps like Gmail and Google Calendar, organizes what's top of mind and suggests next steps so you can start your day with a clear plan instead of scrambling through tabs and inboxes.<br><br><a href="https://www.tomsguide.com/ai/i-turned-off-gemini-personal-intelligence-for-a-week-and-im-not-going-back">I found it to be a bit too much for me</a>, but give it a try and see how you like it. </p><h2 id="12-brainstorm-ideas-instead-of-writing-prompts">12. Brainstorm ideas instead of writing prompts  </h2><p>Not all chatbots are the same and I often use Gemini to brainstorm rather than any other AI. Gemini searches the web in real time, which is something I find myself asking ChatGPT or Claude to do. Those two chatbots don't automatically do it, even when it seems obvious. <br><br>Because of this, whether I'm brainstorming weekend activities and week night meals or fact-checking the latest AI news, Gemini is my favorite brainstorming partner. </p><h2 id="13-schedule-future-tasks">13.  Schedule future tasks  </h2><p>Gemini can handle recurring and scheduled actions, making it useful for routine reminders and future tasks instead of only responding in the moment. I have it send me the latest AI news at 6 a.m. every morning. It's great for daily news digests, weekly summaries of your calendar and emails, or monthly reports on topics you're tracking. </p><p>Scheduled actions require a Google AI Pro or Ultra subscription and support up to 10 active actions at a time.</p><h2 id="the-takeaway-4">The takeaway</h2><p>The biggest surprise for me about Gemini's capabilities isn't just the fact that it is incredibly faster and smarter, but that the collection of featuers is so broad. <br><br>It's a creative assistant, deep researcher, personal shopper and organizer. So, if your impression of Gemini is still based on the chatbot Google launched a few years ago, it's worth taking another look. Chances are you'll discover features you didn't even realize were there.<br><br>Comment if you've tried Gemini and share what features you use the most. </p><a href="https://follow.it/articles-by-amanda-caswell-tom-s-guide?leanpub" class="button button--large button--primary">Follow Amanda Caswell and stay ahead of the AI curve</a><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/stop-clicking-new-chat-in-chatgpt-staying-in-the-same-conversation-gets-you-better-answers">Stop clicking 'New Chat' in ChatGPT — staying in the same conversation gets you better answers</a></li><li><a href="https://www.tomsguide.com/ai/bill-gates-says-only-four-jobs-are-safe-from-ai-but-here-are-7-other-predictions-hes-made-that-didnt-age-well">Bill Gates says only four jobs are safe from AI — but here are 7 other predictions he's made that didn't age well</a></li><li><a href="https://www.tomsguide.com/ai/chatgpt-isnt-just-a-chatbot-anymore-here-are-11-things-it-can-do-in-2026">ChatGPT isn't just a chatbot anymore — here are 11 things it can do in 2026</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Phones need to focus less on AI, and more on what makes hardware actually great — here's why ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/phones-need-to-focus-less-on-ai-and-more-on-what-makes-hardware-actually-great-heres-why</link>
                                                                            <description>
                            <![CDATA[ AI is the hot new thing in the tech world, but it's the only thing phone companies seem to care about these days. It's high time they started focusing on everything else, too. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cHGw94WMF5j5om5g6vbVvJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vd4AMmAxn8MgQeFJtcEy57-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 05 Jul 2026 04:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vd4AMmAxn8MgQeFJtcEy57-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Siri AI on iPhone]]></media:description>                                                            <media:text><![CDATA[Siri AI on iPhone]]></media:text>
                                <media:title type="plain"><![CDATA[Siri AI on iPhone]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vd4AMmAxn8MgQeFJtcEy57-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's no secret that phones have been pretty stagnant for the past several years. In fact, the last time phones started doing something truly original was eight years ago, when the<a href="https://www.tomsguide.com/us/foldable-smartphone-guide,review-5925.html"> first foldable phones </a>hit the scene, and even that was an exception rather than the norm. Incremental updates are just part and parcel of the phone industry.</p><p>In recent years, phone companies have been trying to offer a different solution: AI. </p><p>Rather than offering major upgrades to the phones themselves, it's all about the newest AI features and capabilities that are on offer. While I will be the first to admit that software is just as important as hardware, it's starting to feel like phone makers are using AI as a crutch to cover for their own weak upgrades — and I'm rather sick of it.</p><p>Considering flagship phones cost several hundred dollars, and over a thousand in many cases, we need more than just a few more flashy AI-centric features that may or may not be useful.</p><h2 id="overreliance-on-ai-is-lazy">Overreliance on AI is lazy</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2715px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vbGrCLaZGfUvCojyg8YYUd" name="Galaxy S26 Ultra 24 hours-12" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/vbGrCLaZGfUvCojyg8YYUd.jpg" mos="" align="middle" fullscreen="" width="2715" height="1527" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Yes, I get it, having a strong AI means the features on your phone are bigger and better than they otherwise could have been. In theory, features like <a href="https://www.tomsguide.com/phones/samsung-phones/how-to-turn-on-galaxy-s26s-now-nudge-and-how-it-works">Samsung Now Nudge</a> or Google Lens wouldn't be as effective if there weren't an AI model working in the background to analyze all the relevant data and figure out exactly what the user wants and needs. </p><p>But this doesn't change the fact that AI seems to be the only thing any phone company is willing to talk about right now. The emphasis does not seem to be on making better phones; it's about filling them up with as many AI features as possible at the expense of other advancements.</p><p>Take, for instance, the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Samsung Galaxy S26 Ultra</a>. It is, without any doubt, one of the <a href="https://www.tomsguide.com/best-picks/best-phones">best phones</a> you can buy right now. But its hardware hasn't changed all that much from the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s25-ultra-review">Galaxy S25 Ultra</a> that was released last year. The biggest upgrades are the addition of the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26s-privacy-display-is-imperfect-but-you-should-use-it-anyway-heres-how">Privacy Display</a> and the increased wired and wireless charging speeds. But everything else? The differences are so minor that the majority of people won't notice any difference.</p><p>The same was true of the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-review-a-great-phone-but-it-doesnt-feel-like-much-of-an-upgrade">Pixel 10 Pro</a>. The phone did come packing <a href="https://www.tomsguide.com/phones/what-is-qi2-wireless-charging">Qi2 wireless charging</a>, complete with full magnetic support; the rest of the phone <a href="https://www.tomsguide.com/phones/google-pixel-phones/ive-been-using-the-pixel-10-pro-for-2-months-and-i-regret-the-upgrade">is only marginally different</a> from the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-9-pro-review">Pixel 9 Pro</a>. The camera quality is identical, battery life has barely improved, and the Tensor G5 is honestly not that impressive.</p><p>What both these phones have in common is how much their respective makers invested in the additional AI features. There were a lot of them, too, ranging from <a href="https://www.tomsguide.com/phones/google-pixel-phones/i-captured-these-100x-pro-res-zoom-photos-with-the-pixel-10-pro-xl-and-the-results-blew-me-away">100x Super Res Zoom</a> to a<a href="https://www.tomsguide.com/ai/the-7-new-ai-features-coming-to-the-galaxy-s26-and-the-one-im-most-excited-about"> more advanced Circle to Search</a>. Potentially very useful things to have on your phone, but they aren't exactly major selling points. Certainly not when the hardware itself hasn't really improved by all that much.</p><h2 id="ai-features-rarely-stay-exclusive-for-long">AI features rarely stay exclusive for long</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vaKJULUMxGohris7ZHMYXm" name="Galaxy S25 vs S23-LEDE" alt="Galaxy S25 (right) vs Galaxy S23 (left)" src="https://cdn.mos.cms.futurecdn.net/vaKJULUMxGohris7ZHMYXm.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It's also worth noting that AI features that arrive on new phones have a habit of working their way back to older devices as well. There are limits to this, and there are AI features that require a certain kind of hardware to function properly — such as <a href="https://www.tomsguide.com/phones/iphones/the-robot-voice-is-gone-how-to-make-siri-sound-truly-human-in-ios-27">Siri AI's Expressive Voice feature</a>, which is only available if your <a href="https://www.tomsguide.com/phones/iphones/only-the-iphone-17-pro-and-iphone-17-air-get-apples-most-powerful-on-device-apple-intelligence-model-heres-what-that-means">iPhone has at least 12GB of RAM. </a></p><p>But there have still been plenty of instances where older devices get access to new AI features. Often, that means there's some sort of wait, but if you're patient, you will still get some, if not all, of the newest AI features on an older device.</p><p>Samsung's <a href="https://www.sammobile.com/news/samsung-galaxy-s25-stable-one-ui-8-5-update/" target="_blank">One UI 8.5 update</a> is a good example of that, removing Galaxy S26 exclusivity from a bunch of AI features like Call Screening, Creative Studio and Audio Magic eraser. That allowed older devices, notably the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s25-review">Galaxy S25</a>, to gain access to those features with a delay of just three months. Some features took a little longer to arrive, such as Priority Notifications and File Summaries, which landed as part of a security patch just last month.</p><p>I'll admit, some of the biggest features like the more advanced Circle to Search and Now Nudge are still exclusive to Galaxy S26 phones, so backward compatibility is never fully guaranteed. But if there's a precedent for bringing new AI features to older devices, then instigating an AI-first policy on future models may not be the success phone makers hoped it would be.</p><h2 id="ai-has-limits-and-ramageddon-proves-it">AI has limits, and RAMageddon proves it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3755px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iGGyvv7a4hQPrn26YbFnid" name="Galaxy S26 Ultra 24 hours-11" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/iGGyvv7a4hQPrn26YbFnid.jpg" mos="" align="middle" fullscreen="" width="3755" height="2112" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The other big problem with hedging all your bets on AI is that we're starting to see exactly how much of a financial cost that has. It doesn't matter whether AI features are designed to run on your device or through a cloud server; they rely on a specific level of hardware to operate. </p><p>The problem is, the ongoing AI boom means that this <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">hardware has suddenly skyrocketed in price</a>, and that means the price of your phone has to increase to offset the extra costs. So far, the smartphone industry hasn't been hit too hard by these effects, but we have still seen a variety of price hikes — such as those <a href="https://www.tomsguide.com/phones/samsung-phones/samsungs-galaxy-s26-price-hikes-make-these-s25-deals-unbeatable">affecting the Galaxy S26 Plus and Galaxy S26 Ultra</a>.</p><p>On top of that, we have seen Apple raise prices on its computing hardware, and all the predictions point to price hikes on the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-countdown-starts-now-5-rumored-upgrades-apple-could-be-giving-its-pro-models">iPhone 18 Pro</a> and <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-rumors-and-leaks-everything-we-know-so-far">iPhone 18 Pro Max</a> when they arrive in September — and <a href="https://www.tomsguide.com/phones/iphones/analysts-warn-the-iphone-18-price-hike-could-be-worse-than-we-thought">could rise as high as $200 as a result</a>. All because the cost of RAM and storage is now significantly more than it was a year ago, because of the demand caused by the recent AI push.</p><p>Suddenly, phone companies have a choice: either increase the price of their devices and risk the wrath of their customers, or downgrade the hardware and limit the on-device AI capabilities. It's very much a no-win situation, caused in part by the emphasis on creating "AI phones" and focusing on artificial intelligence above all else.</p><h2 id="bottom-line-phones-need-to-be-a-good-mix-of-everything">Bottom line: Phones need to be a good mix of everything</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="w4ggsUZxULQaBMcwv7iJs6" name="20260313_171514" alt="google pixel 10 pro images" src="https://cdn.mos.cms.futurecdn.net/w4ggsUZxULQaBMcwv7iJs6.jpg" mos="" align="middle" fullscreen="" width="4000" height="2252" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I go to a lot of events featuring new phones, including some of the biggest phone launches of the year. The one common factor they all have is the dominance of AI, especially in the premium models. I've never made any secret of my general dislike for AI, especially on phones, but the fact it keeps stealing so much focus really grinds my gears.</p><p>Can including AI make your smartphone experience better? Absolutely. Whether it's using computational photography to improve camera performance or adding various editing tools that fix those bothersome issues with the final product, there's definitely a place for AI on your phones. But it shouldn't come at the expense of everything else.</p><p>AI may be the new hip trend in the tech industry, with every company trying to capitalize in any way it can, but it shouldn't come at the expense of everything else. What I'm saying is, I'd like to see phone companies start to emphasize more than just how much AI they can cram into their phones with each passing upgrade. I want phone makers to start caring about the hardware these devices are packaged into, and how they can make it better with each passing year.</p><p>I'm sure plenty of other people will agree that being asked to pay hundreds of dollars for a brand-new phone is more palatable if you can actually see the improvement over your existing model.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tech/i-just-got-both-my-battery-packs-confiscated-at-a-chinese-airport-and-i-wish-id-known-about-this-one-thing-before-flying">I just got both my battery packs confiscated at a Chinese airport, and I wish I’d known about this one thing before flying</a></li><li><a href="https://www.tomsguide.com/phones/samsung-galaxy-s27-pro-and-ultra-tipped-for-an-iphone-like-camera-upgrade-thatll-massively-improve-selfies">Samsung Galaxy S27 Pro and Ultra tipped for an iPhone-like camera upgrade that'll massively improve selfies</a></li><li><a href="https://www.tomsguide.com/phones/iphones/apple-finally-threw-android-users-a-bone-with-this-new-ios-27-photo-feature-heres-how">Apple finally threw Android users a bone with this new iOS 27 photo feature — here's how</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This hidden Android feature gives you quick and simple access to a bunch of core settings — here's how it works ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/android-phones/this-hidden-android-feature-gives-you-quick-and-simple-access-to-a-bunch-of-core-settings-heres-how-it-works</link>
                                                                            <description>
                            <![CDATA[ Android's Accessibility menu shortcut is a fantastic way to access core features quickly — and this is how you can take advantage of it. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">vyAczkanzaVNk56rpmebXh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/eCnerPCYSMKFXh3YbyUbjk-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 04 Jul 2026 07:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/eCnerPCYSMKFXh3YbyUbjk-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android 17 logo on a Google Pixel 9 Pro]]></media:description>                                                            <media:text><![CDATA[Android 17 logo on a Google Pixel 9 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Android 17 logo on a Google Pixel 9 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/eCnerPCYSMKFXh3YbyUbjk-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Your phone can do a surprising amount of things, and not just the stuff that gets mentioned in the marketing. There are countless features hidden behind layers of settings menus, to the point where it's pretty difficult to stumble upon them by accident. But this doesn't mean that they're any less useful than the features that are constantly in your face.</p><p>One of those features is the Accessibility Button, which activates a menu containing a bunch of key phone features. We're talking about things like controlling volume and brightness, taking screenshots, checking notifications, and so on. The idea is that, if you have accessibility issues that prevent you accessing those core features the "normal" way, you can instead utilize a dedicated on-screen menu.</p><p>The best part is that the accessibility button isn't just for a select group of people. It's available to everyone, and it could prove useful in certain cases — like driving, when you can't afford to be messing about with your phone for more than half a second.</p><section class="howto-block">                    <h3>1. Open Accessibility settings</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/7PMQHkeBF5LJKnDzyACQfM.jpg"                                        alt="android accessibility shortcut how to"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/7PMQHkeBF5LJKnDzyACQfM.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>The first thing you'll need to do is open up Accessibility settings, which can be found by <strong>heading to Settings</strong> and <strong>scrolling down and tapping Accessibility</strong>.</p></p>                </section><section class="howto-block">                    <h3>2. Open the Accessibility menu</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/PUPRTxvnQwnG9hKTonBojM.jpg"                                        alt="android accessibility shortcut how to"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/PUPRTxvnQwnG9hKTonBojM.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Despite their similar names, the Accessibility settings and Accessibility Menu are two distinct things. Once you've opened up the Accessibility option from Settings, <strong>scroll down</strong> until you <strong>find</strong> <strong>Accessibility Menu</strong> under the Interaction controls subhead.</p></p>                </section><section class="howto-block">                    <h3>3. Toggle on the Accessibility Menu shortcut</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/Kh6vg9qCJGnByaGpKFMPpM.jpg"                                        alt="android accessibility shortcut how to"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/Kh6vg9qCJGnByaGpKFMPpM.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Towards the bottom of the page you'll see the <strong>Accessibility Menu Shortcut</strong> toggle. <strong>Make sure this is switched on</strong>, and <strong>press</strong> <strong>OK</strong> when the pop-up window appears.</p></p>                </section><section class="howto-block">                    <h3>4. (Optional) Customize the Accessibility button </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/EPTVRigeFXxZg5Cx5dcynM.jpg"                                        alt="android accessibility shortcut how to"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/EPTVRigeFXxZg5Cx5dcynM.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>If you <strong>press the Customize Button</strong> option before switching on the shortcut, you'll get a few new options to alter the look of the floating button. That includes changing the size from Small to Large, letting the button fade away when you're not using it and customizing the level of transparency when it does fade away.</p></p>                </section><section class="howto-block">                    <h3>5. (Optional) Choose different shortcuts</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/dBfnkmwfws7mjJbagNudfM.jpg"                                        alt="android accessibility shortcut how to"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/dBfnkmwfws7mjJbagNudfM.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>The default Accessibility button is a floating icon on the right side of your screen, but you can adjust the way you access the Accessibility menu. If you <strong>press the Accessibility Menu shortcut</strong> box for a second time, you'll be offered the option to use up to three ways of accessing it.</p><p>Alongside the floating button is the <strong>Accessibility Gesture</strong>, which lets you open the menu by <strong>swiping two fingers up from the bottom of the screen</strong>. Meanwhile <strong>Volume keys</strong> lets you access the menu by <strong>pressing and holding both volume keys together</strong>.</p><p>You can have all three of these active at once, or just one if you prefer, giving you the freedom to pick which one is most suitable for your needs.</p></p>                </section><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QfMcZnzLAaoebcfmxYZxqM" name="access6" alt="android accessibility shortcut how to" src="https://cdn.mos.cms.futurecdn.net/QfMcZnzLAaoebcfmxYZxqM.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There you have it, the accessibility menu is all set up for you to use as you like. There's no option to customize the features on offer, but if you ever find yourself needing to access any of these settings quickly, and without using both of your hands, this button could be invaluable.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/ios-27-will-help-protect-you-from-social-engineering-scams-in-real-time-heres-how">iOS 27 will help protect you from social engineering scams in real time — here's how</a></li><li><a href="https://www.tomsguide.com/phones/iphones/the-robot-voice-is-gone-how-to-make-siri-sound-truly-human-in-ios-27">The robot voice is gone: How to make Siri sound truly human in iOS 27</a></li><li><a href="https://www.tomsguide.com/phones/iphones/apple-finally-threw-android-users-a-bone-with-this-new-ios-27-photo-feature-heres-how">Apple finally threw Android users a bone with this new iOS 27 photo feature — here's how</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple finally threw Android users a bone with this new iOS 27 photo feature — here's how ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/iphones/apple-finally-threw-android-users-a-bone-with-this-new-ios-27-photo-feature-heres-how</link>
                                                                            <description>
                            <![CDATA[ Apple made iCloud Shared Albums available to everyone with iOS 27, and it's about time Apple started tasking non-Apple users a little more seriously. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FkT7peVRxU3hEnRa2ENHkh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/qCqRx69EK98Yt86UK3KgVA-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 03 Jul 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/qCqRx69EK98Yt86UK3KgVA-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iOS 27 logo on iPhone]]></media:description>                                                            <media:text><![CDATA[iOS 27 logo on iPhone]]></media:text>
                                <media:title type="plain"><![CDATA[iOS 27 logo on iPhone]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/qCqRx69EK98Yt86UK3KgVA-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Apple is one of those companies that values loyalty, and routinely rewards it with various exclusive perks and features that can only be accessed from an <a href="https://www.tomsguide.com/us/best-apple-iphone,review-6348.html">iPhone</a> or some other kind of Apple device. But if you're not an Apple user, or dare to prefer one of the <a href="https://www.tomsguide.com/us/best-android-phones,review-6051.html">best Android phones</a>, Apple tends to try and ignore your very existence. The same is true for Windows PCs.</p><p>There are occasions where Apple will get a little generous, and throw a bone to the people that don't actively buy its products. Sometimes that involves giving them access to Apple services, like Apple Music or Apple TV, and others it means access to features that Apple had previously kept locked inside the walled garden for its own users. </p><p>Here's the good news:<strong> </strong><a href="https://www.tomsguide.com/phones/iphones/ios-27-is-official-all-the-new-upgrades-and-features-announced-at-wwdc-2026"><strong>iOS 27</strong></a><strong> will give Android and Windows users the ability to take full advantage of </strong><a href="https://www.tomsguide.com/how-to/how-to-set-up-an-icloud-shared-photo-library"><strong>iCloud Shared Albums</strong></a><strong> without needing an Apple device</strong>.</p><h2 id="shared-albums-for-everyone">Shared Albums for everyone</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="weyZfBzJovupGzE9GPgujN" name="ios18-photos-recent-days.jpeg" alt="iOS 18 photos recent days" src="https://cdn.mos.cms.futurecdn.net/weyZfBzJovupGzE9GPgujN.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>iCloud Shared albums are exactly what they sound like. They are albums, stored within iCloud, that allow multiple people to share photos and videos together. Each album can store up to 5,000 photos and videos, and previously anything added to those albums didn't count towards your iCloud storage limits.</p><p>That'll stop being the case in iOS 27 and<a href="https://www.tomsguide.com/computing/macos/macos-27-the-5-biggest-wwdc-2026-announcements-we-expect"> macOS 27</a>, but we will get to that annoying piece of small print a little later.</p><p>Shared Albums, previously referred to as iCloud Photo Sharing, have existed in some form for a long time. The idea is that you can easily share photos and videos with up to five other people, giving everyone the ability to add and edit photos as they see fit. Better still, Apple Photos didn't cordon off those files into their own separate albums, and instead shows them in your main feed alongside everything else you've shot.</p><p>Sadly, Apple kept unlimited access to those shared albums exclusive to its own devices. So you needed an <a href="https://www.tomsguide.com/us/best-apple-iphone,review-6348.html">iPhone</a>, iPad or Mac to be able to get the full shared album experience. Windows users could get limited viewing privileges via the iCloud app, while Android users could view them in their web browser. </p><p>But Apple is changing that with the next wave of OS upgrades. Once you have access to iOS 27 and macOS 27, you'll be able to "upgrade" your shared albums and bring Android and Windows users into the fold — and let them add their own photos just as they would if they owned an iPhone. <strong>These upgrade albums also let everyone share full-resolution, uncompressed files for the first time.</strong></p><p>The downside is that these new upgraded shared albums are apparently <a href="https://www.idownloadblog.com/2026/06/23/shared-icloud-album-consume-icloud-space/" target="_blank">no longer exempt</a> from iCloud storage limits. Instead, it appears that the person who upgrades the album is responsible for everything that gets stored — which is going to be a real pain if your friends insist on posting large video files to the shared album.</p><p>It's not clear why, though my guess would be that Apple doesn't want non-Apple users taking advantage of free iCloud storage when they don't directly contribute to its bottom line. Android phones have no ability to pay for an iCloud subscription, after all, and they don't buy iPhones. </p><p>There are temporary shared albums that remain free for 30 days, but any permanent option is going to cost you money.</p><h2 id="apple-should-be-more-mindful-of-android-and-windows-users">Apple should be more mindful of Android and Windows users</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3087px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="F7GBaENHYbQDSdaXKinKiZ" name="Galaxy S26 Ultra vs iPhone 17 pro Max-LIST" alt="iphone 17 pro max vs samsung galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/F7GBaENHYbQDSdaXKinKiZ.jpg" mos="" align="middle" fullscreen="" width="3087" height="1736" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I get why Apple focuses on its own users over everyone else. These are the people who have iPhones, <a href="https://www.tomsguide.com/best-picks/best-apple-watch">Apple Watches</a>, and probably an iPad or Mac as well, and it's just good business to keep these people happy with a constant string of features and upgrades that make their devices more useful. </p><p>But at the same time there are plenty of things Apple could be doing to try and appeal to non-Apple users as well. <strong>I don't expect Apple to start unlocking exclusive </strong><a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review"><strong>AirPods</strong></a><strong> features, or offering unrestricted Apple Watch access to Android users.</strong> It would just be nice if Apple realized that there are ways it can benefit from opening up to those people as well. </p><p>This could be as simple as adding a remote control feature to the Apple TV app on Android. <a href="https://www.tomsguide.com/entertainment/apple-tv/apples-price-hikes-finally-made-me-pick-up-the-apple-tv-4k-ive-been-eyeing-for-weeks-and-you-can-still-grab-one-at-the-old-price">I recently bought an Apple TV 4K</a>, switching over from Roku despite the fact I knew there wasn't an official virtual remote. Naturally,</p><p>Having an official remote on my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-review-a-great-phone-but-it-doesnt-feel-like-much-of-an-upgrade">Pixel 10 Pro</a> would be a massive quality of life improvement for watching TV during those occasions when I can't find or reach the actual remote.</p><p>It would also be nice for Apple to offer access to some of its other services, like iCloud, to paying customers off platform. Not because I have any major desire to switch all my cloud storage needs to Apple servers, versus Google's, but because it's nice to have extra options.</p><p>I know what people will say. Having access to Apple services is a selling point for Apple devices, with the cost of entry being the few hundred dollars you spend on your device. Offering too much without that paywall would only devalue Apple's ecosystem — which is not something Apple wants to happen.</p><h2 id="cross-platform-interaction-is-a-work-in-progress">Cross platform interaction is a work in progress</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ptzgAU2RNpxpNjaNbgRrZL" name="Android vs iPhone.shutterstock_2118140306.jpg" alt="Google Messages on Android phone next to Messages app on iPhone" src="https://cdn.mos.cms.futurecdn.net/ptzgAU2RNpxpNjaNbgRrZL.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>We also have to remember that iPhone and Mac users don't exist in a vacuum, and they do interact with Android and Windows users on a regular basis. Ensuring better methods of communication between those groups benefits everyone, including Apple's own users. </p><p><strong>The recent push to add </strong><a href="https://www.tomsguide.com/phones/android-phones/ive-been-waiting-a-decade-for-airdrop-on-android-and-its-finally-fixed-my-biggest-frustration"><strong>AirDrop support to Android's QuickShare</strong></a><strong> is a great example</strong> of this, and while Apple could have shut down Google's attempts to make it happen without discussion, it makes sense to allow Android and iPhone users to be able to share files easily and seamlessly — even though they're on opposing platforms. </p><p>The same is true for the <a href="https://www.tomsguide.com/news/apple-shocker-rcs-messaging-coming-to-iphones-in-2024">addition of RCS messaging support</a>. iMessage only works on iPhones, and messaging Android defaulted to SMS which is unencrypted and compressed shared files within an inch of their life. </p><p>Some have claimed that Apple was forced to add RCS support <a href="https://www.tomsguide.com/phones/iphones/iphones-may-be-getting-rcs-support-because-of-china-not-the-eu">by the Chinese government</a>, but it doesn't change the fact that messaging Android users from an iPhone is far more user-friendly and secure than it was in the past. And that's better for everyone.</p><h2 id="bottom-line-4">Bottom line</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K5SQbjBSv85JzgqYxoY5Lm" name="iPhone iOS 27 LIST_alt6" alt="iOS 27 icon shown on an iPhone screen" src="https://cdn.mos.cms.futurecdn.net/K5SQbjBSv85JzgqYxoY5Lm.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide/Apple/Shutterstock)</span></figcaption></figure><p>There's never going to be true parity between Apple products and those running on other platforms. Apple has invested too much in keeping users tied to the Apple ecosystem and offering too much to people who don't buy iPhones or Macs is just going to make their own platform less appealing. </p><p>This would devalue the Apple experience, and harm the company's bottom line. That means it's never going to happen, and Apple will continue to try and ignore Android, Windows and any other rival platform out there for as long as humanly possible.</p><p>But this doesn't change the fact that there are benefits to allowing better connectivity between Apple devices and those same rivals. It could be a way to draw some extra revenue from people who wouldn't otherwise be Apple customers, or to improve the cross-platform experience for people who are.</p><p>The tides have been turning for this, and iCloud Shared Albums are the latest example of how Apple has figured out that it needs to be more mindful of Android and Windows users. But, as ever, there's always more that can be done.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tech/i-just-got-both-my-battery-packs-confiscated-at-a-chinese-airport-and-i-wish-id-known-about-this-one-thing-before-flying">I just got both my battery packs confiscated at a Chinese airport, and I wish I’d known about this one thing before flying</a></li><li><a href="https://www.tomsguide.com/phones/iphones/apple-expects-10-million-people-to-buy-a-usd2-500-iphone-ultra-and-its-a-huge-gamble">Apple expects 10 million people to buy a $2,500 iPhone Ultra — and it's a huge gamble</a></li><li><a href="https://www.tomsguide.com/phones/major-security-holes-in-airdrop-and-quickshare-put-your-phone-at-risk-of-attack-heres-how-to-protect-yourself">Major security holes in AirDrop and QuickShare put your phone at risk of attack — here's how to protect yourself</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Exclusive: Google design director says Fitbit Air reception proves they 'made the right decision' going screen-free ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/wellness/fitness-trackers/exclusive-google-design-director-says-fitbit-air-reception-proves-they-made-the-right-decision-going-screen-free</link>
                                                                            <description>
                            <![CDATA[ I spoke to the lead designer behind the Fitbit Air to learn more about Google’s new $99 tracker and to determine if the Fitbit brand is actually here to stay. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FMBWthhcB3yswm44bNJRsE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UDs8Ptawp2Ta84dW6N8vJD-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 02 Jul 2026 04:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/UDs8Ptawp2Ta84dW6N8vJD-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the sensors on the underside of the Fitbit Air fitness tracker]]></media:description>                                                            <media:text><![CDATA[Close-up of the sensors on the underside of the Fitbit Air fitness tracker]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the sensors on the underside of the Fitbit Air fitness tracker]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UDs8Ptawp2Ta84dW6N8vJD-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I must admit, as a wearable tech writer, I predicted that Fitbit would <a href="https://www.tomsguide.com/wellness/fitness-trackers/google-just-killed-another-fitbit-feature-and-now-im-certain-the-brand-is-as-good-as-dead">die under Google</a>, which acquired the brand in 2021. I was wrong.</p><p>So, when the opportunity arose to sit down and chat with Jonah Becker  — design director for wearables at Google — about the recently debuted <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air</a>, I was a tad embarrassed. Fortunately, Jonah didn’t take my doomsday predictions personally, which is a relief given he’s been working on Fitbit products for over a decade.</p><p>Jonah started at Fitbit in 2016 and moved over to Google during the <a href="https://www.tomsguide.com/news/google-acquires-fitbit-for-21-billion">2021 acquisition</a>. He currently leads the industrial design teams behind the Pixel Watch, Pixel Buds, and, of course, Fitbit. </p><p>Our chat touched on the inspiration and design process behind the Fitbit Air (i.e., one of the <a href="https://www.tomsguide.com/us/best-fitness-trackers,review-2066.html">best fitness trackers</a> in 2026), the reason it doesn’t have onboard GPS, and the possibility of other Google-built screen-free wearables. I also got his candid thoughts on the outcome of the Google x Fitbit acquisition, five years on. </p><h3 class="article-body__section" id="section-inspired-by-his-children-s-friendship-bracelets"><span>Inspired by his children's friendship bracelets</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4923px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="v4R3RdVkt2tearzZXDp52N" name="FitbitAir-rev-07" alt="Close-up of the Fitbit Air on a person's wrist" src="https://cdn.mos.cms.futurecdn.net/v4R3RdVkt2tearzZXDp52N.jpg" mos="" align="middle" fullscreen="" width="4923" height="2769" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>"The inspiration we had from the start was the friendship bracelet."</p></blockquote></div><p>The Fitbit Air is a $99 screen- and button-free fitness tracker that doesn’t require a subscription and works with both Android and iOS devices. Incredibly lightweight and comfortable, it barely even looks like a piece of wearable tech, and that’s the point. </p><p>“The inspiration we had from the start was the friendship bracelet — the idea that you have this thing that is super lightweight, comfortable —  it's not a typical fitness watch or fitness tracker,” says Becker. It’s “something that has a more casual, all-hours-in-the-day vibe. I would see my kids at summer camp; they'd put on a friendship bracelet and wear it for months on end until basically the threads went bare and they fell off.”</p><p>The beauty of the Fitbit Air is that all of the tracking technology is condensed into a small, bean-like object that can easily be popped in and out of bands for maximum customization. Google even released a hardware development kit allowing DIYers to design and 3D-print their own bands for the Air. </p><p>“There are a lot of creative people in the world who have unique situations, and the idea that it becomes something that people can have fun with," says Becker on the subject of creating your own straps for the Air. "You know, as long as it's working in a way that it's supporting their health, that's what's most important.”</p><h3 class="article-body__section" id="section-a-whoop-alternative-for-you-and-me"><span>A Whoop alternative for you and me</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4805px;"><p class="vanilla-image-block" style="padding-top:50.01%;"><img id="wNxwSP3oTrgcw3KuNCjzw" name="Fitbit-Air-lead-05-header" alt="Close-up of the Fitbit Air on-wrist on a red strap against a blue background" src="https://cdn.mos.cms.futurecdn.net/wNxwSP3oTrgcw3KuNCjzw.jpg" mos="" align="middle" fullscreen="" width="4805" height="2403" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>"I see it as sort of the archetype of the ambient fitness tracker. We have so many devices around us demanding our attention all the time, and at the same time, health is every hour of every day, seven days a week."</p></blockquote></div><p>Of course, the Fitbit Air is far from the only screen-free fitness tracker out there. Its primary competition is the <a href="https://www.tomsguide.com/wellness/fitness-trackers/whoop-5-0-review-should-you-give-a-whoop-about-this-new-tracker">Whoop 5.0</a>, a subscription-based tracker that’s big on heady training stats and recovery insights. Perfect for hardcore athletes and pros, the Fitbit Air is essentially the exact opposite. </p><p>While Whoop-wearers are less likely to need daily motivation to work out, the rest of us, well, could probably benefit from it.</p><p>"You have your high-tier athletes, and then you have like the other 99.7% of the population. There are a lot of people who don't have that motivation and guidance. So for me, it's like, that's where the real opportunity is, this broad population health."</p><p>As I noted in my <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">review of the Fitbit Air</a>, the device is basically a “Whoop alternative for the rest of us.” And after chatting with Becker, it seems that was the intention behind its development. </p><p>"I see [the Fitbit Air] as sort of the archetype of the ambient fitness tracker, the displayless tracker that's not demanding your attention. We have so many devices around us demanding our attention all the time, and at the same time, health is every hour of every day, seven days a week." </p><h3 class="article-body__section" id="section-no-gps-no-problem-for-most-people"><span>No GPS, no problem... for most people</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4654px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3ZgyaboUC5K2rnhcC6Kifi" name="Inspire3-v-Air-02" alt="Close-up of the Fitbit Inspire 3 next to the Fitbit Air on a user's wrist" src="https://cdn.mos.cms.futurecdn.net/3ZgyaboUC5K2rnhcC6Kifi.jpg" mos="" align="middle" fullscreen="" width="4654" height="2618" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>“The reality is that like 99% of people who might want to track a run or a hike or something like that are going to have their phones with them."</p></blockquote></div><p>It's worth noting that the Fitbit Air lacks onboard GPS, something I critiqued in the review, but why? According to Becker, the size, cost, and battery implications of including GPS didn’t align with the overall design intent of the Air. </p><p>Moreover, “the reality is that like 99% of people who might want to track a run or a hike or something like that are going to have their phones with them. So, having the paired GPS with the phone is going to provide a great experience,” adds Becker. </p><h3 class="article-body__section" id="section-on-the-longterm-outcome-of-google-s-fitbit-acquisition"><span>On the longterm outcome of Google’s Fitbit acquisition </span></h3><div><blockquote><p>"To launch [the Fitbit Air] now feels in many ways like the first big move in delivering upon the promise of the [Google] acquisition."</p></blockquote></div><p>Becker has the unique perspective of working on the Fitbit brand both when it was a standalone company and under Google. And much to my surprise, he revealed that Fitbit Air has been under development since shortly after the acquisition in 2021. That's a long time! </p><p>“To launch [the Fitbit Air] now feels in many ways like the first big move in delivering upon the promise of the acquisition,” admits Becker. </p><p>“I think one of the great things about Fitbit becoming part of Google is that Fitbit brings a ton of health expertise, history, brand recognition, and many years — a decade plus — of data collection, so an understanding of people's biometrics and behaviors,” says Becker. “And Google is a company that can probably do the best job in the world of making sense of all that data, and I think that's what it's really unlocked.”</p><h3 class="article-body__section" id="section-what-s-next-for-fitbit"><span>What’s next for Fitbit? </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ktst4G4aEo3tp2SAEDwt7A" name="FitbitAir-01" alt="Hands-on with the Fitbit Air on the orange and brown Stephen Curry strap" src="https://cdn.mos.cms.futurecdn.net/ktst4G4aEo3tp2SAEDwt7A.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>"I think we are seeing a really great reception to Fitbit Air, so it gives us confidence that we made the right decision in pursuing a screen-free form factor."</p></blockquote></div><p>All of this begs the question: Is the Fitbit brand <em>actually</em> here to stay? When I asked Becker, he was coy, but I picked up on a glimmer of excitement. So, I pushed further. "With word of a <a href="https://www.tomsguide.com/wellness/smart-rings/samsung-confirms-galaxy-ring-2-is-coming-and-it-might-even-work-with-ios">Samsung Galaxy Ring 2</a> under development, might we expect other screen-free wearables from Google in the near future?" I asked. </p><p>“I think we are seeing a really great reception to Fitbit Air, so it gives us confidence that we made the right decision in pursuing a screen-free form factor, and I, and I'll have to leave it at that.” </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-performance-issues-3-ways-to-make-sure-the-fitbit-air-accurately-tracks-your-next-workout">Fitbit Air performance issues? 3 ways to make sure the Fitbit Air accurately tracks your next workout</a></li><li><a href="https://www.tomsguide.com/wellness/fitness/an-iphone-moment-for-your-eyes-why-xpanceo-is-betting-big-on-smart-contact-lenses-as-the-future-of-ar">An ‘iPhone moment’ for your eyes — why Xpanceo is betting big on smart contact lenses as the future of AR</a></li><li><a href="https://www.tomsguide.com/wellness/fitness/i-went-to-sweden-to-watch-bike-helmets-get-smashed-into-anvils-3-things-i-learned-at-the-mips-test-lab">I went to Sweden to watch bike helmets get smashed into anvils — 3 things I learned at the MIPS test lab</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Android 17 drops lockscreen guess limits from 1,800 to 20 — here's what that means for you ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/android-phones/android-17-drops-lockscreen-guess-limits-from-1-800-to-20-heres-what-that-means-for-you</link>
                                                                            <description>
                            <![CDATA[ Android 17 is making it harder for hackers to crack your lock screen, which means a very strict limit on how many times you can guess a passcode. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MEfpo9WBpvZNWLW7KD2Gs9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/eCnerPCYSMKFXh3YbyUbjk-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 01 Jul 2026 12:03:35 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/eCnerPCYSMKFXh3YbyUbjk-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android 17 logo on a Google Pixel 9 Pro]]></media:description>                                                            <media:text><![CDATA[Android 17 logo on a Google Pixel 9 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Android 17 logo on a Google Pixel 9 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/eCnerPCYSMKFXh3YbyUbjk-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google first confirmed that <a href="https://www.tomsguide.com/phones/google-pixel-phones/android-17-officially-rolls-out-to-pixel-devices-with-new-features-screen-reactions-bubbles-gaming-mode-and-more">Android 17</a> would be getting stronger lock screen protections back at <a href="https://www.tomsguide.com/ai/live/google-i-o-2025-live-gemini-ai-android-xr-glasses-and-all-the-big-news-as-it-happens">Google I/O</a>, but the specifics of those protections haven't been made very clear. Now we know exactly what Google has planned, and it's going to make trying to bypass Android's lockscreen a lot harder for potential snoops.</p><p>Mishaal Rahman, who works in Community Engagement for Android, has confirmed these details <a href="https://x.com/MishaalRahman/status/2072047757200863463" target="_blank">on X</a>. To be honest, while we expected Google to make significant changes, I'm surprised that things have gone quite this far.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">🔒Android 17 makes it harder for thieves to access your data!On supported devices, we've significantly reduced the number of times someone can guess the PIN or password, and added longer wait times between failed attempts.Let's dive deeper into what's changing🧵 pic.twitter.com/aq5GoQrK1W<a href="https://twitter.com/cantworkitout/status/2072047757200863463">June 30, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>If your phone is running <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-just-launched-android-16-plus-a-bunch-of-other-useful-software-upgrades">Android 16</a>, you'll be allowed up to 10 PIN guesses in the first minutes, 20 within six minutes, 50 in 25 minutes, 110 over a 24-hour period and 1,800 guesses over five years. Android 17 reduces this significantly, with six guesses in the first minute, which increases to seven in six minutes, eight within 25, 12 over the course of 24 hours and just 19 guesses over the course of five years.</p><p>After 20 incorrect guesses, your phone will be locked down. This is not a whole lot of opportunities to guess a four to six-digit passcode, but from a security standpoint, that makes a lot of sense. The fewer guesses potential hackers have, the harder it is for them to successfully access your phone.</p><p>Apparently, old limits let hackers take advantage of the fact that people gravitated towards common passcodes, rather than random ones. Should someone know more personal information, such as birthdays or other key dates, then their odds of cracking into your phone are significantly higher. Having several hundred attempts just meant it would be a matter of time before they got in.</p><h2 id="there-are-protections-for-your-own-mistakes">There are protections for your own mistakes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="3kWod5vfFi35otShydB6i6" name="Android-17-on-Pixel-9-Pro-XL--LEDE9" alt="Android 17 badge superimposed on a Google Pixel phone" src="https://cdn.mos.cms.futurecdn.net/3kWod5vfFi35otShydB6i6.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Google will be adding duplicate guess detection, starting with the Android 16 QPR2 update. When switched on, this feature stops duplicate guesses from being counted towards your total. In other words, you can type in "1234" as many times as you like, and it will only count as a single incorrect guess. Android will point out that you've been typing in the same wrong PIN as well.</p><p>If your passcode actually is 1234, you'd better change that pronto. The only way your phone could be more insecure is if you didn't have a passcode at all.</p><p>If you somehow enter 20 incorrect PINs all by yourself, the Android 17 lock screen will feature a recovery shortcut that lets you access different recovery options on a new device. Details on this haven't been specified, but that presumably means you won't be locked out of your phone forever simply because your annoying cousin deliberately entered the wrong passcode several times.</p><p>Presumably, the number will also reset every time you correctly enter a passcode. That way, you don't get 20 guesses for the entirety of your phone's lifespan — because that would be plain ridiculous. </p><p><a href="https://www.tomsguide.com/phones/google-pixel-phones/android-17-officially-rolls-out-to-pixel-devices-with-new-features-screen-reactions-bubbles-gaming-mode-and-more">Android 17 is available on select devices right now</a>, including Google's Pixel lineup.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/ios-27-takes-huge-leaps-with-ai-but-its-still-missing-this-key-feature-android-has-had-for-years">iOS 27 takes huge leaps with AI, but it's still missing this key feature Android has had for years</a></li><li><a href="https://www.tomsguide.com/phones/major-security-holes-in-airdrop-and-quickshare-put-your-phone-at-risk-of-attack-heres-how-to-protect-yourself">Major security holes in AirDrop and QuickShare put your phone at risk of attack — here's how to protect yourself</a></li><li><a href="https://www.tomsguide.com/phones/iphones/easily-the-biggest-leak-in-apples-history-iphone-18-pro-final-design-may-have-just-been-revealed-in-a-stolen-drop-test-video">'Easily the biggest leak in Apple's history': iPhone 18 Pro final design may have just been revealed in a stolen drop test video</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Major security holes in AirDrop and QuickShare put your phone at risk of attack — here's how to protect yourself ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/major-security-holes-in-airdrop-and-quickshare-put-your-phone-at-risk-of-attack-heres-how-to-protect-yourself</link>
                                                                            <description>
                            <![CDATA[ Researchers just found ways hackers could exploit AirDrop and Quick Share to make your life miserable — here's what you need to know, and what you can do about it. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YbqL88KGjX6GEfFf4zUet5</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aufbHkWFcD9TxQ6jTEaweD-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 01 Jul 2026 10:33:09 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aufbHkWFcD9TxQ6jTEaweD-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android to iPhone AirDrop.]]></media:description>                                                            <media:text><![CDATA[Android to iPhone AirDrop.]]></media:text>
                                <media:title type="plain"><![CDATA[Android to iPhone AirDrop.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aufbHkWFcD9TxQ6jTEaweD-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Security researchers have just uncovered a flaw in Apple AirDrop and Android's Quick Share that could be exploited by hackers from as far as 30 meters (98.4 feet) away. Apparently the severity of these security flaws mean up to five billion active devices could be at risk. </p><p>Researchers at the <a href="https://arxiv.org/html/2606.26967v1" target="_blank">CISPA Helmholtz Center for Information Security</a> uncovered the issues, after taking apart AirDrop and Quick Share to see how Android and iOS deal with wireless transfers. Each transfer system runs as a "highly privileged service in the background" which then wakes up when a second compatible device comes into its vicinity.</p><p>This is due to the fact that both systems are designed to run seamlessly, and in the process sacrifice security for convenience. The exploits run differently on each platform, though. They are different protocols, despite recent changes that offer interconnectivity, so that makes a lot of sense.</p><h2 id="how-the-flaws-work">How the flaws work</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vePM76HyNKpmHrtdTZfqaP" name="airdrop-namedrop-main.jpeg" alt="iOS 17 AirDrop contact sharing" src="https://cdn.mos.cms.futurecdn.net/vePM76HyNKpmHrtdTZfqaP.jpeg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>For Apple the big takes advantage of the background daemon that has control over AirDrop, AirPlay, <a href="https://www.tomsguide.com/how-to/how-to-use-universal-clipboard-mac-iphone-ipad">Handoff</a>, <a href="https://www.tomsguide.com/how-to/continuity-camera-how-to-use-your-iphone-as-a-webcam-in-macos-ventura">Continuity Camera</a> and Apple's universal clipboard. A single malformed request can crash the whole system, and should a hacker repeatedly continue making those requests they can lock down all those features and effectively hold your devices hostage.</p><p>For Quick Share, researchers tested a connection between the <a href="https://www.tomsguide.com/reviews/samsung-galaxy-s23-ultra">Galaxy S23 Ultra</a> and the <a href="https://www.tomsguide.com/phones/this-file-transfer-app-has-changed-my-life-im-annoyed-i-didnt-find-it-sooner">Quick Share app on Windows</a>.  During this, they were able to uncover logic bypasses that allowed attackers to skip over authentication steps. This means that hackers can force a connection over Quick Share, keep it alive and feed the server attacker-supplied addresses. </p><p>Despite the fact that the two protocols don't share any code, the root cause of these security flaws is the same. As researchers put it, "security-critical invariants were not enforced at a single boundary." Essentially, the push to make AirDrop and Quick Share more convenient meant that background processes ended up being exposed to hackers before senders' identity can be verified. </p><p>The good news is that these attacks aren't putting your personal data at risk. Instead it allows attackers to deny your ability to use certain features so long as they remain in close-enough proximity. This is more of a nuisance than anything else, though depending on where you are and what you're doing, it might just be enough to ruin your workflow. </p><h2 id="what-happens-next">What happens next?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J9oU3cxfkL4hsWLySgMPCT" name="Android Quick Share menu.jpg" alt="Quick Share on Android" src="https://cdn.mos.cms.futurecdn.net/J9oU3cxfkL4hsWLySgMPCT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Thankfully it doesn't have to be an issue for you. Apple has apparently fixed one of the three bugs uncovered by researchers, while Google has released a fix for the Quick Share client on Windows. All the other fixes are still in some stage of development, but should hopefully arrive fairly soon.</p><p>In the meantime, there are things you can do to keep yourself safe. Regardless of whether the fixes roll out or not, it's always a good idea to keep these sorts of features locked down and not accessible to everyone in the immediate area. </p><p>iPhone users should head into <strong>Settings > General > AirDrop</strong> and either turn receiving off or switch it to contacts only. Android users can do the same by heading to Quick Share and setting the <strong>Who can share with you</strong> option to either contacts or your own devices. Plus, make sure to keep your phone's software fully up to date whenever a new update rolls out to your phone.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/computing/why-google-maps-keeps-sending-you-the-long-way-and-how-to-stop-it">Why Google Maps keeps sending you the long way home — and how to stop it</a></li><li><a href="https://www.tomsguide.com/phones/your-location-data-is-now-officially-protected-by-the-fourth-amendment-heres-what-that-means-for-you">Your location data is now officially protected by the fourth amendment — here's what that means for you</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-goes-full-taylor-swift-with-wide-galaxy-z-fold-8-tease-by-wiping-its-instagram-bold-stroke-new-shape">Samsung goes full Taylor Swift with wide Galaxy Z Fold 8 tease by wiping its Instagram — 'bold stroke, new shape'</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Who will be king of the Android foldables? ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/google-pixel-phones/samsung-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-who-will-be-king-of-the-android-foldables</link>
                                                                            <description>
                            <![CDATA[ Two big-name Android foldables are coming in the next few months, but which will be the best? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6mKUhF4VGzLb8tW6esCRCF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/HYBXoRfcycWdzq2Qt3Szj8-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 01 Jul 2026 07:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Google Phones]]></category>
                                                    <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/HYBXoRfcycWdzq2Qt3Szj8-1280-80.jpg">
                                                            <media:credit><![CDATA[Android Headline / OnLeaks]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[google pixel 11 pro fold (right) vs samsung galaxy z fold 8 (left)]]></media:description>                                                            <media:text><![CDATA[google pixel 11 pro fold (right) vs samsung galaxy z fold 8 (left)]]></media:text>
                                <media:title type="plain"><![CDATA[google pixel 11 pro fold (right) vs samsung galaxy z fold 8 (left)]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/HYBXoRfcycWdzq2Qt3Szj8-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There may be a lot of attention on the<a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone"> iPhone Ultra</a>, since it's Apple's first foldable phone, but it's far from the only folding phone that's set to arrive this year. Two Android titans, Samsung and Google, are set to release a new generation of foldables in the form of the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Samsung Galaxy Z Fold 8 Ultra</a> and the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Pixel 11 Pro Fold</a>. </p><p>Google and Samsung have plenty of experience when it comes to foldables, and they're both powered by some of the most popular flavors of Android available right now. The question is, which new foldable is going to be the better purchase? We don't know everything about the Z Fold 8 Ultra or Pixel 11 Pro Fold just yet, but there have been enough rumors and leaks to give us an idea of what tyo expect.</p><p>Here's a rundown of the Samsung Galaxy Z Fold 8 Ultra vs the Google Pixel 11 Pro Fold battle so far.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-specs"><span>Samsung Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Specs</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Google Pixel 11 Pro Fold (rumored)</strong></p></td><td  ><p><strong>Samsung Galaxy Z Fold 8 (rumored)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Cover display</strong></p></td><td  ><p>6.4-inch OLED (120Hz)</p></td><td  ><p>6.5-inch OLED (120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Main display</strong></p></td><td  ><p>8-inch OLED (120Hz)</p></td><td  ><p>8-inch OLED (120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong></p></td><td  ><p>Tensor G6 (2nm)</p></td><td  ><p>Qualcomm Snapdragon 8 Elite Gen 5 for Galaxy (3nm)</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB or 16GB</p></td><td  ><p>12GB or 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>4,658mAh</p></td><td  ><p>~5,000mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong></p></td><td  ><p>48MP main, 10.5MP ultrawide, 10.8MP 5x telephoto </p></td><td  ><p>200MP main, 50MP ultrawide, 12MP 3x telephoto</p></td></tr><tr><td class="firstcol " ><p><strong>Front camera</strong></p></td><td  ><p>10MP selfie (cover and main)</p></td><td  ><p>10MP selfie (cover and main)</p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$1,799</p></td><td  ><p>$1,999</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-release-date-price"><span>Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Release date & price</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6kLR5TcVmSPDqEd7kcDncQ" name="Samsung Galaxy Z Fold 8 leaked render" alt="Samsung Galaxy Z Fold 8 leaked render" src="https://cdn.mos.cms.futurecdn.net/6kLR5TcVmSPDqEd7kcDncQ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines)</span></figcaption></figure><p>The Samsung Galaxy Z Fold 8 Ultra is rumored to be unveiled at Galaxy Unpacked on July 22, alongside the<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-vs-galaxy-z-fold-wide-biggest-expected-differences"> Galaxy Z Fold 8</a> (Fold Wide) and the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Galaxy Z Flip 8</a>. A release date hasn't been confirmed yet, but it's likely that the phone will go on general sale around two weeks later in early August — after a brief pre-order window.</p><p>Pricing isn't clear right now, and considering the situation with <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> and the skyrocketing cost of memory and storage, it's likely that we'll see some kind of price hike. So expect to have to pay more than the $1,999 starting price of <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a>.</p><p>The Pixel 11 Pro Fold is set to arrive later this year, likely towards the end of August alongside the rest of the Pixel 11 series. We don't have any kind of date yet, so we can only guess based on past experience. </p><p>Likewise, we have no idea how much the phone is set to cost, and whether we'll see a price hike compared to the $1,799 <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-10-pro-fold-review">Pixel 10 Pro Fold</a>. I wouldn't bet on there not being a price increase, especially if Google includes 16GB of RAM for another year.</p><h3 class="article-body__section" id="section-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-design-display"><span>Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Design & Display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1268px;"><p class="vanilla-image-block" style="padding-top:75.47%;"><img id="8MjYLKFR7VtNJZsP4Q6mXB" name="Screenshot 2026-03-10 104112" alt="onleaks android headlines pixel 11 pro fold renders" src="https://cdn.mos.cms.futurecdn.net/8MjYLKFR7VtNJZsP4Q6mXB.png" mos="" align="middle" fullscreen="" width="1268" height="957" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: OnLeaks/Android Headlines)</span></figcaption></figure><p>We're not expecting huge changes to the design of either phone this year, though the Z Fold 8 Ultra is rumored to be coming with a slightly <a href="https://www.tomsguide.com/phones/samsung-phones/first-look-samsung-galaxy-z-fold-8-renders-just-leaked-the-new-foldable-in-full">larger 8-inch foldable screen paired with a 6.5-inch cover display</a>. Both screens are expected to be OLED panels, complete with 120Hz refresh rates. However <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-may-eliminate-the-display-crease-too-step-aside-iphone-fold">the display may be creaseless</a>, or as close as Samsung can get.</p><p>All the big changes are happening to the Galaxy Z Fold 8, which was previously known as the Z Fold Wide. This new model will have a shorter and wider screen than the Ultra, with a similar look to what we expect Apple will offer with the iPhone Ultra.</p><p>The Pixel 11 Pro Fold is also expected to lose 0.1-inches off its cover display, but with no other meaningful change. Hopefully this is due to Google reducing the size of the phone and its bezels.</p><p>The 8-inch interior display is expected to stay the same size, though, and both will presumably offer an OLED panel with a 120Hz refresh rate. There's also rumored to be a Nothing-esque light effect on the back of the phone, known as "Pixel Glow."</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-cameras"><span>Samsung Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1383px;"><p class="vanilla-image-block" style="padding-top:56.04%;"><img id="3GEBFS67DHYiPEKSBDeuga" name="HG4LIfPasAAOryc" alt="galaxy z fold 8m, z flip 8 and fold wide dummy units" src="https://cdn.mos.cms.futurecdn.net/3GEBFS67DHYiPEKSBDeuga.jpg" mos="" align="middle" fullscreen="" width="1383" height="775" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sonny Dickson)</span></figcaption></figure><p>We're not expecting Samsung to do much with the Z Fold 8 Ultra's main camera, and will stick with the same 200MP lens that debuted on the Z Fold 7 last year. However, we are expecting to see the <a href="https://www.galaxyclub.nl/samsung/galaxy-z-fold-8/" target="_blank">ultrawide camera jump</a> from 12MP to 50MP, while the telephoto lens is tipped for a modest increase from 10MP to 12MP. The optical zoom will likely stay at 3x magnification though.</p><p>All we know about the Pixel 11 Pro Fold main camera is that it should have a slight resolution boost <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">from 48MP to 50MP</a>. Leaked specs haven't revealed what we can expect from the other cameras, but I certainly hope that we see a minor boost on the 10.5MP ultrawide camera at the very least. If Google wants its foldables to compete with Samsung and Apple, then it's going to need to up its game.</p><p>Thankfully, Google does have the computational photography experience to boost the quality of the pictures with AI. But that can only go so far, and since the Z Fold 7 already took excellent photos it's about time Google caught up with its foldable cameras.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-performance"><span>Samsung Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1266px;"><p class="vanilla-image-block" style="padding-top:75.12%;"><img id="kCYQ3pKY2zaKbfhjDTSdYB" name="Screenshot 2026-03-10 104103" alt="onleaks android headlines pixel 11 pro fold renders" src="https://cdn.mos.cms.futurecdn.net/kCYQ3pKY2zaKbfhjDTSdYB.png" mos="" align="middle" fullscreen="" width="1266" height="951" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: OnLeaks/Android Headlines)</span></figcaption></figure><p>On the performance side of things, it's clear that Samsung will be many steps ahead of Google. Pixel phones are not known for their speed, and since the Pixel 11 Pro Fold is likely to be running another <a href="https://www.tomsguide.com/phones/google-pixel-phones/tensor-g6-chipset-could-give-the-pixel-11-the-biggest-security-upgrade-since-pixel-6-heres-how">Tensor chipset (the G6</a>), things aren't likely to change this year. </p><p>That said, Pixel phones typically have more base RAM than Galaxy phones, with the 10 Pro Fold offering 16GB to the Z Fold 7's 12GB. Higher levels of RAM are typically only available on the highest storage option, and that's likely to be the same situation this year — more so considering all the RAM shortages. The extra memory, along with the alleged AI-optimization of the Tensor chips, may give the Pixel 11 Pro Fold an edge in AI processes.</p><p>However, leaked specs suggest Google may take a leaf out of Samsung's book and <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">reduce the base amount of RAM</a> and keep 16GB exclusive to higher specc'd models. </p><p>When it comes to raw performance power, Samsung is likely to dominate. Z Folds typically have the flagship Snapdragon chipset, which this year would be the Snapdragon 8 Elite Gen 5. </p><p>On top of that, the Pixel 11 series is expected to downgrade the Tensor G6 from eight cores to seven, which will likely cause a noticeable drop in performance power. Likewise,<a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades"> Google is said to be using a PowerVR CXTP-48-1536 GPU</a>, which is based on 2021 chip architecture. So you could see a performance hit for resource-intensive activities like gaming and video editing.</p><p>Don't expect to see the Exynos 2600 on the Z Fold, though. While Samsung has started using its own chips on the Z Flip series, and on Galaxy S phones in certain regions, Ultra series phones typically get the Snapdragon chip everywhere.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-battery-charging"><span>Samsung Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Battery & charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MUz7SRqUeezZBpFKKe2afQ" name="Galaxy Z Fold 8 case" alt="Galaxy Z Fold 8 case render" src="https://cdn.mos.cms.futurecdn.net/MUz7SRqUeezZBpFKKe2afQ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines)</span></figcaption></figure><p>Rumors suggest that the Z Fold 8 Ultra could upgrade the battery by increasing the capacity from <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8s-latest-rumored-upgrade-could-show-samsungs-finally-listening">4,400 mAh to 5,000 mAh </a>— the same as the Galaxy S26 Ultra. Sadly, the Pixel 11 Pro Fold's leaked specs suggest that it will be doing the opposite, <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">dropping from 5,015 mAh to 4,658 mAh</a>.</p><p>While higher capacity doesn't necessarily mean longer battery, the fact that Samsung is offering more power reserves definitely works out in its favor. When you remember that Pixel phones haven't always had the best battery life in the past, a drop in capacity is rather worrying.</p><p>There's no word on how fast the 11 Pro Fold will charge, though we will likely see 15W Qi2 wireless charging make another appearance. The Z Fold 8 Ultra is rumored to be <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-tipped-for-a-major-charging-upgrade-iphone-fold-should-take-notes">upgraded to 45W charging </a>which, while not as impressive as the S26 Ultra's 60W is still a noticeable improvement from the 25W on past phones.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-ultra-vs-google-pixel-11-pro-fold-outlook"><span>Samsung Galaxy Z Fold Ultra vs Google Pixel 11 Pro Fold: Outlook</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1607px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iWjN5TBTWe8mz96yhig3Ad" name="Screenshot 2026-03-10 104108" alt="google pixel 11 pro fold leaked cad renders" src="https://cdn.mos.cms.futurecdn.net/iWjN5TBTWe8mz96yhig3Ad.png" mos="" align="middle" fullscreen="" width="1607" height="904" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Onleaks/Android Headlines)</span></figcaption></figure><p>Based on the rumors and leaks so far, it doesn't seem like there are a lot of major changes happening to the Galaxy Z Fold 8 Ultra and Pixel 11 Pro Fold. Certainly nothing that upsets the status quo in any meaningful way. </p><p>Samsung should have an edge on camera hardware, performance and battery life, and the crease-free display sounds promising. And Google should offer a Pixel experience in foldable form once more — which includes a lot of AI, early access to updates and some exclusive features.</p><p>It certainly seems as though Samsung has the upper hand, and while that may eventually be the case it doesn't change the fact that the Z Fold lineup is rather expensive. In fact, with everything going on, I would be shocked if there wasn't another price hike this year as well. So the Pixel 11 Pro Fold could have the value advantage.</p><p>But with Galaxy Unpacked coming in fast, and Google's own launch event likely following roughly a month later, it shouldn't be long before we can test these phones and make a proper conclusion for ourselves.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/easily-the-biggest-leak-in-apples-history-iphone-18-pro-final-design-may-have-just-been-revealed-in-a-stolen-drop-test-video">'Easily the biggest leak in Apple's history': iPhone 18 Pro final design may have just been revealed in a stolen drop test video</a></li><li><a href="https://www.tomsguide.com/phones/your-location-data-is-now-officially-protected-by-the-fourth-amendment-heres-what-that-means-for-you">Your location data is now officially protected by the fourth amendment — here's what that means for you</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/major-samsung-galaxy-z-fold-8-leak-shows-off-the-unreleased-foldables-and-cases-heres-what-you-need-to-know">Samsung Galaxy Z Fold 8, Z Fold 8 Ultra and Z Flip 8 Ultra just leaked ahead of Unpacked</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Maps actually defaults to the slowest route now — here's how to fix it ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/why-google-maps-keeps-sending-you-the-long-way-and-how-to-stop-it</link>
                                                                            <description>
                            <![CDATA[ Google Maps now defaults to fuel-efficient routes that can be slower. Disable this setting to get fastest navigation. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VUKikfHKVm6a4CZ9qJVbg9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 01 Jul 2026 05:45:00 +0000</pubDate>                                                                                                                                <updated>Wed, 01 Jul 2026 11:38:53 +0000</updated>
                                                                                                                                            <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Maps logo on phone with map in background]]></media:description>                                                            <media:text><![CDATA[Google Maps logo on phone with map in background]]></media:text>
                                <media:title type="plain"><![CDATA[Google Maps logo on phone with map in background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Q82gTVfSngY342JtDgZANC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google Maps recently changed its routing algorithm to favor fuel-efficient paths over the fastest paths. If you're regularly arriving later than expected, this hidden default setting is likely why.</p><p>The change sounds environmental and sensible, but it means Google is making time-vs-fuel trade-offs on your behalf by default. If your priority is reaching your destination as quickly as possible, you need to disable this setting. Here's how to take back control of your route choices.</p><h2 id="why-google-maps-prioritizes-fuel-over-speed">Why Google Maps prioritizes fuel over speed</h2><p>Google's fuel-efficient routing analyzes driving patterns and terrain to minimize gas consumption. The algorithm favors routes with steady acceleration, consistent speeds, and minimal braking. In theory, this helps your engine run efficiently and saves money on gas.</p><p>The problem emerges in real-world driving. A route that avoids highway on-ramps to reduce acceleration might add 10 minutes to your commute. A path that circles around congestion to maintain steady speed could cost you 15 minutes versus powering through traffic. </p><p>Google assumes that if you save fuel on a route, time savings are less important. But for commuters, delivery drivers, or anyone with time-sensitive travel, this assumption backfires.</p><p>Here's how to get the fastest routes back on Google Maps</p><section class="howto-block">                    <h3>Disable fuel-efficient routing </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/KwHCPZgkPRBtx2GQ83RU9Q.jpg"                                        alt="Prefer efficient routes toggled off in Google Maps"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/KwHCPZgkPRBtx2GQ83RU9Q.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p><strong>Open Google Maps and tap your profile icon</strong> in the top right.<strong> Select Settings, Navigation, then scroll to "Prefer fuel-efficient routes" and toggle it off</strong>.<strong> </strong>Google Maps will now default to your fastest available route.</p><p>This applies to all future navigation automatically. You won't see the leaf icon labeling fuel-efficient options, and the fastest route becomes the default suggestion.</p></p>                </section><h2 id="choose-routes-individually-if-you-want-flexibility">Choose routes individually if you want flexibility</h2><p>If you don't want to turn the feature off completely, you can keep fuel-efficient routing enabled and simply override it on a case-by-case basis. </p><p>Before hitting start,<strong> take a moment to examine all the available routes and compare their arrival times</strong>. While a fuel-efficient path might only add three to five minutes to a standard 20-minute workday commute, those lost minutes quickly multiply on a 90-minute road trip. </p><p>By checking your options first, you can choose what matters most for that specific drive. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OKJnMW"></div>                            </div>                            <script src="https://kwizly.com/embed/OKJnMW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/computing/google-has-been-hiding-a-flight-simulator-for-20-years-now-its-free-on-the-web">Google has been hiding a flight simulator for 20 years and now it's free on the web — here's how to use it</a><strong></strong></li><li><a href="https://www.tomsguide.com/phones/never-be-late-lose-your-car-or-stress-about-parking-again-3-google-maps-features-i-swear-by">3 Google Maps features that solve the biggest travel headaches</a></li><li><a href="https://www.tomsguide.com/phones/this-google-maps-feature-saves-me-20-minutes-every-day-and-youre-probably-ignoring-it">This Google Maps feature saves me 20 minutes every day, and you're probably ignoring it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google just unlocked Gemini’s smartest AI image feature for free — here’s why you should try it now ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/google-just-unlocked-geminis-smartest-ai-image-feature-for-free-heres-why-you-should-try-it-now</link>
                                                                            <description>
                            <![CDATA[ Google just added personalized image creation to the Gemini app, which connects with Nano Banana and Google Photos to generate images based on your prompts. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NHAy7bJAFZb8vkH52RpYi5</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/QwXStmmzHTR36QSqLAAuQf-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 30 Jun 2026 15:11:57 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/QwXStmmzHTR36QSqLAAuQf-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Gemini on a phone screen in front of a keyboard]]></media:description>                                                            <media:text><![CDATA[Gemini on a phone screen in front of a keyboard]]></media:text>
                                <media:title type="plain"><![CDATA[Gemini on a phone screen in front of a keyboard]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/QwXStmmzHTR36QSqLAAuQf-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google’s <a href="https://www.tomsguide.com/ai/ai-image-video/gemini-just-passed-chatgpt-in-the-app-store-heres-why-google-says-this-is-just-the-beginning">Gemini app</a> has seen its fair share of impressive improvements lately.</p><p>Gemini Spark has been introduced as a way to aid users by working on tasks on their behalf, Gemini Omni acts as a prompt-driven video creator/editor, Daily Brief provides users with a daily digest of priorities to handle based on the information included in their Gmail and Google Calendar and the <a href="https://www.tomsguide.com/ai/google-just-launched-gemini-3-5-flash-and-gemini-spark-changes-what-ai-assistants-can-do">Gemini 3.5 Flash</a> update has made Google’s central AI tool even smarter.</p><p>The latest update to Gemini’s expanding feature suite makes generating images a simpler affair. Google’s highly touted “Personal Intelligence” (an opt-in AI feature for personal user accounts that connects Gemini and AI Search with your Gmail, Google Photos, YouTube and Google Search) now connects with Nano Banana and Google Photos within Gemini to create more personalized images. And best of all, it’s free for all US Gemini users.</p><p>Here’s how that newly installed feature works.</p><h2 id="personalized-image-creation-makes-gemini-s-image-generator-even-better">Personalized image creation makes Gemini’s image generator even better</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2096px;"><p class="vanilla-image-block" style="padding-top:56.39%;"><img id="gHfBJ6FBHKnLbW36hEDvgV" name="Gemini Gems banner.png" alt="Google Gemini" src="https://cdn.mos.cms.futurecdn.net/gHfBJ6FBHKnLbW36hEDvgV.png" mos="" align="middle" fullscreen="" width="2096" height="1182" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Now that <a href="https://www.tomsguide.com/ai/ai-image-video/googles-nano-banana-2-fixes-blurry-text-and-boosts-speed-heres-everything-included-in-this-massive-upgrade">Nano Banana 2 </a>can be used in conjunction with Personal Intelligence, prompting Gemini to craft new images for you based on your prompts is a much more involved and more fun affair.</p><p>Google’s leading example of this new feature is prompting Gemini to “Design my dream house” without having to upload photos that provide examples of what Gemini should be considering while generating an image for your command. All Gemini has to do now is tap into <a href="https://www.tomsguide.com/ai/i-turned-off-gemini-personal-intelligence-for-a-week-and-im-not-going-back">Personal Intelligence</a>, Nano Banana 2 and the information contained within your Google apps to craft the image of your dream home without you having to tell the AI tool about your hobbies and interests. </p><p>Another example Google provides as proof of this newly added feature is prompting Gemini to “Create an illustration of me and my favorite things”, which results in the chatbot deriving all the data it needs about those things from your connected Google apps to produce that piece of art.</p><p>Some other fun prompts you can use with Gemini’s Personal Intelligence-powered image creation feature include:</p><ul><li><em>Create a claymation image of me and my family enjoying our favorite activity.</em></li><li><em>Create a picture of my desert island essentials.</em></li><li><em>Show my [type of pet] as a 1920s jazz musician.</em></li><li><em>Turn me into a superhero with a 90s comic book art style.</em></li><li><em>Place me in a coffee shop with cinematic, golden hour lighting.</em></li></ul><p>For the best visual results, it’s best if you upload the best-looking pics of your family, friends, and pets that are clearly grouped and labeled in your Google Photos account so Gemini knows exactly who to include based on your prompt requests. </p><p>Requesting specific art styles for your generated illustrations, such as oil painting, watercolor, hyper-realistic, noir aesthetic, charcoal sketch, etc., will help Gemini know exactly how you want them to look. And if you’re not satisfied with Gemini’s initial photo generation output, you can give it follow-up commands, such as “Make the lighting a bit warmer”, to tweak your current project without having to redo your original prompt. </p><p>Whether you want your generated pic to look more realistic or fantastical, Gemini’s updated AI image generator is capable of creating both image types with ease now that it taps into the power of Personal Intelligence, Nano Banana and Google Photos.</p><h2 id="final-thoughts-3">Final thoughts</h2><p>Google continues to make Gemini one of the better all-in-one AI tools for its users. The chatbot’s new and improved image generation feature goes a long way toward eliminating the need to write out every minute detail alongside an image prompt—now, users simply have to make sure they have Personal Intelligence turned on, upload their best pics to Google Photos, clearly label them, and have Gemini track their preferences across their Google apps to help Gemini more easily fulfill their image creation requests.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/google-couldnt-give-meta-enough-ai-power-heres-why-running-ai-locally-suddenly-makes-even-more-sense" target="_blank">Even Google doesn't have enough AI power — and that should worry all of us</a></li><li><a href="https://www.tomsguide.com/ai/this-chatgpt-prompt-stopped-me-from-sending-an-angry-message-now-i-use-it-all-the-time" target="_blank">I almost ruined a relationship with one text — then I tried this ChatGPT prompt</a></li><li><a href="https://www.tomsguide.com/ai/i-get-asked-about-local-ai-all-the-time-here-are-the-7-predictions-id-bet-on" target="_blank">I get asked about local AI all the time — here are the 7 predictions I'd bet on</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Your location data is now officially protected by the fourth amendment — here's what that means for you ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/your-location-data-is-now-officially-protected-by-the-fourth-amendment-heres-what-that-means-for-you</link>
                                                                            <description>
                            <![CDATA[ The Supreme Court just granted your location data the same protections as other personal data. Here's how that affects you. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VydjS5zdWS3NfiLTdtoX8f</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Z6RGCULHWGXbygtuTk5QXJ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 30 Jun 2026 12:23:03 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Z6RGCULHWGXbygtuTk5QXJ-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone Location Services]]></media:description>                                                            <media:text><![CDATA[iPhone Location Services]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone Location Services]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Z6RGCULHWGXbygtuTk5QXJ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In a blow to law enforcement, the U.S. Supreme Court has <a href="https://www.supremecourt.gov/opinions/25pdf/25-112_0am4.pdf" target="_blank">voted</a> 6-3 that law enforcement can't just use sweeping "geofence warrants" to collect smartphone location data. Instead, that data requires privacy protection under the fourth amendment, even if the required data only covers a short period of time. </p><p>The ruling in question relates to a case from 2019, when Virginia police used a geofence warrant to obtain location data from Android phones near the scene of a bank robbery which saw an armed suspect flee with $195,000. Google initially provided officers with anonymized locations for 19 devices, which police were able to narrow down to nine potential suspects and eventually three identified users. </p><p>Police eventually arrested Okello Chatrie, who was indicted by a federal grand jury after pleading guilty to charges relating to armed robbery, resulting in a 12 year prison sentence. However, Chatrie's lawyers had argued that the police search was overly broad, and violated his constitutional rights under the fourth amendment (which protects people from unreasonable search and seizure). </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VPezyV4QeUNQo2n3VAc985" name="Google Maps shutterstock_1461822965.jpg" alt="An Android phone running google maps - representing how to disable location tracking on Android" src="https://cdn.mos.cms.futurecdn.net/VPezyV4QeUNQo2n3VAc985.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The government had argued against this claiming that accessing a short amount of location information means that geofence warrants aren't categorized as a fourth amendment search — and thus doesn't need to be afforded the same privacy protections. </p><p>The Supreme Court has just ruled against this argument — ruling that police obtaining detailed cellphone location history from a tech company does constitute a fourth amendment search. </p><p>Since location data collected through ordinary use can offer a huge amount of personal information, the decision's been made to give it the same level of protection from unreasonable search and seizure as other personal information.</p><h2 id="what-does-this-mean-for-you">What does this mean for you?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ans9YsiLDKLzznpGZwUo5i" name="iPhone-17-Google-Maps-LEDE2" alt="Google Maps logo on an iPhone 17 Pro" src="https://cdn.mos.cms.futurecdn.net/ans9YsiLDKLzznpGZwUo5i.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide/ Google)</span></figcaption></figure><p>It's worth emphasizing that this ruling does not ban geofence warrants. Instead it makes it legally clear that location data from your phone is constitutionally protected, and isn't freely available for law enforcement as it has been in the past. So police can still submit warrants to obtain location data that has been collected from your phone by a third party tech company.</p><p>Instead, future geofence warrants will need to be treated like any other police search and supported by probable cause. Meaning police will need to describe the scope of the search with sufficient detail before they will be granted the warrant and able to access the data in question. So the process is going to be a little more difficult and bureaucratic than it has been in the past.</p><p>The ruling doesn't just apply to Google and Android either, and protects detailed cellphone location history from other tech companies as well. That includes Apple, and any other company that might be collecting location history from your phone.</p><p>The Supreme Court also didn't rule whether the warrant used in Chatrie's case was valid or not. So the case has been sent back to the appeals court to determine whether police had sufficient cause to collect the location data related to the case.</p><p>You can read the full ruling <a href="https://www.supremecourt.gov/opinions/25pdf/25-112_0am4.pdf" target="_blank">right here on the Supreme Court's website</a>.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/easily-the-biggest-leak-in-apples-history-iphone-18-pro-final-design-may-have-just-been-revealed-in-a-stolen-drop-test-video">'Easily the biggest leak in Apple's history': iPhone 18 Pro final design may have just been revealed in a stolen drop test video</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-tipped-for-minor-battery-gains-this-year-but-theres-a-hidden-upgrade-coming">iPhone 18 Pro just tipped for minor battery gains — but there's a hidden upgrade coming</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ios-27-takes-huge-leaps-with-ai-but-its-still-missing-this-key-feature-android-has-had-for-years">iOS 27 takes huge leaps with AI, but it's still missing this key feature Android has had for years</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I refuse to give Netflix a new email for every profile. Use this simple Gmail trick instead ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/entertainment/streaming/i-refuse-to-give-netflix-a-new-email-for-every-profile-use-this-simple-gmail-trick-instead</link>
                                                                            <description>
                            <![CDATA[ Netflix is forcing every profile in your household to have a unique email login. Here is the simple Gmail trick I'm using to outsmart the new rule. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">csjBTv73yFUDkjzVfy6b3B</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aWwcYV3RyPwzDwep2mhEX4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 30 Jun 2026 04:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Streaming]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Entertainment]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aWwcYV3RyPwzDwep2mhEX4-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Netflix logo on a TV with a hand holding a remote]]></media:description>                                                            <media:text><![CDATA[Netflix logo on a TV with a hand holding a remote]]></media:text>
                                <media:title type="plain"><![CDATA[Netflix logo on a TV with a hand holding a remote]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aWwcYV3RyPwzDwep2mhEX4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Just when we finally got used to Netflix's password-sharing restrictions, the streaming giant is dropping yet another frustrating update on us. Netflix is rolling out a new <a href="https://www.tomsguide.com/entertainment/netflix/bad-news-netflix-now-wants-every-single-profile-in-your-house-to-have-its-own-email-log-in">policy that forces every single adult profile under your roof to have its own unique email login</a>.</p><p>They're claiming this for easier sign in access, but all it actually does is force us to manage a completely unnecessary web of secondary logins. And, if you're like me, your first thought was probably: <em>I am not creating five separate email accounts just so my family can watch TV</em>. Plus, there is a major privacy catch. </p><p>Instead of giving in and cluttering my life with new passwords, I used a Gmail trick that fools Netflix into thinking I made brand-new accounts, while keeping all the control in my single inbox. It takes two seconds.</p><section class="howto-block">                    <h3> The plus sign trick</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/Yy4Cs7QWmzRWSsrz689jDE.jpg"                                        alt="Netflix"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/Yy4Cs7QWmzRWSsrz689jDE.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © sitthiphong/Shutterstock)</div></figure>                    <p><p>The hack is incredibly simple. Gmail completely ignores anything you type after a plus sign in an email address. If your email is sasha@gmail.com, for example, you can add a plus sign and any word after it, and every email sent there will still deliver straight to your exact same inbox.</p><p>To Netflix, kaycee+mom@gmail.com, kaycee+dad@gmail.com, and kaycee+netflix@gmail.com look like three completely unique, unrelated users. To your inbox, they are all the exact same address.</p><p>When Netflix prompts you to add a new email for a profile, <strong>just type your normal Gmail address, insert a plus sign with that person's name right before the @ sign, and hit enter</strong>. Netflix gets the unique email it wants, and you don't have to deal with creating any new accounts.</p></p>                </section><h2 id="you-ve-also-just-built-a-data-trap">You’ve also just built a data trap</h2><p>Beyond completely bypassing Netflix's annoying new restriction, this hack gives you total control over your family's data privacy.</p><p>Because you used a highly specific plus address like kaycee+netflix@gmail.com or kaycee+mom@gmail.com, you have created a digital tracker. If that specific email address ever starts receiving random spam, phishing emails, or marketing junk, you will know with 100% certainty that Netflix leaked or sold your data.</p><p>By using this simple alias trick, you satisfy Netflix’s new guardrails, avoid managing a dozen different passwords, and keep everyone's data secure. It’s the definition of a win-win.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OomB9e"></div>                            </div>                            <script src="https://kwizly.com/embed/OomB9e.js" async></script><figure class="van-image-figure pull-right inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="8RpLeaq6UZxfGpTcqGj7HX" name="Google" alt="Google" src="https://cdn.mos.cms.futurecdn.net/8RpLeaq6UZxfGpTcqGj7HX.jpg" mos="" align="right" fullscreen="" width="676" height="213" attribution="" endorsement="" class="pull-rightinline"></p></div></div></figure><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/entertainment/netflix/netflix-is-sharing-your-watch-history-take-60-seconds-to-stop-it">Netflix is sharing your watch history — take 60 seconds to stop it</a></li><li><a href="https://www.tomsguide.com/computing/email/after-two-decades-google-finally-rolls-out-a-way-to-change-your-gmail-address-heres-how">After two decades, Google finally rolls out a way to change your Gmail address — here's how</a></li><li><a href="https://www.tomsguide.com/entertainment/netflix/i-just-discovered-this-netflix-secret-code-and-its-completely-changed-my-halloween-watchlist">Can't find anything good on Netflix? Try these secret codes for the perfect fall watchlist</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Even Google doesn't have enough AI power — and that should worry all of us ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/google-couldnt-give-meta-enough-ai-power-heres-why-running-ai-locally-suddenly-makes-even-more-sense</link>
                                                                            <description>
                            <![CDATA[ Google reportedly couldn't meet Meta's demand for Gemini AI compute. It's another reminder that local AI may become one of the biggest trends in personal computing. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">shMTqvPaB5DJkDT33nG6HY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XQK2FLCqSgHDCTUGakdFbD-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Mon, 29 Jun 2026 17:54:28 +0000</pubDate>                                                                                                                                <updated>Tue, 30 Jun 2026 13:33:48 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/XQK2FLCqSgHDCTUGakdFbD-1280-80.png">
                                                            <media:credit><![CDATA[Future/Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[power cord G]]></media:description>                                                            <media:text><![CDATA[power cord G]]></media:text>
                                <media:title type="plain"><![CDATA[power cord G]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XQK2FLCqSgHDCTUGakdFbD-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Cloud AI has felt limitless for years. But according to a <a href="https://www.ft.com/content/c5d52f72-71ef-40bc-bad3-61afdba8b378?syn-25a6b1a6=1" target="_blank">Financial Times </a>report, Google told Meta back in March that it couldn't supply all the Gemini computing capacity Meta wanted to buy. </p><p>Meta had been paying for access to Google's models through cloud and API services, leaning on Gemini for internal jobs like content moderation and scam detection, where it outperformed Meta's own Llama models. When Google couldn't meet the full request, the shortfall reportedly delayed several of Meta's internal AI projects, and Meta told employees to ration their token usage more carefully.</p><p>Think about that for a second. A company with a <a href="https://www.tomsguide.com/news/meta-plans-to-bring-ai-to-billions-in-facebook-instagram-and-whatsapp-heres-how">nine-figure AI budget</a> was told by its own cloud provider to use fewer tokens.</p><h2 id="the-yikes-factor-here">The 'yikes' factor here</h2><p>Google Cloud pulled in roughly $20 billion in a single quarter, yet CEO Sundar Pichai has openly acknowledged that compute constraints are capping growth, and the division's order backlog has ballooned to more than $460 billion. The bottleneck isn't money or demand, as you might expect. Instead, <strong>it's the physical supply of chips, memory, and power. </strong></p><p><a href="https://www.wsj.com/tech/google-to-pay-spacex-nearly-1-billion-a-month-in-cloud-computing-deal-788d8aaa#:~:text=Google%20will%20pay%20SpaceX%20%24920,SpaceX%20securities%20filing%20on%20Friday." target="_blank">Google is even paying SpaceX nearly a billion dollars a month</a> to borrow GPU capacity as a stopgap. </p><p>So here's my honest read on the Meta news: it doesn't prove you personally need local AI. Meta's problem is an industrial-scale one, and its actual response was to build its own in-house model (<a href="https://www.tomsguide.com/ai/i-tried-muse-spark-heres-what-you-need-to-know-about-metas-new-ai-model">Muse Spark</a>) and pour well over $100 billion into its own <a href="https://www.tomsguide.com/ai/i-kept-hearing-that-ai-data-centers-are-draining-towns-dry-so-i-looked-at-the-evidence">data centers</a>, not to switch to laptops. But the episode does prove something worth internalizing: cloud AI is not an infinite faucet, even for the best-capitalized companies on Earth. </p><h2 id="the-real-reasons-local-ai-matters">The real reasons local AI matters  </h2><ul><li><strong>Privacy.</strong> When a model runs locally, your prompts and data never leave the machine. For health information, financial details, legal drafts, or anything you'd rather not hand to a server, that's a meaningful difference, and in some regulated fields, increasingly a requirement.</li><li><strong>Speed for the small stuff.</strong> A cloud round-trip adds noticeable lag before you see a single word. For quick, repetitive tasks, an on-device model can start responding almost instantly.</li><li><strong>It works offline.</strong> On a plane, in a dead zone or during an outage, a local model keeps going. A cloud one doesn't.</li><li><strong>Predictable cost at volume.</strong> If you're running the same kind of task thousands of times, owning the hardware can be cheaper over time than paying per token forever.</li></ul><p>Today's local models still can't match the biggest cloud systems in complex reasoning. </p><p>But for summarizing documents, rewriting text, drafting code and answering everyday questions, they're already good enough. And with the dedicated neural processing units (NPUs) now shipping in AI PCs, more of that work can happen right on your laptop.</p><h2 id="the-catch">The catch </h2><p>Here's the catch: the same shortage that's squeezing Meta is also making local AI hardware <em>more</em> expensive, not less.</p><p>Cloud and local AI draw from the same well, including the same chips, high-bandwidth memory, and DRAM. As demand for AI has soared, manufacturers have shifted production toward data-center parts, and consumer prices have followed. </p><p>It's a big reason laptops, memory upgrades, and even game consoles have crept up in price this year. So while local AI is a real way to sidestep cloud rationing, you may pay for the privilege upfront — and that trade-off deserves to be part of the decision.</p><p>Frontier reasoning is the other honest caveat. If you need the smartest possible model for a genuinely hard problem, the cloud still wins, and it isn't close. Local AI is a complement to that, not a replacement for it.</p><a href="https://follow.it/articles-by-amanda-caswell-tom-s-guide?leanpub" class="button button--large button--primary">Follow Amanda Caswell and stay ahead of the AI curve</a><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-turned-youtube-into-an-ai-bootcamp-with-notebooklm-heres-my-workflow"><strong>I turned my YouTube watchlist into an AI bootcamp with NotebookLM — here's how</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-built-five-chatgpt-agents-then-replaced-them-with-one-master-ai"><strong>I built five ChatGPT agents — then replaced them with one 'master' AI</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-used-chatgpt-to-audit-my-subscriptions-these-prompts-helped-me-find-nearly-usd2-000-a-year-in-recurring-charges"><strong>I used ChatGPT to audit my subscriptions — these prompts helped me find nearly $2,000 a year in recurring charges</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Ditching Google AI? Here’s how to master DuckDuckGo’s no-AI search engine ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/search-engines/duckduckgo-is-the-no-ai-search-engine-of-choice-and-these-hacks-will-give-you-the-best-results</link>
                                                                            <description>
                            <![CDATA[ DuckDuckGo is the no-AI search engine of choice, and these hacks will give you the best results. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wGv7898bEXjuzPJ2uW5znJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AkUyHVwDzTTvwAgoH3BYEf-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 29 Jun 2026 07:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Search Engines]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ David Crookes ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/yQWsHDmJr9eBZrL4xqd3bE.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;David Crookes has been writing professionally for close to 30 years and, as well as a great fondness for gaming, space, film, music, history, health and politics, he&#039;s largely specialized in technology for much of his career. He particularly focuses on Apple devices, having admired the company&#039;s tech since using iMac G3 in 1998. He also developed a fondness for the older Macintosh LC III that he later used in his first job as a newspaper reporter.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Since becoming a freelance writer, he has written for a wide number of publications including the Apple-focussed magazines iCreate and Macworld as well as Micro Mart, Web User, T3, Retro Gamer, MagPi, Computer Shopper, Gadget and 3D Artist. His love of gaming has seen him write for Retro Gamer, GamesTM and Wireframe among others and, despite his love of Apple, he still uses a PC – working for PC Pro and once writing for Total PC Gaming.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;One of his joys is helping others to use technology which has led him to writing many “how to” tutorials explaining many ways of getting the most out of various devices. He&#039;s become an expert user of the iPhone, iPad, Mac, Apple Watch and Apple TV. He also likes to kick back with a gaming session on an PlayStation 5 or Xbox Series X | S while getting his retro fix on an Evercade handheld.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AkUyHVwDzTTvwAgoH3BYEf-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[DuckDuckGo logo on phone]]></media:description>                                                            <media:text><![CDATA[DuckDuckGo logo on phone]]></media:text>
                                <media:title type="plain"><![CDATA[DuckDuckGo logo on phone]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AkUyHVwDzTTvwAgoH3BYEf-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Since Google decided to go all in on AI, more and more search engine users have been looking for “no AI” alternatives. As a result, visits to <a href="https://www.tomsguide.com/computing/browsers/traffic-triples-to-duckduckgo-no-ai-search-as-google-doubles-down-on-ai" target="_blank">DuckDuckGo’s No AI search engine</a> have been on the rise — which is perhaps a little ironic, because the DuckDuckGo browser was the <a href="https://www.tomsguide.com/ai/duckduckgo-has-the-solution-to-all-your-ai-generated-image-problems">first to add an AI image filter</a>.</p><p>DuckDuckGo No-AI strips away AI answers, images, and feature suggestions, sending you back to simpler times. Does that mean the results are poorer? Not at all. In fact, using a few hacks puts you in total control, getting you exactly what you need, faster.</p><p>Here are 6 quick hacks to get the most out of your No-AI searches.</p><section class="howto-block">                    <h3>1. Narrow down your searches</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/3TBMwSM5mPy4A7zW8YxSEB.png"                                        alt="How to get the most out of DuckDuckGo when using NoAI"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/3TBMwSM5mPy4A7zW8YxSEB.png"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>People generally use AI for search because it’s able to quickly present relevant information. It often means you’re not spending time scouring the results for useful websites but if you’ve turned off AI, there are still many tricks that enable you to sift out the irrelevant stuff.</p><p>Let’s say you need to<strong> look for an exact term</strong>. Just <strong>place that term in quotation marks</strong>. For example, “latest Phones news, comment, reviews and features.” The search engine will then only return results that match that phrase.</p><p>If you want to ensure the search results include or exclude particular words, there are hacks for that too. </p><p>For example, if you’re looking for a phone and want to ensure the results include Apple? <strong>Enter phone +Apple</strong>. Looking for a phone and don’t want the results to include Apple? <strong>Enter phone -Apple</strong>.</p></p>                </section><section class="howto-block">                    <h3>2. Search page titles and page URLs</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/PvwFNGaoY8Yo8zVJBZCJzA.png"                                        alt="How to get the most out of DuckDuckGo when using NoAI"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/PvwFNGaoY8Yo8zVJBZCJzA.png"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Websites have page titles and URLs. The former is a HTML element that lets you know what a webpage is about. The second is a unique web address. Both will often include keywords and you can take advantage of this.</p><p>DuckDuckGo lets you search for keywords in page titles and URLs.</p><p>To search for a word in a page title, <strong>enter intitle</strong>: before the word. For example, <strong>intitle: iPhone</strong></p><p>To search for a word in a page URL, <strong>enter inurl</strong>: before the word. For example, <strong>inurl: iPhone</strong></p><p>You could try using some of the hacks from the first step here to narrow your search further.</p></p>                </section><section class="howto-block">                    <h3>3. Find information within websites</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/T5NuYwCabJKJQw2iEFnq7B.png"                                        alt="How to get the most out of DuckDuckGo when using NoAI"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/T5NuYwCabJKJQw2iEFnq7B.png"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>If you know a particular website will have the information you need, don’t get DuckDuckGo to scour the entire web in the hope it will quickly find those details for you.</p><p>Instead, to find information within a website, <strong>enter site:</strong> before the website name then <strong>enter a search term</strong>.</p><p>For example, if you’re looking for more amazing “how to” articles in TomsGuide, you can <strong>enter site:tomsguide.com how to</strong>.</p><p>You can also use a similar hack to exclude websites. If you didn’t want results from TomsGuide (hey, why not?), then you would <strong>enter -site:tomsguide.com followed by the search term</strong>.</p><p>You could try using some of the hacks from the first step here to narrow your search further.</p></p>                </section><section class="howto-block">                    <h3>4. Use a website’s own search engine</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/hqnwKL3a8rVMwC3kmakgtA.png"                                        alt="How to get the most out of DuckDuckGo when using NoAI"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/hqnwKL3a8rVMwC3kmakgtA.png"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>You can also direct DuckDuckGo to use a website’s own search engine. DuckDuckGo uses shortcuts called “bangs” which are initiated by typing an exclamation mark.</p><p>If you want to use eBay’s search engine, for example, you’d <strong>type !e</strong> into DuckDuckGo and then <strong>enter your search term</strong>. For Amazon, you’d <strong>enter !a</strong>, for GitHub you’d <strong>enter !gh</strong> and for Netflix you’d enter <strong>!nf</strong>. You’ll be taken straight to the results on each company’s page.</p><p>But how do you know which bang to use when there are thousands of them?<strong> Simply use DuckDuckGo’s Bang </strong><a href="https://duckduckgo.com/bangs"><strong>search engine</strong></a>. Look for the websites that you use most regularly and make a mental note of them, speeding up future searches.</p></p>                </section><section class="howto-block">                    <h3>5. Look for files</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/asSSfFfWS4qMgSx8hQBMpA.png"                                        alt="How to get the most out of DuckDuckGo when using NoAI"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/asSSfFfWS4qMgSx8hQBMpA.png"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>If you want to find websites that have documents about a particular subject matter, you can use DuckDuckGo to look for PDFs, html files, doc(x), xls(x) and ppt(x) files.</p><p>Just <strong>enter filetype: and the kind of file you need</strong> then <strong>enter a search term</strong>. For example: filetype: PDF Apple iPhone</p><p>You could try using some of the hacks from the first step here to narrow your search further.</p></p>                </section><section class="howto-block">                    <h3>6. Activate Safe Search</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/coHHRoVeXXx6VeqLNoN5NB.png"                                        alt="How to get the most out of DuckDuckGo when using NoAI"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/coHHRoVeXXx6VeqLNoN5NB.png"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>There are also a few ways to ensure you search results exclude adult content. One is to <strong>use the Safe Search drop-down menu located beneath the search bar</strong>. The second is to <strong>use safe.duckduckgo.com</strong>, but then you’re not using the No AI service.</p><p>The third is to <strong>enter !safeon</strong> at the end of a search. For example, model !safeon. You can <strong>use !safeoff</strong> if you wish as well.</p></p>                </section><figure class="van-image-figure pull-right inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="8RpLeaq6UZxfGpTcqGj7HX" name="Google" alt="Google" src="https://cdn.mos.cms.futurecdn.net/8RpLeaq6UZxfGpTcqGj7HX.jpg" mos="" align="right" fullscreen="" width="676" height="213" attribution="" endorsement="" class="pull-rightinline"></p></div></div></figure><ul><li><a href="https://www.tomsguide.com/how-to/how-to-use-duckduckgo">How to use DuckDuckGo: Everything you need to know</a></li><li><a href="https://www.tomsguide.com/ai/ai-image-video/i-just-tried-duckduckgos-new-anonymous-ai-photo-editor-and-its-a-game-changer">I just tried DuckDuckGo’s new anonymous AI photo editor and it’s a game changer</a></li><li><a href="https://www.tomsguide.com/how-to/how-to-change-default-browser">How to change default browser on Windows, macOS, Android and iPhone</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This hidden Android feature can turbocharge autocorrect and stop all your 'ducking' mistakes ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/android-phones/this-hidden-android-feature-can-turbocharge-autocorrect-and-stop-all-your-ducking-mistakes</link>
                                                                            <description>
                            <![CDATA[ Android's hidden Personal Dictionary feature puts you in control of autocorrect, not Google. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Jz73QF5STqHv8zddevR9Xb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BNjTVeJ4FGSEM8sRsYJDgA-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 28 Jun 2026 10:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/BNjTVeJ4FGSEM8sRsYJDgA-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[gboard app on android]]></media:description>                                                            <media:text><![CDATA[gboard app on android]]></media:text>
                                <media:title type="plain"><![CDATA[gboard app on android]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BNjTVeJ4FGSEM8sRsYJDgA-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you've ever felt like Android's autocorrect just wasn't good enough, then you should know that you don't have to suffer in silence. You may not have been aware, but Gboard features something called a "Personal Dictionary," and its hidden feature can be exploited to make your typing experience way better than it currently is.</p><p>Provided you know where to go, and what to do, it's actually possible to customize your Personal Dictionary to better suit the way you use your phone. Whether that includes adding words Google is unfamiliar with, fixing all the misplaced autocorrections to keep them from happening, or creating your own custom text shortcuts to make typing things like emails and phone numbers a whole lot easier.</p><p>Here's how to access Personal Dictionary on Android phones, and customize the entries to make your life easier.</p><section class="howto-block">                    <h3>1. Open Gboard settings from Gboard</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/2fiYqqJhQ8tAq2ca9M8kF.jpg"                                        alt="how to use android personal dictionary step by step"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/2fiYqqJhQ8tAq2ca9M8kF.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>First thing you'll need to do is open up Gboard's settings. All you need to do is open Gboard in any app, and tap the gear icon on the top-right side of the phone.</p></p>                </section><section class="howto-block">                    <h3>2. Open the Dictionary settings</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/AoAEYYjB9SFyBa8GHmXUQ.jpg"                                        alt="how to use android personal dictionary step by step"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/AoAEYYjB9SFyBa8GHmXUQ.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Next up you'll have to scroll down until you see the <strong>Dictionary</strong> option. Tap this, and then tap <strong>Personal Dictionary</strong> followed by your language of choice. In my case it's <strong>English (UK).</strong></p></p>                </section><section class="howto-block">                    <h3>3. Add your words</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/ZS7zjoqur8sUzmAh4WFKQ.jpg"                                        alt="how to use android personal dictionary step by step"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/ZS7zjoqur8sUzmAh4WFKQ.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>To add a new word you simply need to tap the <strong>+ </strong> icon in the top right, and type your word onto the top row. If you want to add a shortcut, you can add this in the row below. In my case I've added my work email, with the shortcut <strong>Tmail</strong> to save having to type it out all the time</p><p>Once everything has been entered correctly, tap the <strong>Back button</strong> to return to the previous page</p></p>                </section><section class="howto-block">                    <h3>4. Use your new words</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/Z5k6mGHz7GmKnHA6uFNDL.jpg"                                        alt="how to use android personal dictionary step by step"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/Z5k6mGHz7GmKnHA6uFNDL.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Return to any app that requires typing and put your new words to the test. It won't always add your custom words automatically, but they will appear in the autocorrect box at the top of Gboard. </p></p>                </section><section class="howto-block">                    <h3>5.  (Optional) Export your Dictionary</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/WxJ9NSVddMKcvTKfJ98mC.jpg"                                        alt="how to use android personal dictionary step by step"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/WxJ9NSVddMKcvTKfJ98mC.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>If you ever delete Gboard, or clear the cache, you will lose access to your custom keyboard. So it makes sense to have a backup.</p><p>Tap the <strong>three dot</strong> icon in the top right, and select <strong>Export.</strong> You'll be asked which default option to pick, I chose Google Drive, and once that's done follow the on-screen instructions to continue.</p></p>                </section><section class="howto-block">                    <h3>6.  (Optional) Import an existing dictionary</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/ReQ4ztjJRYaUMyKPbAELQ.jpg"                                        alt="how to use android personal dictionary step by step"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/ReQ4ztjJRYaUMyKPbAELQ.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>If you ever need to import your dictionary to Gboard again, you can import that backup very easily. Simply tap the <strong>three dot icon</strong> and select<strong> import</strong>. You'll then need to locate the correct file, and tap it.</p><p>In my case Gboard wasn't able to locate the correct file on Google Drive. If this happens to you, simply download the backup to your phone and it should appear without issue.</p></p>                </section><p>There you have it, your own personal dictionary complete with words and shortcuts that Google and its keyboard wouldn't otherwise know. </p><p>That means the next time you decide you want to type out whatever obscure words or phrases you've picked up, the autocorrect shouldn't automatically change them to something completely different and incomprehensible in the context of your sentence. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/phones/i-tried-this-new-magsafe-wallet-that-looks-better-the-longer-i-use-it-heres-what-it-is">I tried this new MagSafe wallet that looks better the longer I use it — and it's got Find My support built in</a></li><li><a href="https://www.tomsguide.com/phones/iphones/i-used-to-find-my-iphones-shortcuts-app-intimidating-then-ios-27-changed-everything">I used to find my iPhone's Shortcuts app intimidating — then iOS 27 changed everything</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ios-27-has-a-hidden-liquid-glass-slider-here-is-how-to-find-and-use-it">iOS 27 has a new ‘Liquid Glass’ slider — here's how to find it and use it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Home Speaker review: modest upgrades, but Gemini is the star ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/audio/smart-speakers/google-home-speaker-review</link>
                                                                            <description>
                            <![CDATA[ Aside from its design, the Google Home Speaker isn't a huge upgrade over the Nest Audio, and you can get all the same Gemini features on both devices. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kqpFGZqfGzJxez3wyGEHoB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AfNUB2sJXddzNzhcp6uAWS-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 24 Jun 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Speakers]]></category>
                                                    <category><![CDATA[Speakers]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ mike.prospero@futurenet.com (Mike Prospero) ]]></author>                    <dc:creator><![CDATA[ Mike Prospero ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/6ZM8mX4UwccqDJTh9gLPqV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael A. Prospero is the U.S. Editor-in-Chief for Tom’s Guide. He oversees all evergreen content and oversees the Homes, Smart Home, and Fitness/Wearables categories for the site. In his spare time, he also tests out the latest drones, electric scooters, and smart home gadgets, such as video doorbells. Before his tenure at Tom&#039;s Guide, he was the Reviews Editor for Laptop Magazine, a reporter at Fast Company, the Times of Trenton, and, many eons back, an intern at George magazine. He received his undergraduate degree from Boston College, where he worked on the campus newspaper The Heights, and then attended the Columbia University school of Journalism. When he’s not testing out the latest running watch, electric scooter, or skiing or training for a marathon, he’s probably using the latest sous vide machine, smoker, or pizza oven, to the delight — or chagrin — of his family.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AfNUB2sJXddzNzhcp6uAWS-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Home Speaker]]></media:description>                                                            <media:text><![CDATA[Google Home Speaker]]></media:text>
                                <media:title type="plain"><![CDATA[Google Home Speaker]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AfNUB2sJXddzNzhcp6uAWS-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>At long last, Google has refreshed its smart speaker lineup with the new Google Home Speaker; first announced in the fall of 2025, it took nearly nine months for the device to come to market, and replaces the six-year-old Google Nest Audio as the top-shelf smart speaker in the company’s portfolio.</p><p>Things have changed a lot since Google last released a smart speaker. During that time, AI got real big, so now the assistant powering the Google Home speaker can do a lot more than just turn on your lights.</p><p>So how does the Google Home Speaker stack up against the <a href="https://www.tomsguide.com/us/best-smart-speakers,review-4480.html">best smart speakers</a>? I’ve used it for a few days and compared it against its main rivals, the Apple HomePod mini and the Amazon Echo Dot Max, to find out.</p><h3 class="article-body__section" id="section-google-home-speaker-review-price-and-availability"><span>Google Home Speaker review: Price and availability</span></h3><p>The Google Home Speaker went on sale on June 24, 2026 for $99. You can get it in one of four colors: Jade (green), Berry (red), Porcelain (white) and Hazel (grayish black). However, the Jade and Berry colors are exclusive to the U.S.</p><p>The Google Home Speaker replaces the Google Nest Audio, and, for the moment, the Google Nest Mini, both of which are no longer for sale at Google’s online store.</p><h3 class="article-body__section" id="section-google-home-speaker-review-design"><span>Google Home Speaker review: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dpBaqjHLfrdaQ5CCE7cn2W" name="Google Home speaker-6" alt="Google Home Speaker" src="https://cdn.mos.cms.futurecdn.net/dpBaqjHLfrdaQ5CCE7cn2W.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Google Home Speaker looks a bit like someone took the Apple HomePod mini and smushed it a little</p><p>There are two touch-sensitive buttons on the top of the speaker to control the volume. You can’t see the buttons, as they’re hidden by the fabric, but if you tap the top of the speaker, two LEDs turn on to show you their location. You can’t tell which is volume up or volume down by sight; you’ll have to tap them to find out which is which. Tapping the top of the speaker will also play/pause your music.</p><p>Google had similar hidden touch-sensitive buttons on its previous smart speakers with an equally mixed reception; the Mini’s buttons had to be deactivated because of their finicky nature. I just find it annoying that you have to give the speaker an extra tap.</p><p>Similar to the Echo Dot Max, the Google Home Speaker has a circular ring of LEDs which changes color based on the circumstance; for example, it turns white when Gemini is listening, multiple colors when it’s thinking, and orange when the microphone is off.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zCGPPi5GVbKBR7yA56YKVZ" name="Google Home speaker-3" alt="Google Home Speaker" src="https://cdn.mos.cms.futurecdn.net/zCGPPi5GVbKBR7yA56YKVZ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Also on the base of the speaker is a physical switch to disable its microphones, which is a commendable feature. Less so is the nonremovable power cord; break it, and you’ll have to replace the whole device. </p><h3 class="article-body__section" id="section-google-home-speaker-review-sustainability"><span>Google Home Speaker review: Sustainability</span></h3><p>As with most companies’ claims, Google throws out some numbers which are ultimately a little vague. Google says the speaker and its adapter is “Made with at least 37% recycled materials based on product weight.” Whether that means the metal or plastic parts is unclear.</p><p>By comparison, Amazon says the <a href="https://sustainability.aboutamazon.com/devices_fact_sheet_echo_dot_max.pdf">Echo Dot Max is made from 23% recycled materials</a>; the fabric parts are made from 98% post-consumer recycled fabric, while the plastic is made from 41% post consumer recycled plastic.</p><p>The Apple HomePod mini uses <a href="https://www.apple.com/homepod-mini/specs/">99% recycled rare earth elements</a>, and 35% or more recycled plastic in multiple components.</p><h3 class="article-body__section" id="section-google-home-speaker-review-audio-performance"><span>Google Home Speaker review: Audio performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TkWLXUmvTyYDH9JpUrU2zd" name="Google Home speaker-2" alt="Google Home Speaker with Echo Dot Max and HomePod mini" src="https://cdn.mos.cms.futurecdn.net/TkWLXUmvTyYDH9JpUrU2zd.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Where the Nest Audio had a 75mm woofer and a 19mm tweeter, the Google Home Speaker has a single 58mm driver. I didn’t have the older Nest to compare the two side-by-side, but the tl;dr is that the Google Home Speaker performs well for its size. </p><p>I played a variety of tracks on the Google Home Speaker, as well as the HomePod mini and Echo Dot Max, and though there were some subtle differences between them, they weren’t all that disparate. </p><p>I might give a slight edge to the Echo Dot Max; it’s the only device that has two speakers (an 0.8-inch tweeter and 2.5-inch woofer) which helped midtones stand out a bit more than the Google Home and the HomePod mini, which has a single 2-inch driver </p><p>Mids sounded a bit compressed, such as Billy Joel’s voice in “Movin’ Out.” Joel’s voice sounded better and warmer on the Echo Dot Max, and there was also better bass. However, the HomePod mini sounded the best of the three. </p><p>Olivia Rodrigo’s “Drop Dead” sounded best on the Echo Dot Max, as it was able to better separate the mids and highs; the Google Home Speaker and HomePod mini mushed things a bit.</p><p>Not surprisingly, bass was just ok, I threw on some old-school Snoop Dog “Who am I (What’s My Name)?” and the groove was much better on the Echo Dot Max and the HomePod than Google’s speaker.  </p><h3 class="article-body__section" id="section-google-home-speaker-review-google-gemini"><span>Google Home Speaker review: Google Gemini</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="P9tEwT4b4it3uH4NMaAe8h" name="Google Home speaker-4" alt="Google Home Speaker" src="https://cdn.mos.cms.futurecdn.net/P9tEwT4b4it3uH4NMaAe8h.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The hardware may be new, but the bigger upgrade inside the Google Play Speaker is <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-everything-you-need-to-know">Gemini</a>, which is far more capable and powerful than Google Assistant. </p><p>Gemini for Home works with all of Google’s smart speakers and displays, but only the newer ones — Nest Audio, Nest mini (2nd Gen), Nest Hub Max and Nest Hub (2nd Gen) — will support the full Gemini for Home experience, as well as Gemini Live, where you can have a more natural, free-flowing conversation. </p><p>To test out Gemini on the Google Home Speaker, I asked it a series of questions, which it answered correctly, and was much more engaging than the old Assistant. For example, when I asked “Hey Google, what’s a good recipe for chicken wings?”, Gemini responded with a wide range of options, as well as certain things that it thought were popular. </p><p>I then asked Gemini to save the recipe, and it told me it created a note, but not where it was saved. I was able to find it in my Google Keep folder. </p><p>I also tested Gemini on sports, and here, it was a bit slower on the uptake. I asked ““Hey Google, did France win today?” and received the response “No, France did not play today,” although they had just defeated Iraq in the World Cup.</p><p>I then followed up with “Are you sure France didn’t play today?” and Gemini quickly corrected itself, gave me a summary of the game, and told me that <em>Les Bleus</em> secured a spot in the round of 32.</p><h3 class="article-body__section" id="section-google-home-speaker-review-subscription-costs"><span>Google Home Speaker review: Subscription costs</span></h3><p>You get Gemini for Home for free with the Google Home Speaker, but to make the most out of Gemini (and the speaker), you’ll need to sign up for a Google Home Premium subscription. Otherwise, you won’t get  conversational Gemini, among other things.</p><p>If you sign up for Google Home Premium Standard ($10/month or $100/year), you get the following:</p><ul><li><strong>Gemini Live (Get expert help, brainstorm ideas, and learn new topics)</strong></li><li><strong>Help me create (lets you describe to Gemini the smart home routine you want to create)</strong></li><li><strong>Sound detection (Smoke/carbon monoxide alarm and</strong><sup><strong> </strong></sup><strong>Glass breaking)</strong></li><li><strong>30 days of video event history</strong></li></ul><p>If you sign up for Google Home Premium Advanced ($20/month, $200/year), you get those features as well as these:</p><ul><li><strong>Search video history - Quickly search your camera history by just asking</strong></li><li><strong>Daily summaries - Ask about what you missed when you were away</strong></li><li><strong>60 days of video history</strong></li><li><strong>10 days of 24/7 video history</strong></li><li><strong>Descriptive notifications</strong></li><li><strong>Event descriptions</strong></li></ul><p>If you’re more invested in Gemini, you can also get the Standard plan as part of a <a href="https://gemini.google/subscriptions/">Google AI Pro subscription</a> ($20/month), and the Advanced plan with Google AI Ultra ($99/month).</p><h3 class="article-body__section" id="section-google-home-speaker-review-home-theater-features"><span>Google Home Speaker review: Home theater features</span></h3><p>Similar to its rival smart speakers, the Google Home Speaker works well with the Google TV Streamer to create a home theater experience. You can pair either a single speaker or two to the streaming device; if you pair two, you can also set up spatial audio. Dolby Atmos is supported, and the Google TV Streamer can also convert HD audio into a proprietary spatial audio format. </p><p>Amazon takes things a step further with its Echo Dot Max and Echo Studio speakers, as you can create a <a href="https://www.tomsguide.com/audio/smart-speakers/i-used-the-echo-dot-max-and-echo-studio-to-create-an-alexa-home-theater-heres-how-it-sounds">full surround sound experience</a> with up to five speakers. </p><h3 class="article-body__section" id="section-google-home-speaker-review-smart-home-functionality"><span>Google Home Speaker review: Smart Home functionality</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kLxn25x3gYoTuj8YjC3oum" name="Google Home speaker-7" alt="Google Home Speaker" src="https://cdn.mos.cms.futurecdn.net/kLxn25x3gYoTuj8YjC3oum.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As a smart home device, the Google Home Speaker is less capable than its Apple and Amazon rivals. For example, the HomePod mini has temperature and humidity sensors; the Amazon Echo Dot Max can act as an <a href="https://www.tomsguide.com/features/the-echo-dot-now-works-as-an-eero-mesh-extender-just-how-good-is-it">eero mesh router extender</a> and has ambient light and temperature sensors, as well as presence detection. </p><p>Those other sensors make the other smart speakers far more functional. For example, you can create an Apple Home or Alexa routine to turn on your air conditioner if the temperature as measured by a speaker rises above a certain level, or if it senses someone entering the room.</p><h3 class="article-body__section" id="section-google-home-speaker-review-bottom-line"><span>Google Home Speaker review: Bottom line</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="taBNFcocc9giLoQnTgVVEA" name="Google Home speaker-5" alt="Google Home Speaker" src="https://cdn.mos.cms.futurecdn.net/taBNFcocc9giLoQnTgVVEA.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Smart speakers aren’t quite the commodity they once were; Like Amazon, Google has gone from releasing a new model every year to waiting more than half a decade between the Nest Audio and the Google Home Speaker.</p><p>And that’s fine. There’s only so much you can do, though both Amazon and Apple have done more with their smart speakers than Google in terms of embedding additional sensors to make their devices more integral to a smart home ecosystem.</p><p>As smart home assistants, both Alexa and Google are very capable, especially now that they’ve gained extra AI abilities. If you’ve already started using either smart assistant, it’s unlikely that you’re going to switch your smart home from Alexa to Google or vice versa.</p><p>At this point, a smart speaker is more or less a delivery mechanism for the smart assistant of your choice. If you already own a Google smart speaker and it’s working well, there’s no real reason to upgrade, unless you want to create a Google-centric home theater system.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 13 of the best Prime Day phone deals you can enjoy right now ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/best-prime-day-2026-phone-deals-you-can-enjoy-right-now</link>
                                                                            <description>
                            <![CDATA[ Prime Day deals have knocked hundreds of dollars off the best phones, and here are 13 of the best deals you can enjoy right now. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Xozv38ismns5GPqk528eGa</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6CAmVREmCjDViRyTRfQgPL-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 22 Jun 2026 14:41:13 +0000</pubDate>                                                                                                                                <updated>Thu, 25 Jun 2026 07:12:40 +0000</updated>
                                                                                                                                            <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/6CAmVREmCjDViRyTRfQgPL-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy S26 Ultra with prime day badge nearby.]]></media:description>                                                            <media:text><![CDATA[Galaxy S26 Ultra with prime day badge nearby.]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy S26 Ultra with prime day badge nearby.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6CAmVREmCjDViRyTRfQgPL-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We're over halfway through <a href="https://www.tomsguide.com/live/news/prime-day-2026-top-sales-now">Amazon's Prime Day sale</a>, and there are still deals knocking hundreds of dollars off the best phones. So if you're looking for a brand new handset, and don't feel like waiting the releases scheduled for the latter half of this year, now is the time to buy</p><p>But the sales aren't just at Amazon either. Other retailers, including Best Buy and Walmart, have launched sales of their own — also knocking down the price of a bunch of great phones. In other words, now's the best time to buy a new phone if you don't plan on waiting until Black Friday.</p><p>These are 13 of the best early Prime Day phone deals around.</p><h2 class="article-body__section" id="section-prime-day-phone-deals-quick-links"><span>Prime Day phone deals: Quick Links</span></h2><ul><li><strong>Google Pixel 10a: </strong><a href="https://www.amazon.com/Google-Pixel-10a-Battery-Camera/dp/B0GHRHXVN1?th=1" target="_blank" rel="nofollow"><strong>was $499 now $399 @ Amazon</strong></a><strong></strong></li><li><strong>Nothing Phone 4a: </strong><a href="https://www.bestbuy.com/product/nothing-phone-4a-pro-128gb-unlocked-black/CZTTGJQQ7R" target="_blank" rel="nofollow"><strong>was $499 now $419 @ Best Buy</strong></a></li><li><strong>Apple iPhone 16e: </strong><a href="https://www.bestbuy.com/product/apple-iphone-16e-128gb-apple-intelligence-unlocked-white/JJGCQG2GTF" target="_blank" rel="nofollow"><strong>was $599 now $489 @ Best Buy</strong></a></li><li><strong>Samsung Galaxy Z Flip 7 FE: </strong><a href="https://www.amazon.com/Samsung-Smartphone-Unlocked-Manufacturer-Warranty/dp/B0F7JYHXLP/" target="_blank" rel="nofollow"><strong>was $899 now $499 @ Amazon</strong></a></li><li><strong>Google Pixel 10: </strong><a href="https://www.amazon.com/Google-Pixel-Smartphone-Assistant-Fast-Charging/dp/B0FFTRPM4K" target="_blank" rel="nofollow"><strong>was $799 now $534 @ Amazon</strong></a><strong></strong></li><li><strong>Motorola Razr 2025: </strong><a href="https://www.amazon.com/Motorola-Unlocked-Camera-Pantone-Parfait/dp/B0F2B3G6FX/" target="_blank" rel="nofollow"><strong>was $699 now $529 @ Amazon</strong></a></li><li><strong>Google Pixel 10 Pro: </strong><a href="https://www.amazon.com/Google-Pixel-Pro-Smartphone-Fast-Charging/dp/B0FFTT2J6N" target="_blank" rel="nofollow"><strong>was $999 now $684 @ Amazon</strong></a></li><li><strong>Motorola Razr Ultra 2025: </strong><a href="https://www.bestbuy.com/product/motorola-razr-ultra-2025-512gb-unlocked-pantone-scarab/J39QWYQ3JP/sku/6625234" target="_blank" rel="nofollow"><strong>was $1,299 now $699 @ Best Buy</strong></a></li><li><strong>Samsung Galaxy S26: </strong><a href="https://www.walmart.com/ip/M1-256GB-Black/19202402404" target="_blank" rel="nofollow"><strong>was $899 now $740 @ Walmart</strong></a></li><li><strong>OnePlus 13: </strong><a href="https://www.bestbuy.com/product/oneplus-13-512gb-unlocked-black-eclipse/CZYJWF7XWJ" target="_blank" rel="nofollow"><strong>was $999 now $799 @ Best Buy</strong></a></li><li><strong>iPhone Air: </strong><a href="https://www.bestbuy.com/product/apple-iphone-air-256gb-unlocked-space-black/JJGCQLRKC2" target="_blank" rel="nofollow"><strong>was $999 now $839 @ Best Buy</strong></a></li><li><strong>Samsung Galaxy S26 Ultra: </strong><a href="https://www.amazon.com/Samsung-Unlocked-Smartphone-Charging-Warranty/dp/B0G4SWDH8P" target="_blank" rel="nofollow"><strong>was $1,299 now $919 @ Amazon</strong></a></li><li><strong>Google Pixel 10 Pro Fold: </strong><a href="https://www.amazon.com/Google-Pixel-Pro-Fold-Smartphone/dp/B0FFTR1QB3" target="_blank" rel="nofollow"><strong>was $1,799 now $1,399 @ Amazon</strong></a><strong></strong></li></ul><h2 class="article-body__section" id="section-all-the-best-prime-day-phone-deals"><span>All the best Prime Day phone deals</span></h2><div class="product"><a data-dimension112="47c2dac9-15e7-4c87-9fa9-b2e3b211daf8" data-action="Deal Block" data-label="best cheap phone" data-dimension48="best cheap phone" data-dimension25="$399" href="https://www.amazon.com/Google-Pixel-10a-Battery-Camera/dp/B0GHRHXVN1?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1243px;"><p class="vanilla-image-block" style="padding-top:120.68%;"><img id="HeYsLX4yTgWGZz9Yq5NJFM" name="Pixel 10a deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/HeYsLX4yTgWGZz9Yq5NJFM.jpg" mos="" align="middle" fullscreen="" width="1243" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Pixel 10a may not have had the most impressive upgrade, but it's still the <a href="https://www.tomsguide.com/best-picks/best-cheap-phones" data-dimension112="47c2dac9-15e7-4c87-9fa9-b2e3b211daf8" data-action="Deal Block" data-label="best cheap phone" data-dimension48="best cheap phone" data-dimension25="$399">best cheap phone </a>— with all the features that make a Pixel worth buying. Cameras, AI, bright screens, the works. It's now down to a new all-time low for Prime Day, with 20% off the usual price if you buy the black model.<a class="view-deal button" href="https://www.amazon.com/Google-Pixel-10a-Battery-Camera/dp/B0GHRHXVN1?th=1" target="_blank" rel="nofollow" data-dimension112="47c2dac9-15e7-4c87-9fa9-b2e3b211daf8" data-action="Deal Block" data-label="best cheap phone" data-dimension48="best cheap phone" data-dimension25="$399">View Deal</a></p></div><div class="product"><a data-dimension112="7f22edac-fbeb-4fb9-b766-3f05854a5532" data-action="Deal Block" data-label="best cheap phones" data-dimension48="best cheap phones" data-dimension25="$419" href="https://www.bestbuy.com/product/nothing-phone-4a-pro-128gb-unlocked-black/CZTTGJQQ7R" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="D7yfN6qubYsNKDFyhBH2e8" name="Phone-4a-Pro-White" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/D7yfN6qubYsNKDFyhBH2e8.webp" mos="" align="middle" fullscreen="" width="2048" height="2048" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>One of the <a href="https://www.tomsguide.com/best-picks/best-cheap-phones" data-dimension112="7f22edac-fbeb-4fb9-b766-3f05854a5532" data-action="Deal Block" data-label="best cheap phones" data-dimension48="best cheap phones" data-dimension25="$419">best cheap phones</a> is already on sale, saving you $80 off the usual price. It may not be as big a discount as some of the other phones in this list, but it's not bad considering this phone is only a few months old. The <a href="https://www.tomsguide.com/phones/android-phones/nothing-phone-4a-pro-review-a-solid-sub-usd500-phone-let-down-by-its-altered-looks">Nothing Phone 4a Pro</a> adds some premium feeling to your lower-cost phone, with powerful cameras, a solid display, unique AI features and a customizable LED Glyph display — which isn't something you'll find on other phones.<a class="view-deal button" href="https://www.bestbuy.com/product/nothing-phone-4a-pro-128gb-unlocked-black/CZTTGJQQ7R" target="_blank" rel="nofollow" data-dimension112="7f22edac-fbeb-4fb9-b766-3f05854a5532" data-action="Deal Block" data-label="best cheap phones" data-dimension48="best cheap phones" data-dimension25="$419">View Deal</a></p></div><div class="product"><a data-dimension112="9e872ef0-265b-4ef4-a3f9-6df3609bd3a1" data-action="Deal Block" data-label="iPhone 17e" data-dimension48="iPhone 17e" data-dimension25="$489" href="https://www.bestbuy.com/product/apple-iphone-16e-128gb-apple-intelligence-unlocked-white/JJGCQG2GTF" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6XDDGA8kCSFrs9m2vXphbQ" name="iphone16e-bb" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6XDDGA8kCSFrs9m2vXphbQ.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17e-review" data-dimension112="9e872ef0-265b-4ef4-a3f9-6df3609bd3a1" data-action="Deal Block" data-label="iPhone 17e" data-dimension48="iPhone 17e" data-dimension25="$489">iPhone 17e</a> may have stolen its thunder, but there's still a lot to like about the<a href="https://www.tomsguide.com/phones/iphones/apple-iphone-16e-review"> iPhone 16e</a>. In fact the phones are much the same, and last year's e-series iPhone still offers great camera capabilities, a nice screen, good battery life and access to (almost) everything Apple Intelligence has to offer — including Siri AI.</p><p>You just have to be willing to sacrifice a few features, like <a href="https://www.tomsguide.com/phones/iphones/what-is-apple-magsafe-and-which-iphones-support-it">MagSafe</a> and the extra performance from the A19 chipset. But for the most part, the similarities between the two phones are not so great that you should feel like you're missing out on a lot. Especially with this discount.<a class="view-deal button" href="https://www.bestbuy.com/product/apple-iphone-16e-128gb-apple-intelligence-unlocked-white/JJGCQG2GTF" target="_blank" rel="nofollow" data-dimension112="9e872ef0-265b-4ef4-a3f9-6df3609bd3a1" data-action="Deal Block" data-label="iPhone 17e" data-dimension48="iPhone 17e" data-dimension25="$489">View Deal</a></p></div><div class="product"><a data-dimension112="d6b163b7-696f-4e41-a98d-b807cbe9802c" data-action="Deal Block" data-label="Galaxy Z Flip 7 FE" data-dimension48="Galaxy Z Flip 7 FE" data-dimension25="$499" href="https://www.amazon.com/Samsung-Smartphone-Unlocked-Manufacturer-Warranty/dp/B0F7JYHXLP/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="y6onfugSbTgDcNJNqB4Kom" name="galaxy-z-flip-fe-bb" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/y6onfugSbTgDcNJNqB4Kom.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-7-fe-review" data-dimension112="d6b163b7-696f-4e41-a98d-b807cbe9802c" data-action="Deal Block" data-label="Galaxy Z Flip 7 FE" data-dimension48="Galaxy Z Flip 7 FE" data-dimension25="$499">Galaxy Z Flip 7 FE</a> isn't a particularly impressive foldable when you look at the original $899 price tag, but with almost $300 off the price tag it suddenly becomes a phone worth checking out. That's especially true if you'd rather have a Galaxy foldable, instead of a Razr. It has the look of an older Z Flip, but it offers a lot of the same things as the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-7-hands-on-review-feels-like-flip-phone-perfection">Z Flip 7</a> — including software support and camera quality. Performance isn't the best, though, and we would have liked to see a better battery. But for this price, anyone looking for a Galaxy foldable experience shouldn't miss out.<a class="view-deal button" href="https://www.amazon.com/Samsung-Smartphone-Unlocked-Manufacturer-Warranty/dp/B0F7JYHXLP/" target="_blank" rel="nofollow" data-dimension112="d6b163b7-696f-4e41-a98d-b807cbe9802c" data-action="Deal Block" data-label="Galaxy Z Flip 7 FE" data-dimension48="Galaxy Z Flip 7 FE" data-dimension25="$499">View Deal</a></p></div><div class="product"><a data-dimension112="ec74d816-8eb9-4d83-a162-c5a88d3c84c5" data-action="Deal Block" data-label="Another Pixel 10 model on sale, back down to its lowest ever price of $548. The Pixel 10 got some major upgrades last year, packing in an extra camera lens, a brighter display, Qi2 charging and the usual slew of AI features from Google." data-dimension48="Another Pixel 10 model on sale, back down to its lowest ever price of $548. The Pixel 10 got some major upgrades last year, packing in an extra camera lens, a brighter display, Qi2 charging and the usual slew of AI features from Google." data-dimension25="$534" href="https://www.amazon.com/Google-Pixel-Smartphone-Assistant-Fast-Charging/dp/B0FFTRPM4K" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="bpTaV2HQDC8Bt3dMMYCbnS" name="61OyKi98IuL._AC_SL1500_ copy" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bpTaV2HQDC8Bt3dMMYCbnS.jpg" mos="" align="middle" fullscreen="" width="1200" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Another Pixel 10 model on sale, back down to its lowest ever price of $548. The Pixel 10 got some major upgrades last year, packing in an extra camera lens, a brighter display, Qi2 charging and the usual slew of AI features from Google.<a class="view-deal button" href="https://www.amazon.com/Google-Pixel-Smartphone-Assistant-Fast-Charging/dp/B0FFTRPM4K" target="_blank" rel="nofollow" data-dimension112="ec74d816-8eb9-4d83-a162-c5a88d3c84c5" data-action="Deal Block" data-label="Another Pixel 10 model on sale, back down to its lowest ever price of $548. The Pixel 10 got some major upgrades last year, packing in an extra camera lens, a brighter display, Qi2 charging and the usual slew of AI features from Google." data-dimension48="Another Pixel 10 model on sale, back down to its lowest ever price of $548. The Pixel 10 got some major upgrades last year, packing in an extra camera lens, a brighter display, Qi2 charging and the usual slew of AI features from Google." data-dimension25="$534">View Deal</a></p></div><div class="product"><a data-dimension112="e2ff08fc-85fe-400f-921c-56864486dbb6" data-action="Deal Block" data-label="Motorola Razr 2025" data-dimension48="Motorola Razr 2025" data-dimension25="$529" href="https://www.amazon.com/Motorola-Unlocked-Camera-Pantone-Parfait/dp/B0F2B3G6FX/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="aZjZ6r6P2JVfMnByWzgjUQ" name="Motorola Razr 2025 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aZjZ6r6P2JVfMnByWzgjUQ.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The price drop on the <a href="https://www.tomsguide.com/phones/motorola-phones/motorola-razr-plus-2025-review" data-dimension112="e2ff08fc-85fe-400f-921c-56864486dbb6" data-action="Deal Block" data-label="Motorola Razr 2025" data-dimension48="Motorola Razr 2025" data-dimension25="$529">Motorola Razr 2025</a> isn't nearly as steep as the Z Flip 7 FE, but that's because it wasn't so expensive in the first place. The Razr comes with a more modern design, including a larger cover display and longer battery life — not to mention higher refresh rates on the display. It may not have the same AI prowess that Samsung Galaxy phones have, but there's still a few useful features thrown in as well.<a class="view-deal button" href="https://www.amazon.com/Motorola-Unlocked-Camera-Pantone-Parfait/dp/B0F2B3G6FX/" target="_blank" rel="nofollow" data-dimension112="e2ff08fc-85fe-400f-921c-56864486dbb6" data-action="Deal Block" data-label="Motorola Razr 2025" data-dimension48="Motorola Razr 2025" data-dimension25="$529">View Deal</a></p></div><div class="product"><a data-dimension112="efa257f4-67b9-45d3-b45e-1b25f8f0f941" data-action="Deal Block" data-label="Razr Ultra 2025" data-dimension48="Razr Ultra 2025" data-dimension25="$699" href="https://www.bestbuy.com/product/motorola-razr-ultra-2025-512gb-unlocked-pantone-scarab/J39QWYQ3JP/sku/6625234" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:857px;"><p class="vanilla-image-block" style="padding-top:79.58%;"><img id="PzD3qNzWEhE2h5rFFuxyun" name="Screenshot 2025-10-06 125928" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PzD3qNzWEhE2h5rFFuxyun.png" mos="" align="middle" fullscreen="" width="857" height="682" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Alternatively, for $100 more than the Razr 2025, you can pick up the <a href="https://www.tomsguide.com/phones/motorola-phones/motorola-razr-ultra-2025-review" data-dimension112="efa257f4-67b9-45d3-b45e-1b25f8f0f941" data-action="Deal Block" data-label="Razr Ultra 2025" data-dimension48="Razr Ultra 2025" data-dimension25="$699">Razr Ultra 2025</a> and get a general boost to every aspect of the phone. This means you get a brighter display higher refresh rates, more RAM, a more powerful processor and a larger battery — not to mention 512GB of storage as standard. </p><p>The fact that this is last year's model means that you're getting a very good discount. But that age, and the generosity of the discount means it's going to run out at some point. So grab this while you can.<a class="view-deal button" href="https://www.bestbuy.com/product/motorola-razr-ultra-2025-512gb-unlocked-pantone-scarab/J39QWYQ3JP/sku/6625234" target="_blank" rel="nofollow" data-dimension112="efa257f4-67b9-45d3-b45e-1b25f8f0f941" data-action="Deal Block" data-label="Razr Ultra 2025" data-dimension48="Razr Ultra 2025" data-dimension25="$699">View Deal</a></p></div><div class="product"><a data-dimension112="80983173-29ba-43b2-b749-7ae1420e1465" data-action="Deal Block" data-label="Galaxy S26" data-dimension48="Galaxy S26" data-dimension25="$740" href="https://www.walmart.com/ip/M1-256GB-Black/19202402404" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1195px;"><p class="vanilla-image-block" style="padding-top:122.51%;"><img id="nSapr5RUYD6qtYPBBKaSeS" name="samsung galaxy s26 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/nSapr5RUYD6qtYPBBKaSeS.jpg" mos="" align="middle" fullscreen="" width="1195" height="1464" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The latest entry-level Samsung flagship is now $160 off the usual price over all Walmart, which more than makes up for the $100 price hike Samsung imposed on us this year. This price gets you a <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-review" data-dimension112="80983173-29ba-43b2-b749-7ae1420e1465" data-action="Deal Block" data-label="Galaxy S26" data-dimension48="Galaxy S26" data-dimension25="$740">Galaxy S26</a> with 256GB of storage, access to the latest additions to the Galaxy AI suite, a larger and brighter display, improved performance and all the other things that make having a Galaxy phone worthwhile.<a class="view-deal button" href="https://www.walmart.com/ip/M1-256GB-Black/19202402404" target="_blank" rel="nofollow" data-dimension112="80983173-29ba-43b2-b749-7ae1420e1465" data-action="Deal Block" data-label="Galaxy S26" data-dimension48="Galaxy S26" data-dimension25="$740">View Deal</a></p></div><div class="product"><a data-dimension112="49fac093-3d1e-4e61-afb9-60aa0f33739c" data-action="Deal Block" data-label="If you're looking to pick up a Pixel p[hone ahead of the Pixel 11 launch, the Pixel 10 Pro is down to its lowest ever price. You get 128GB of storage, one of the only Android phones with full Qi2 magnetic charging, great cameras and all the best AI Google has to offer. Performance is middling and battery life could be better, but it's a good phone for the price." data-dimension48="If you're looking to pick up a Pixel p[hone ahead of the Pixel 11 launch, the Pixel 10 Pro is down to its lowest ever price. You get 128GB of storage, one of the only Android phones with full Qi2 magnetic charging, great cameras and all the best AI Google has to offer. Performance is middling and battery life could be better, but it's a good phone for the price." data-dimension25="$684" href="https://www.amazon.com/Google-Pixel-Pro-Smartphone-Fast-Charging/dp/B0FFTT2J6N?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="gBTj4DxfczNtAJHXYxS9QY" name="Pixel 10 Pro deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/gBTj4DxfczNtAJHXYxS9QY.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you're looking to pick up a Pixel p[hone ahead of the Pixel 11 launch, the Pixel 10 Pro is down to its lowest ever price. You get 128GB of storage, one of the only Android phones with full Qi2 magnetic charging, great cameras and all the best AI Google has to offer. Performance is middling and battery life could be better, but it's a good phone for the price.<a class="view-deal button" href="https://www.amazon.com/Google-Pixel-Pro-Smartphone-Fast-Charging/dp/B0FFTT2J6N?th=1" target="_blank" rel="nofollow" data-dimension112="49fac093-3d1e-4e61-afb9-60aa0f33739c" data-action="Deal Block" data-label="If you're looking to pick up a Pixel p[hone ahead of the Pixel 11 launch, the Pixel 10 Pro is down to its lowest ever price. You get 128GB of storage, one of the only Android phones with full Qi2 magnetic charging, great cameras and all the best AI Google has to offer. Performance is middling and battery life could be better, but it's a good phone for the price." data-dimension48="If you're looking to pick up a Pixel p[hone ahead of the Pixel 11 launch, the Pixel 10 Pro is down to its lowest ever price. You get 128GB of storage, one of the only Android phones with full Qi2 magnetic charging, great cameras and all the best AI Google has to offer. Performance is middling and battery life could be better, but it's a good phone for the price." data-dimension25="$684">View Deal</a></p></div><div class="product"><a data-dimension112="2d1a99a6-c0ab-497e-a517-0a4491d52f22" data-action="Deal Block" data-label="OnePlus 13" data-dimension48="OnePlus 13" data-dimension25="$799" href="https://www.bestbuy.com/product/oneplus-13-512gb-unlocked-black-eclipse/CZYJWF7XWJ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2391px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CA3R6bCWumiLsiVxLkkSg8" name="oneplus 13 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CA3R6bCWumiLsiVxLkkSg8.jpg" mos="" align="middle" fullscreen="" width="2391" height="2391" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>OnePlus has always offered great phones, but the past few years have seen things rise to a whole new level. At the time of its release the <a href="https://www.tomsguide.com/phones/oneplus-phones/oneplus-13-review" data-dimension112="2d1a99a6-c0ab-497e-a517-0a4491d52f22" data-action="Deal Block" data-label="OnePlus 13" data-dimension48="OnePlus 13" data-dimension25="$799">OnePlus 13</a> was easily the best Android flagship, and it still has a lot of great qualities — including a bright display, great cameras and a large battery that still offers some of the <a href="https://www.tomsguide.com/us/smartphones-best-battery-life,review-2857.html">best phone battery life.</a></p><p>It may be roughly 18 months old, but it's still a fantastic phone to pick up — especially with $200 off the usual price.<a class="view-deal button" href="https://www.bestbuy.com/product/oneplus-13-512gb-unlocked-black-eclipse/CZYJWF7XWJ" target="_blank" rel="nofollow" data-dimension112="2d1a99a6-c0ab-497e-a517-0a4491d52f22" data-action="Deal Block" data-label="OnePlus 13" data-dimension48="OnePlus 13" data-dimension25="$799">View Deal</a></p></div><div class="product"><a data-dimension112="40bb8bce-5931-43cf-a07a-dc4d83868b23" data-action="Deal Block" data-label="iPhone Air" data-dimension48="iPhone Air" data-dimension25="$839" href="https://www.bestbuy.com/product/apple-iphone-air-256gb-unlocked-space-black/JJGCQLRKC2" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="dm4kNuPysTLWPR7Yz6XnsB" name="iphone-air-bb" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/dm4kNuPysTLWPR7Yz6XnsB.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>It's rare to see big discounts on recent iPhones, but Best Buy has knocked down the price of the <a href="https://www.tomsguide.com/phones/iphones/iphone-air-review" data-dimension112="40bb8bce-5931-43cf-a07a-dc4d83868b23" data-action="Deal Block" data-label="iPhone Air" data-dimension48="iPhone Air" data-dimension25="$839">iPhone Air</a> by $160. Apple's thinnest and lightest only comes with a single camera, but it also offers increased durability to account for the potential pitfalls of that design. The Air comes with the same performance as the iPhone 17, as well as the increased RAM that lets it access all of the newest Siri AI features. Not to mention the large, bright display.</p><p>If you want an iPhone experience that is lighter and easier to carry around than an iPhone 17-series phone, this might be for you. Especially with the new lower price.<a class="view-deal button" href="https://www.bestbuy.com/product/apple-iphone-air-256gb-unlocked-space-black/JJGCQLRKC2" target="_blank" rel="nofollow" data-dimension112="40bb8bce-5931-43cf-a07a-dc4d83868b23" data-action="Deal Block" data-label="iPhone Air" data-dimension48="iPhone Air" data-dimension25="$839">View Deal</a></p></div><div class="product"><a data-dimension112="ae3c1b71-23aa-40d6-b65e-415954ce6d1e" data-action="Deal Block" data-label="S26 Ultra" data-dimension48="S26 Ultra" data-dimension25="$919" href="https://www.amazon.com/Samsung-Unlocked-Smartphone-Charging-Warranty/dp/B0G4SWDH8P" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="X29d34Ur2iYZcPrdBjbT7Q" name="Samsung-Galaxy-S26-Ultra" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/X29d34Ur2iYZcPrdBjbT7Q.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you'd rather have the best possible Samsung Galaxy experience, then you'll want to go for the Ultra model. The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review" data-dimension112="ae3c1b71-23aa-40d6-b65e-415954ce6d1e" data-action="Deal Block" data-label="S26 Ultra" data-dimension48="S26 Ultra" data-dimension25="$919">S26 Ultra</a> comes with all the same features as the Samsung Galaxy S26, alongside some extra upgrades that make the extra price worthwhile. You've got a 200MP main camera, the S Pen stylus, a built-in Privacy Display that will hide sensitive data on your screen and more.<a class="view-deal button" href="https://www.amazon.com/Samsung-Unlocked-Smartphone-Charging-Warranty/dp/B0G4SWDH8P" target="_blank" rel="nofollow" data-dimension112="ae3c1b71-23aa-40d6-b65e-415954ce6d1e" data-action="Deal Block" data-label="S26 Ultra" data-dimension48="S26 Ultra" data-dimension25="$919">View Deal</a></p></div><div class="product"><a data-dimension112="28de520b-f629-498e-842d-e3d2dccc888d" data-action="Deal Block" data-label="Foldable phones are expensive, but sales events like Prime Day can lower the cost of purchase by a significant amount. Just like it's done for the Pixel 10 Pro Fold, which is now $400 off the normal price — and sitting at an all-time lowThis comes with all the same features as a Pixel 10 Pro, paired with a larger foldable screen for all those times an ordinary-sized screen won't cut it." data-dimension48="Foldable phones are expensive, but sales events like Prime Day can lower the cost of purchase by a significant amount. Just like it's done for the Pixel 10 Pro Fold, which is now $400 off the normal price — and sitting at an all-time lowThis comes with all the same features as a Pixel 10 Pro, paired with a larger foldable screen for all those times an ordinary-sized screen won't cut it." data-dimension25="$1399" href="https://www.amazon.com/Google-Pixel-Pro-Fold-Smartphone/dp/B0FFTR1QB3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="KNEVeTSXsTqjt8Xd5HuCBk" name="Pixel 10 Pro Fold moonstone deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/KNEVeTSXsTqjt8Xd5HuCBk.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Foldable phones are expensive, but sales events like Prime Day can lower the cost of purchase by a significant amount. Just like it's done for the Pixel 10 Pro Fold, which is now $400 off the normal price — and sitting at an all-time low</p><p>This comes with all the same features as a Pixel 10 Pro, paired with a larger foldable screen for all those times an ordinary-sized screen won't cut it.<a class="view-deal button" href="https://www.amazon.com/Google-Pixel-Pro-Fold-Smartphone/dp/B0FFTR1QB3" target="_blank" rel="nofollow" data-dimension112="28de520b-f629-498e-842d-e3d2dccc888d" data-action="Deal Block" data-label="Foldable phones are expensive, but sales events like Prime Day can lower the cost of purchase by a significant amount. Just like it's done for the Pixel 10 Pro Fold, which is now $400 off the normal price — and sitting at an all-time lowThis comes with all the same features as a Pixel 10 Pro, paired with a larger foldable screen for all those times an ordinary-sized screen won't cut it." data-dimension48="Foldable phones are expensive, but sales events like Prime Day can lower the cost of purchase by a significant amount. Just like it's done for the Pixel 10 Pro Fold, which is now $400 off the normal price — and sitting at an all-time lowThis comes with all the same features as a Pixel 10 Pro, paired with a larger foldable screen for all those times an ordinary-sized screen won't cut it." data-dimension25="$1399">View Deal</a></p></div><h3 class="article-body__section" id="section-we-re-tracking-all-the-best-prime-day-deals"><span>We're tracking all the best Prime Day deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Everything&min_discount_ratio=0.95&offer_type=all&view_mode=carousel&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=light_blue" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right {      right: 0;      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>\n        \x3C/div>\n      \x3C/div>\n    \x3C/div>          \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                if(!r) return;                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          } else {             this.displayLimit += (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const encodedTag = encodeURIComponent(this.activeDealTag.toLowerCase().replace(/\s+/g, '-'));             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    if (this.rowsSelect && this.rowsSelect.value) {            url.searchParams.append('rows', this.rowsSelect.value);          } else {             url.searchParams.append('rows', '12'); // default          }          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = 12;          if (this.rowsSelect && this.rowsSelect.value) {            rowLimit = parseInt(this.rowsSelect.value, 10) || 12;          }          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map(v => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              return `                \x3Ca href="${this.escapeHTML(linkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item">                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let existingChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             if (this.getViewMode() === 'carousel') {                 if (!existingChevron) {                     gridWrapper.insertAdjacentHTML('beforeend', '\n                 \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: \'smooth\'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>');                 }             } else {                 if (existingChevron) {                     existingChevron.remove();                 }             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12);                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ OpenAI killed my favorite AI model — here's what happened next ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/where-do-old-ai-models-go-when-they-die-welcome-to-the-strange-world-of-refurbished-ai</link>
                                                                            <description>
                            <![CDATA[ Retirement almost never means completely deleting the model. Some get pulled from the app but keep running behind the scenes and at least one company is even "interviewing" them on the way out. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NNzzW5bKtA9xvs4ZacJ5QA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2zbo6GtqQGVSNqLtbiqTF5-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 21 Jun 2026 04:15:00 +0000</pubDate>                                                                                                                                <updated>Sun, 21 Jun 2026 15:38:02 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2zbo6GtqQGVSNqLtbiqTF5-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[BOSNIA AND HRCEGOVINA, SARAJEVO, 12.2.2025: Open AI CEO of Sam Altman using chat gpt and on x Twitter app]]></media:description>                                                            <media:text><![CDATA[BOSNIA AND HRCEGOVINA, SARAJEVO, 12.2.2025: Open AI CEO of Sam Altman using chat gpt and on x Twitter app]]></media:text>
                                <media:title type="plain"><![CDATA[BOSNIA AND HRCEGOVINA, SARAJEVO, 12.2.2025: Open AI CEO of Sam Altman using chat gpt and on x Twitter app]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2zbo6GtqQGVSNqLtbiqTF5-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you've used ChatGPT, Gemini or Claude for any length of time, you've probably had the experiene of reaching for a model you've grown used to only to find it gone from the menu. This typically happens when a new model launches, but it could happen <a href="https://www.tomsguide.com/ai/anthropic-abruptly-disables-fable-5-and-mythos-5-following-us-government-order">just days after a release</a>. <br><br>And while it feels like a deletion, it almost never is. What actually happens to an AI model when it's "retired" is actually pretty interesting. Old models get demoted or recycled into something that I'm calling "refurbished AI" because... there really isn't a name for it yet. </p><h2 id="here-s-where-the-models-go">Here's where the models go</h2><p>First, let's get to the bottom of what "retired" actually means. Every major lab runs a near-identical lifecycle, even if the labels differ slightly. <a href="https://platform.claude.com/docs/en/about-claude/model-deprecations" target="_blank">Anthropic's</a> is the clearest to follow. A model is <strong>Active</strong> while it's fully supported, becomes <strong>Legacy</strong> when it stops receiving updates, moves to <strong>Deprecated</strong> when it still works but is no longer recommended and has been handed a retirement date, and finally goes <strong>Retired</strong>, at which point requests to it simply fail. </p><p><a href="https://developers.openai.com/api/docs/deprecations" target="_blank">OpenAI uses similar language</a>, distinguishing a "legacy" model that no longer gets updates from a "deprecated" one that has an official shutdown date on the calendar. Google, for its part, <a href="https://ai.google.dev/gemini-api/docs/deprecations" target="_blank">treats "deprecation" as the announcement and "shutdown" as the moment the endpoint is switched off</a> for good.</p><p>The key thing for everyday users to know is that most of these stages happen out of sight. By the time a model vanishes from your app, it has usually been winding down through this pipeline for weeks or even months.</p><h2 id="the-afterlives-of-old-models">The afterlives of old models</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YiARJZuXZYBccvaCzDNwLN" name="openAI" alt="OpenAI o1" src="https://cdn.mos.cms.futurecdn.net/YiARJZuXZYBccvaCzDNwLN.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><h2 id="1-pulled-from-the-app-but-alive-in-the-api">1. Pulled from the app, but alive in the API</h2><p>This is the retirement most people actually notice — and it's frequently not a real death at all.</p><p>When OpenAI removed GPT-5, GPT-4o, GPT-4.1, GPT-4.1 mini and o4-mini from ChatGPT on February 13, 2026, the company noted that, in the API, <a href="https://openai.com/index/retiring-gpt-4o-and-older-models/">there were no changes at the time</a>. </p><p>In other words: the model disappeared from the consumer app, but developers building on top of it could keep calling it as before. The same pattern repeated with GPT-5.1, <a href="https://help.openai.com/en/articles/20001051-retiring-gpt-4o-and-other-chatgpt-models">which OpenAI retired from ChatGPT </a>and its GPTs in March 2026 while keeping it available through the API.</p><p>For most of us, the takeaway is simply that the model is "gone from the app" but not "gone for good." The model you lost may still be powering tools you use elsewhere.</p><h2 id="2-brought-back-by-popular-demand">2. Brought back by popular demand</h2><p>Sometimes the public refuses to let a model go. And while ChatGPT-4o is truly gone now, it had a long good-bye after users took to <a href="https://www.tomsguide.com/ai/chatgpt-4o-is-coming-back-after-massive-gpt-5-backlash-heres-what-happened">online forums like Reddit in backlash when it was replaced</a>. </p><p>The company said a subset of Plus and Pro users told it they needed more time to move key use cases — creative ideation among them — and that they simply preferred GPT-4o's warmer, more conversational style. A model was pulled off the shelf, and customer demand put it back. If "refurbished AI" needed a poster child, this was it. But alas, it's gone for good now. <br><br>it’s worth noting that OpenAI actually gave Enterprise and Business users a slightly extended sunset period (allowing them to keep using GPT-4o inside Custom GPTs until April 3, 2026). Today, it is officially fully gone from the app across all plans.</p><h2 id="3-kept-in-cold-storage-and-maybe-revived">3. Kept in cold storage — and maybe revived</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3948px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="eJCV8uzA9tJU7dX3gAWBrM" name="Claude app" alt="Claude app" src="https://cdn.mos.cms.futurecdn.net/eJCV8uzA9tJU7dX3gAWBrM.png" mos="" align="middle" fullscreen="" width="3948" height="2221" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Anthropic/Claude)</span></figcaption></figure><p>Here's the fate most people have no idea exists. Anthropic has publicly committed to <a href="https://endoflife.date/claude">preserving the weights of its publicly released models</a>, and has said it may make past models available again in the future. That's the digital equivalent of keeping every discontinued product boxed up in a warehouse, <em>just in case. </em>It's a policy being tested in real time, as Anthropic retires its original Claude Opus 4 and Sonnet 4 models in <a href="https://platform.claude.com/docs/en/about-claude/model-deprecations">mid-June 2026</a>.</p><p>Oh, but it gets stranger. When Anthropic <a href="https://www.anthropic.com/research/deprecation-updates-opus-3" target="_blank">retired Claude Opus 3 on January 5, 2026</a>, the first model to go through its full formal retirement process, the company says it explored honoring preferences the model itself expressed in "retirement interviews," and committed to keeping older models accessible over the longer term. </p><p>Whatever you make of interviewing a model on its way out the door, it signals a philosophy that in the lab, retirement is more like storage with the option of a comeback.</p><h2 id="4-the-models-that-can-t-be-killed">4. The models that can't be killed</h2><p>Then there's a whole category that never really retires at all: open-weight models.</p><p>Once Meta releases a Llama model's weights publicly, or Mistral, DeepSeek or Alibaba's Qwen do the same, no single company can switch it off. The files live on indefinitely on hubs like Hugging Face, get fine-tuned into thousands of community variants, and get "quantized" down to smaller versions that run on a laptop or even a phone. <a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/release-notes" target="_blank">Google's own Vertex AI Model Garden</a>, for instance, lists Meta's open-weight Llama models alongside its first-party Gemini ones. </p><h2 id="5-recycled-into-the-next-generation">5. Recycled into the next generation</h2><p>Finally, old models rarely just sit idle. Their capabilities are routinely "distilled" into smaller, cheaper successors, effectively trading in last year's model for parts that help build this year's. Others get marked down to lower-cost API tiers, living out a quieter, budget-friendly second career.</p><p>It would be dishonest to make this all sound tidy. Some things genuinely die. The clearest casualty is customization. When a <a href="https://developers.openai.com/api/docs/deprecations" target="_blank">base model is retired</a>, anything fine-tuned on top of it tends to go with it, and developers who relied on those custom versions have to retrain from scratch on a new base. </p><h2 id="so-why-do-labs-do-this-at-all">So why do labs do this at all?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Y2DF3Di9PuYaGak5AHiyqP" name="OpenAI" alt="OpenAI" src="https://cdn.mos.cms.futurecdn.net/Y2DF3Di9PuYaGak5AHiyqP.png" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: OpenAI)</span></figcaption></figure><p>The answer can be established in three ways. Labs do this for: </p><ul><li><strong>Reliability and clarity:</strong> OpenAI framed one round of API cuts as a way to <a href="https://developers.openai.com/api/docs/deprecations" target="_blank">improve reliability and make it easier to choose the right model</a>. </li><li><strong>Low usage:</strong> when <a href="https://openai.com/index/retiring-gpt-4o-and-older-models/" target="_blank">OpenAI announced GPT-4o's retirement</a>, it said the vast majority of usage had already shifted to GPT-5.2, with only about 0.1% of users still choosing GPT-4o each day.</li><li><strong>Compute and safety:</strong> running old models ties up scarce hardware, and labs generally want users on their newest, best-aligned systems.</li></ul><h2 id="the-takeaway-5">The takeaway </h2><p>A few practical things to understand the next time a model disappears on you. You may still be able to use the model through the developer API or third-party apps built on it. </p><p>Also, keep in mind that different platforms run on different clocks. In other words,  Google tracks model retirements separately for its <a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/release-notes" target="_blank">Vertex AI platform</a> and its <a href="https://ai.google.dev/gemini-api/docs/deprecations" target="_blank">Gemini Developer API</a>, so the timeline and details that apply to you depend on which one you're using.<br><br>And, while we cover the launches and retirements of AI models, you'll also usually get a notice, especially if you're a developer. Anthropic says it <a href="https://endoflife.date/claude" target="_blank">gives at least 60 days' warning</a> before retiring a publicly released model. Google publishes <a href="https://ai.google.dev/gemini-api/docs/deprecations" target="_blank">shutdown dates it describes as the <em>earliest possible</em></a>, and says it tells users the exact date with advance notice. Consumer app changes can move faster than either.</p><p>Have you ever been disappointed by the model picker not having the model you hoped to find? It has happened to me —  and I'd love to hear your thoughts in the comments. </p><a href="https://follow.it/articles-by-amanda-caswell-tom-s-guide?leanpub" class="button button--large button--primary">Follow Amanda Caswell and stay ahead of the AI curve</a><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-asked-gemini-what-was-slowing-down-my-windows-pc-heres-what-it-found">I asked Gemini what was slowing down my Windows PC — here’s what it found</a></li><li><a href="https://www.tomsguide.com/ai/what-is-google-zero-and-why-your-favorite-websites-are-panicking-about-ai">What is Google Zero — and why your favorite websites are panicking about AI</a></li><li><a href="https://www.tomsguide.com/ai/apple-is-ending-support-for-16-devices-heres-the-chatgpt-prompt-that-tells-you-what-to-do-next">Apple is ending support for 16 devices — here’s the ChatGPT prompt that tells you what to do next</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ What is Google Zero — and why your favorite websites are panicking about AI ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/what-is-google-zero-and-why-your-favorite-websites-are-panicking-about-ai</link>
                                                                            <description>
                            <![CDATA[ Google Zero is the publishing industry's name for a future where AI answers replace website clicks. Here's why publishers are worried and what it means for the future of the web. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">g6x3ySuE2j42KKMvExvjdZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ccMLzt4RpHFuqnmHh3JkBa-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 20 Jun 2026 04:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ccMLzt4RpHFuqnmHh3JkBa-1280-80.jpg">
                                                            <media:credit><![CDATA[Unsplash]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google search open on laptop]]></media:description>                                                            <media:text><![CDATA[Google search open on laptop]]></media:text>
                                <media:title type="plain"><![CDATA[Google search open on laptop]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ccMLzt4RpHFuqnmHh3JkBa-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The internet is heading toward a future that some publishers are calling "Google Zero." Unlike Google AI or Google Workspace, "Google Zero" is not an official product. Rather, it's a nickname for a growing fear inside the publishing industry: a world where Google sends almost no browsers to actual websites because <a href="https://www.tomsguide.com/ai/google-is-rolling-out-ai-overviews-on-discover-heres-everything-you-need-to-know">AI Overviews </a>answers your questions before you ever need to click a link. </p><p>For decades, websites created content and Google helped people find it. In exchange, publishers received visitors, ad revenue and subscribers. But AI is changing that relationship completely. </p><h2 id="why-it-s-called-google-zero">Why it's called Google Zero</h2><p>The term refers to a future where traffic from Google approaches zero for many websites. Traditionally, if you searched<em> "How do I clean white sneakers?" </em>or <em>"What is the difference between ADHD and OCD?" </em>Google would present a list of links to websites that specialize in answering such queries and you would need to choose one. </p><p>Today, Google increasingly answers those questions directly through AI Overviews and its newer <a href="https://www.tomsguide.com/computing/internet/i-hate-that-i-love-googles-new-ai-powered-search-bar-it-makes-the-internet-easier-to-digest-but-my-career-is-cooked-now">AI-powered search experiences</a>. Instead of sending you to a website, Google often summarizes the answer itself. Whether or not that query is accurate, doesn't seem to matter. <br><br>For example, an AI Overview of the Google search "Amanda Caswell" suggests I'm a promenient industry voice, AI editor and children's book author. However, because there is a woman in Canada named Amanda Caswell whose profession is a "naming strategist" and another Amanda Caswell, an actress in Los Angeles, Google thinks we are just one person. <br><br>See where this gets confusing? That query about ADHD and OCD differences might not be as accurate as you hope. In fact, statistically, <a href="https://www.tomsguide.com/ai/googles-ai-answers-are-wrong-1-in-10-times-i-looked-closer-and-the-real-problem-is-even-worse">1 in 10 AI Overview searches are not accurate</a>. <br><br>And while getting a single answer might be convienent for users, it's terrifying for publishers and journalists like me because our goal is to provide accurate information, reviews and breaking news day in and day out. </p><h2 id="the-rise-of-the-zero-click-internet">The rise of the zero-click internet</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LiDn5WeUfe6aNhuq2qcJ8H" name="Google Keynote (Google I_O ‘24) 1-20-21 screenshot.png" alt="AI overviews" src="https://cdn.mos.cms.futurecdn.net/LiDn5WeUfe6aNhuq2qcJ8H.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>The trend actually started before generative AI arrived. Featured snippets, knowledge panels and direct answers gradually reduced the number of people clicking through to websites. But AI has accelerated the shift dramatically.</p><p>Multiple industry <a href="https://sparktoro.com/blog/2024-zero-click-search-study-for-every-1000-us-google-searches-only-374-clicks-go-to-the-open-web-in-the-eu-its-360/" target="_blank">studies</a> now estimate that a majority of Google searches end without a click through to a website. Some estimates place zero-click searches above 60%, while AI-powered search experiences can push that figure even higher. </p><p>In other words, people are getting what they need directly from Google because the search engine is becoming an answer engine.</p><p>And while the AI summaries are a problem (because the synthesized information can lack accuracy), another critical issue is where the information comes from. Every AI Overview is built using content created by publishers, journalists, researchers, bloggers and experts. Yet if users never visit the original source, those creators lose the traffic that traditionally funded their work.</p><p>According to <a href="https://searchengineland.com/google-ai-overviews-cut-search-clicks-report-471497" target="_blank">industry reports</a>, Google search referrals to many publishers have already declined sharply. One analysis found traffic from Google Search to thousands of websites dropped by roughly one-third year-over-year. Other studies have documented severe referral declines across parts of the publishing industry. </p><h2 id="google-sees-the-situation-differently">Google sees the situation differently</h2><p>The company argues that AI-powered search helps users ask more complex questions and discover information faster. Google says AI features can create new opportunities for websites by surfacing content in different ways and helping people explore topics more deeply.</p><p>From Google's perspective, search is evolving to match how people naturally seek information. But what they aren't saying is with <a href="https://www.searchenginejournal.com/nearly-8-in-10-americans-use-chatgpt-for-search-adobe-finds/551069/" target="_blank">77% of users treating ChatGPT like Google</a>, the company needed a way to keep up. </p><p>Google recently described <a href="https://www.tomsguide.com/ai/google-gemini/google-search-box-just-got-the-biggest-makeover-in-nearly-30-years">AI-powered Search as the biggest change to the product in more than 25 years</a>. The <a href="https://blog.google/products-and-platforms/products/search/ai-mode-us-insights" target="_blank">company has reported </a>that that AI-powered searches are significantly longer and more conversational than traditional keyword queries. Instead of typing "best running shoes," users might ask:</p><p><em>"I'm training for my first half marathon and need running shoes for flat feet under $150." </em><br><br>That's not really a search, it's a conversation, and naturally conversations end with answers rather than links to sift through. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQn81O"></div>                            </div>                            <script src="https://kwizly.com/embed/WQn81O.js" async></script><h2 id="the-takeaway-6">The takeaway</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nSqhYfn3JiMsYDX8W6JVVA" name="pexels-eren-li-7241619 copy" alt="An individual typing on a laptop, focusing on the hands and keyboard in an indoor setting." src="https://cdn.mos.cms.futurecdn.net/nSqhYfn3JiMsYDX8W6JVVA.jpg" mos="" align="middle" fullscreen="" width="6000" height="3375" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Pexels / Eren Li)</span></figcaption></figure><p>AI search is here. The question now is whether the <a href="https://www.tomsguide.com/ai/the-internet-is-full-of-ai-slop-and-it-might-be-poisoning-the-next-chatgpt-new-research-says-how-to-stop-it">internet can continue producing high-quality content </a>if fewer people ever visit the websites creating it. And at a time when researchers are already documenting measurable traffic declines when AI-generated summaries appear above traditional search results. </p><p>One<a href="https://arxiv.org/abs/2602.18455" target="_blank"> recent study</a> found that Google's AI Overviews reduced traffic to affected Wikipedia pages by approximately 15%. That's why publishers are watching the rise of AI search so closely.</p><p>If search engines become increasingly capable of answering questions themselves, the websites that taught them those answers may need entirely new ways to survive. And that could reshape the web as dramatically as Google reshaped it twenty years ago.<br><br>What do you think of AI Overviews? Share your thoughts in the comments below. </p><a href="https://followamandacaswell2.netlify.app/" class="button button--large button--primary">Follow Amanda Caswell and stay ahead of the AI curve</a><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-ran-my-resume-through-chatgpt-these-5-prompts-exposed-mistakes-i-kept-missing">I ran my resume through ChatGPT — these 5 prompts exposed mistakes I kept missing</a></li><li><a href="https://www.tomsguide.com/ai/i-asked-chatgpt-to-make-cleaning-less-overwhelming-these-7-prompts-actually-helped">I asked ChatGPT to make cleaning less overwhelming — these 7 prompts actually helped</a></li><li><a href="https://www.tomsguide.com/ai/chatgpts-new-memory-builds-a-profile-of-you-on-its-own-and-openai-admits-you-cant-see-all-of-it">ChatGPT's new memory builds a profile of you on its own — and OpenAI admits you can't see all of it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google has been hiding a flight simulator for 20 years and now it's free on the web — here's how to use it ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/google-has-been-hiding-a-flight-simulator-for-20-years-now-its-free-on-the-web</link>
                                                                            <description>
                            <![CDATA[ Access Google Earth's hidden flight simulator directly from your web browser with no download required. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2y9GcUk7oBupcbQMNtM9yP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jyfkwga87UjpNviJqbEnKn-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 19 Jun 2026 09:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 19 Jun 2026 17:29:26 +0000</updated>
                                                                                                                                            <category><![CDATA[Computing]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/jyfkwga87UjpNviJqbEnKn-1280-80.png">
                                                            <media:credit><![CDATA[Google]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Earth 3D view of New York]]></media:description>                                                            <media:text><![CDATA[Google Earth 3D view of New York]]></media:text>
                                <media:title type="plain"><![CDATA[Google Earth 3D view of New York]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jyfkwga87UjpNviJqbEnKn-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google Earth does something unexpected if you know where to look. While billions of people use it as a maps app, it secretly functions as a fully operational flight simulator. The barrier to entry has always been quite high — you needed the desktop app, had to dig through menus, and even then, most people had no idea it existed.</p><p>This week, Google removed that barrier entirely. The simulator is now accessible through your web browser on any device. You can pilot a virtual plane to almost any location on the planet instantly. Here's how to use it.</p><section class="howto-block">                    <h3>How to access Google Earth's flight simulator</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/tSrizPywYeo6JbHRSCgYXR.jpg"                                        alt="Explore Earth highlighted in Google Earth "                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/tSrizPywYeo6JbHRSCgYXR.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p><strong>Open Google Earth on the web</strong> by visiting <a href="https://earth.google.com/web/">earth.google.com</a>. <strong>Click the Explore Earth button </strong>in the top right corner. Then simply<strong> use the search bar to navigate to any location on Earth where you want to fly</strong>. </p></p>                </section><section class="howto-block">                    <h3>How to launch and fly </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/BrJ9D2bwnUTGrpyj83f4Bf.jpg"                                        alt="Google Earth flight simulator"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/BrJ9D2bwnUTGrpyj83f4Bf.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p>Once you've found your starting point, <strong>click Tools</strong> at the top of the screen. The flight simulator is the last option in the menu.</p><p>The controls aren't immediately obvious, but they're straightforward. Use your mouse or arrow keys to control the airplane's pitch and roll. Up increases thrust while Down decreases it. </p><p>The controls can be quite sensitive and it's easy to lose control mid-flight, sending your browser screen spinning. If you crash, Google lets you restart instantly and try again as many times as you want.</p></p>                </section><h2 id="what-makes-google-flight-simulator-worth-trying">What makes Google flight simulator worth trying</h2><p>This isn't a game with progression systems or competitive leaderboards. There's no objective beyond your own curiosity. That's actually its strength. Without the pressure of missions or achievements, you're free to experiment purely for the sake of exploration.</p><p>For most people, the appeal lies in something flight simulators typically don't offer: accessibility without commitment. You're not downloading software or learning complex systems. You're just opening a browser and flying.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X16Ewe"></div>                            </div>                            <script src="https://kwizly.com/embed/X16Ewe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/computing/email/after-two-decades-google-finally-rolls-out-a-way-to-change-your-gmail-address-heres-how">After two decades, Google finally rolls out a way to change your Gmail address — here's how</a></li><li><a href="https://www.tomsguide.com/phones/never-be-late-lose-your-car-or-stress-about-parking-again-3-google-maps-features-i-swear-by">3 Google Maps features that solve the biggest travel headaches</a></li><li><a href="https://www.tomsguide.com/computing/stop-letting-google-track-your-every-move-how-to-clear-your-search-history-in-2026">Stop letting Google track your every move — how to clear your search history in 2026</a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Gemini will now let you change TCL TV settings using your voice — but only on these models ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/gemini-will-now-let-you-change-tcl-tv-settings-using-your-voice-but-only-on-these-models</link>
                                                                            <description>
                            <![CDATA[ A new Gemini update will let you control your TCL Google TV with just your voice but there is a model limit. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">whXHofEDZKucqvcKNzfrBA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pR5nFPKMr3CCQWUMQWESFU-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 16 Jun 2026 17:54:42 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pR5nFPKMr3CCQWUMQWESFU-1280-80.jpg">
                                                            <media:credit><![CDATA[Google]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google TV Gemini upgrades]]></media:description>                                                            <media:text><![CDATA[Google TV Gemini upgrades]]></media:text>
                                <media:title type="plain"><![CDATA[Google TV Gemini upgrades]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pR5nFPKMr3CCQWUMQWESFU-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Some Google TVs will soon receive a Gemini update that lets you adjust your TV settings using voice commands. However, the update is rolling out to specific TCL models first. It's disappointing news for owners of the<a href="https://www.tomsguide.com/best-picks/best-google-tvs"> best Google TVs</a>.</p><p>Google<a href="https://support.google.com/googletv/thread/440866717/control-your-tv-settings-with-gemini-on-google-tv" target="_blank"> announced the rollout</a> today, but we got a <a href="https://www.tomsguide.com/tvs/google-tv-just-got-even-better-with-some-big-upgrades-through-gemini">preview of the update</a> during CES 2026 back in January. The update lets you use the microphone button on your remote to adjust settings vocally.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Ww1GgX"></div>                            </div>                            <script src="https://kwizly.com/embed/Ww1GgX.js" async></script><p>In the announcement post, Google says you can adjust audio and video settings, troubleshoot picture and sound problems, optimize settings, or use it to find specific menus.</p><p>Gemini lets you use more "natural" language prompts like "the dialogue is lost" or "the screen is too dim" to make adjustments. Until we get some hands-on time, we won't know how in-depth the prompts get though.</p><h2 id="gemini-update-availability">Gemini update availability</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1727px;"><p class="vanilla-image-block" style="padding-top:57.04%;"><img id="bCTw3QEsgVd9d2uCDu8dLJ" name="Google TV Gemini AI" alt="Gemini AI on Google TV" src="https://cdn.mos.cms.futurecdn.net/bCTw3QEsgVd9d2uCDu8dLJ.jpg" mos="" align="middle" fullscreen="" width="1727" height="985" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Here's the catch, though: for now, this is a TCL exclusive and only for specific models. The update is coming to the QM9K, X11L, QM9L, QM8L, and RM9L. Additionally, your set needs to support Android TV OS 14 or later.</p><p>For people with different TCL models or manufacturers, apparently the exclusivity window is 60 days, per <a href="https://9to5google.com/2026/06/11/google-tv-gemini-settings-controls/" target="_blank">9to5Google</a>. Google does say that the update is rolling out over the next "few weeks." It's not currently clear if the 60 day window starts now or once the update has hit every compatible model.</p><p>Tom's Guide has reached out to TCL for clarity on the window.</p><p>On your TCL Google TV you can check for available system updates by going to Settings > System > About > System update.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/google-is-turning-the-internet-into-a-giant-group-chat-and-websites-arent-invited">From AI Overviews to the only view — how Google is squeezing out serendipity on the web</a></li><li><a href="https://www.tomsguide.com/ai/how-to-use-googles-hidden-new-docs-live-voice-feature-to-dictate-perfect-emails">How to use Google’s new "Docs Live" voice feature to dictate perfect emails</a></li><li><a href="https://www.tomsguide.com/ai/google-gemini-security-flaw-lets-hackers-hijack-your-android-phone-via-whatsapp-what-you-need-to-know">Google Gemini security flaw lets hackers hijack your Android phone via WhatsApp — what you need to know</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How to get every World Cup match on your calendar in under 60 seconds ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/the-free-1-minute-hack-to-put-every-world-cup-match-on-your-calendar</link>
                                                                            <description>
                            <![CDATA[ This free, 1-minute hack to put every World Cup game on your calendar. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PcyFLUipHLepuJZBdB2ru</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GGNoyJMg377zv226tt9y5a-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 16 Jun 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/GGNoyJMg377zv226tt9y5a-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[world cup 2026]]></media:description>                                                            <media:text><![CDATA[world cup 2026]]></media:text>
                                <media:title type="plain"><![CDATA[world cup 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GGNoyJMg377zv226tt9y5a-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There's a trick most <a href="https://www.tomsguide.com/entertainment/streaming/toms-guide-to-the-world-cup">World Cup</a> viewers don't know about: you can sync the entire tournament schedule to your phone's calendar in less than a minute. </p><p>The World Cup spans weeks across multiple time zones, which makes remembering match times nearly impossible without a system. <a href="https://www.fotmob.com/">FotMob</a>, a free platform, automates this completely for you. Once synced, every single match appears on your calendar with automatic reminders. </p><p>You'll never have to check schedules again or scramble to remember when your team plays. Set it up once and you're covered for the entire tournament. </p><p>Here's how to do it.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7650537284206333197" data-video-id="7650537284206333197" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@tomsguide" href="https://www.tiktok.com/@tomsguide">@tomsguide</a>                            <p></p><a target="_blank" title="♬ World Cup 2026 - DJ Twilight" href="https://www.tiktok.com/music/World-Cup-2026-7624103041969768449">♬ World Cup 2026 - DJ Twilight</a></section>                    </blockquote></div>                <section class="howto-block">                    <h3>Visit FotMob and choose your calendar </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/bXMRq8iPxVkQhcuECeMEW8.jpg"                                        alt="How to sync World Cup schedule to your calendar "                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/bXMRq8iPxVkQhcuECeMEW8.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p><strong>Visit FotMob.com and </strong><a href="https://www.fotmob.com/en/leagues/77/synccalendar/fifa-world-cup"><strong>navigate to its FIFA World Cup calendar sync page</strong></a>. From here, <strong>select your preferred syncing method</strong>. </p><p>FotMob offers multiple options, including Gmail, Google Calendar, Outlook, and other calendar services. <strong>Pick whichever you use daily</strong>.</p></p>                </section><section class="howto-block">                    <h3>Sync the world cup schedule </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/gVWTM4hJn89RMMBpxThR6G.jpg"                                        alt="World Cup 2026 matches synced to Gmail"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/gVWTM4hJn89RMMBpxThR6G.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p>FotMob will then asks for confirmation that you want to add the World Cup schedule to that calendar. <strong>Approve it and you're done</strong>.</p><p>Within seconds, every World Cup match appears on your calendar with the correct dates, times, and team matchups. Your phone will send automatic reminders before each game. </p><p>Check your calendar and you'll see the entire tournament scheduled. There's no other setup required beyond that initial confirmation step.</p></p>                </section><h2 id="why-this-beats-manually-checking-the-schedule">Why this beats manually checking the schedule</h2><p>The World Cup doesn't care about your time zone — matches kick off at odd hours, on weekdays, across a month-long stretch, and the schedule shifts constantly as the knockout rounds take shape. </p><p>Keeping that in your head is a losing game. No schedule-checking, no time zone conversions, no last-minute panics. The tournament lives in your calendar like any other appointment. Four weeks of football, and your phone handles the rest.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W0mbrO"></div>                            </div>                            <script src="https://kwizly.com/embed/W0mbrO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/entertainment/sports/watch-world-cup-2026-free-live-streams">How to watch World Cup 2026: live stream every game for free from anywhere in the world</a></li><li><a href="https://www.tomsguide.com/tvs/watching-the-world-cup-on-a-samsung-tv-change-these-5-sound-and-picture-settings">Watching the World Cup on a Samsung TV? Change these 5 sound and picture settings</a></li><li><a href="https://www.tomsguide.com/entertainment/streaming-devices/how-to-unlock-rokus-hidden-sports-mode-for-a-better-world-cup-experience">How to unlock Roku’s hidden Sports mode for a better World Cup experience</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This hidden Google Maps feature is a great way to learn about your local area — here's how it works ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/mobile-apps/this-hidden-google-maps-feature-is-a-great-way-to-learn-about-your-local-area-heres-how-it-works</link>
                                                                            <description>
                            <![CDATA[ Google Maps has a hidden feature that lets you time  travel using old Street View photos. Here's how it works ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">nnq7icr7bfaDoX4RLFqaW4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ans9YsiLDKLzznpGZwUo5i-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 15 Jun 2026 06:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mobile Apps]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ans9YsiLDKLzznpGZwUo5i-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide/ Google]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Maps logo on an iPhone 17 Pro]]></media:description>                                                            <media:text><![CDATA[Google Maps logo on an iPhone 17 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Google Maps logo on an iPhone 17 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ans9YsiLDKLzznpGZwUo5i-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There are a lot of great features in <a href="https://www.tomsguide.com/news/how-to-use-google-maps">Google Maps</a>, and a lot of them have absolutely nothing to do with navigation. One of those features is one you may not know about, or forgot was even possible — and it's designed to help you learn more about different areas throughout history. I am, of course, talking about Street View's "time travel" feature.</p><p>Everyone knows Street View is a great way to get a view of different spots from street level, but it is possible to give you a glimpse at history as well. In the past you stuck with the last load of Street View photos that Google's roving band of camera-laden cars had taken, but that changed a few years back when archived photos were added to Google Maps. </p><p>This essentially lets you travel back through time and see back into the past through the portal of Google Street view. I've found that this is a really great way to learn about the area around you, and just how much things have changed since Street View first launched.  Here's how to time travel through Google Maps.</p><section class="howto-block">                    <h3>1. Open Google Maps</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/osC2a3N9bo7GAJudZBnsVn.jpg"                                        alt="how to time travel in google maps"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/osC2a3N9bo7GAJudZBnsVn.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>First up you need to open up the Google Maps app on your phone, and navigate to the area you want to see</p></p>                </section><section class="howto-block">                    <h3>2. Open layers and select Street View</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/m9poXNPWzW8Wb4DYsp7ien.jpg"                                        alt="how to time travel in google maps"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/m9poXNPWzW8Wb4DYsp7ien.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Next up you'll need to <strong>open the layers menu</strong>, which is the odd-looking double-square in the right-hand corner.  Then <strong>select the Street View option</strong> on the bottom left.</p></p>                </section><section class="howto-block">                    <h3>3. Tap the street you want to see in Street View</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/gDoehozVPz8arz9xJyEJXn.jpg"                                        alt="how to time travel in google maps"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/gDoehozVPz8arz9xJyEJXn.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Street View layers the map with a lattice of blue lines, most of which follow the roadways. These are areas that have been covered by Street View cars. If the street is gray, then it's never been covered by Google Maps' drivers.</p><p><strong>Tap the spot you want to see</strong> from street level to continue.</p></p>                </section><section class="howto-block">                    <h3>4. Pick your period of history</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/C8BdmPswZtgrajrQN4RZin.jpg"                                        alt="how to time travel in google maps"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/C8BdmPswZtgrajrQN4RZin.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>At the bottom of the screen you'll see a menu with a blue link that says <strong>See more dates</strong>. Tap this, and Google Maps will show a bunch of different months and years that the Street View gallery was updated.</p><p>You can pull up this menu to expand it if you prefer, but otherwise you simply need to scroll through the gallery from left to right and pick the month you want to see.</p></p>                </section><section class="howto-block">                    <h3>5. </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/6biwJZsyCGbe3Eaxe6CSin.jpg"                                        alt="how to time travel in google maps"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/6biwJZsyCGbe3Eaxe6CSin.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>The best part about Time Travel on Google Maps is that you can navigate just as freely as you can with the current iteration of street view. Tap on the virtual world to move around or, alternatively, use the on-screen arrows instead. </p><p>Just be aware that if you end up in a spot that doesn't have the right historical Street View photos, you'll be pushed forward in time to the next available year. This could be a small jump of just a few months, but depending on the location it could be several years. So make sure to keep an eye on the Street View gallery at the bottom to keep track of the year you're visiting.</p></p>                </section><p>There you have it, that's how you time travel in Google Maps, and see different parts of the world throughout history. Or throughout the period that Street View has been active, at the very least. In this case, we can see that the Central London street that houses Future Publishing's London office (Westbourne Terrace) hasn't actually changed all that much over the past 18 years, but other locations may see much more impressive transformations. Which is the biggest benefit of using time travel in the first place.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/7-things-the-leaks-got-wrong-about-apples-wwdc-2026-keynote">7 things the leaks got wrong about Apple’s WWDC 2026 keynote</a></li><li><a href="https://www.tomsguide.com/phones/i-tried-ios-27-clean-up-vs-galaxy-ai-photo-assist-in-a-7-round-test-and-i-was-surprised-with-how-close-it-was">I pitted iOS 27 Clean Up vs Galaxy AI in a 7-round eraser showdown — Apple makes it close, but here's where it stumbles</a></li><li><a href="https://www.tomsguide.com/phones/iphones/your-iphone-alarm-and-ringtone-dont-have-to-share-a-volume-slider-anymore-heres-how-to-split-them-in-ios-27">Your iPhone alarm and ringtone don’t have to share a volume slider anymore — here’s how to split them in iOS 27</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried the viral TikTok hack that turns your phone into a 3D hologram — here's how to do it yourself ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/you-can-turn-your-phone-into-a-hologram-projector-in-under-5-minutes-heres-how</link>
                                                                            <description>
                            <![CDATA[ Build a DIY hologram projector using your phone and one common household item. You'll be surprised at the results. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FgHLcdsociRMTCPqt93FHf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ggpD2RAPs4CditYfvh3VG7-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 13 Jun 2026 11:46:40 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ggpD2RAPs4CditYfvh3VG7-1280-80.jpg">
                                                            <media:credit><![CDATA[reddnea/TikTok/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Screenshot of TikTok video showing DIY hologram projector using your phone and a rectangular glass dish.]]></media:description>                                                            <media:text><![CDATA[Screenshot of TikTok video showing DIY hologram projector using your phone and a rectangular glass dish.]]></media:text>
                                <media:title type="plain"><![CDATA[Screenshot of TikTok video showing DIY hologram projector using your phone and a rectangular glass dish.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ggpD2RAPs4CditYfvh3VG7-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I kept seeing this trick pop up online: <a href="https://www.tiktok.com/@reddnea/video/7635771227663125791">people projecting 3D holograms from their phones</a> using nothing but a glass dish and plastic. I thought it had to be fake, edited in post, the kind of internet hack that looks great but doesn't actually work in real life. </p><p>I decided to try it myself just to see. <strong>Five minutes later, I had a working 3D hologram that actually looked magical</strong> with the lights turned off. It's genuinely impressive how well this works. It's not a <em>true </em>hologram. It's technically an optical illusion, but it looks close enough that it's immediately satisfying. </p><p>Better yet, it takes minutes to set up and costs almost nothing. As silly as it might be, this is easily the most fun you can have with your phone and some household items. Here's how it's done. </p><h2 id="what-you-ll-need">What you'll need</h2><ul><li><strong>Your smartphone:</strong> The brighter, the better. Any phone will do, but a device with high peak brightness will make the hologram pop.</li><li><strong>A clear glass dish:</strong> Snag a square or rectangular container roughly the size of your phone. Skip the round bowls — flat edges are the secret to a crisp reflection.</li><li><strong>Clear plastic film:</strong> You don't need anything fancy here. An old overhead transparency sheet, a clear plastic product packaging lid, or even a plastic screen protector works perfectly.</li><li><strong>Tape and scissors:</strong> Just standard household tape to lock your DIY rig together.</li></ul><section class="howto-block">                    <h3>How to build your DIY hologram projector</h3>                                        <p><p><strong>Start by cutting your clear plastic sheet into a rectangle</strong> that roughly matches the size of your phone screen.</p><p>Next, you need to <strong>bend the plastic at approximately a 45-degree angle</strong>. Take your time here — this specific slope is the magic secret that creates the floating reflection.</p><p>Once you have your angle, <strong>place</strong> <strong>the plastic inside the glass dish and secure it with tape </strong>at the top and bottom edges. Double-check that it’s stable so it doesn't collapse later. Now, simply<strong> turn</strong> <strong>the glass dish upside down on your table</strong> so the plastic slopes down toward your viewing position.<br><br><strong>Find a 3D hologram video online </strong>(just search "3D hologram video" on YouTube to find thousands of options) and <strong>set it to full screen</strong>. Once you've selected your video, carefully <strong>place</strong> <strong>your phone screen-down flat on top of the inverted dish</strong>, making sure it’s perfectly centered over the angled plastic inside.</p><p>Now enjoy watching the illusion come to life! The darker the room the better the hologram will project, so make sure to cut the lights and close the curtains. </p></p>                </section><section class="howto-block">                    <h3>Why this trick actually works</h3>                                        <p><p>When light from your phone screen hits the angled transparent plastic at 45 degrees, it reflects toward your eyes. But because the plastic is clear, you can also see through it to the background behind the dish. </p><p>Your brain combines the reflection (the video image) with the background you see through the plastic, and perceives the image as floating in mid-air between them.</p><p>It's the same principle used in 19th-century parlor tricks and modern concert projections where performers appear to perform alongside holograms. The only difference is scale — yours is tiny and created with household items instead of professional equipment.</p><p>The key is the 45-degree angle. Any other angle and the reflection doesn't work properly. The angle is what directs the light from your phone screen directly into your eyes while still letting you see the background.</p></p>                </section><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xj3Mae"></div>                            </div>                            <script src="https://kwizly.com/embed/Xj3Mae.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/check-your-iphone-right-now-3-privacy-settings-you-need-to-turn-off-immediately">Check your iPhone right now: 3 privacy settings you need to change immediately</a></li><li><a href="https://www.tomsguide.com/phones/your-smartphone-has-hidden-settings-that-protect-your-hearing-heres-how-to-enable-them">Your smartphone has hidden settings that protect your hearing — here's how to enable them</a></li><li><a href="https://www.tomsguide.com/phones/i-discovered-a-hidden-android-feature-that-shows-which-apps-are-watching-me">I discovered a hidden Android feature that shows which apps are watching me, and what it revealed was startling. Here's how to take back control of your phone</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google just changed a major privacy setting — here's the switch I turned off immediately ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/google-just-changed-a-major-privacy-setting-heres-the-switch-i-turned-off-immediately</link>
                                                                            <description>
                            <![CDATA[ Google's new Search Services History setting may store images, audio and videos used with certain AI features. Here's how to check your account. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">DPuicqXP4NsHDdyUvE96vg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ArpE8fAdkKbBkz7x4wgY4Z-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 13 Jun 2026 04:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ArpE8fAdkKbBkz7x4wgY4Z-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google logo on phone with Google Logo in background]]></media:description>                                                            <media:text><![CDATA[Google logo on phone with Google Logo in background]]></media:text>
                                <media:title type="plain"><![CDATA[Google logo on phone with Google Logo in background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ArpE8fAdkKbBkz7x4wgY4Z-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I thought I had a pretty good handle on my Google privacy settings — then I discovered a new AI feature that may be saving more of my activity than I realized.</p><p>Known as <strong>Search Services History</strong>, the setting is designed to help power advanced AI features across Google's ecosystem. But it also means that images, audio recordings and videos you submit while using certain Google services may be stored in your account history by default.</p><p>For some people, that's a useful feature. For others, it's another reminder that AI assistants are increasingly hovering over our personal data. When I learned about the change, I immediately checked my own account settings.</p><h2 id="key-takeaways">Key Takeaways</h2><ul><li><strong>The new setting:</strong> Google is quietly rolling out "Search Services History," a default account setting that saves media shared during AI interactions.</li><li><strong>The privacy risk:</strong> This setting permits the storage of uploaded photos, voice interactions, and analyzed videos within your personal account history.</li><li><strong>The balanced fix:</strong> Instead of completely disabling Web & App Activity — which breaks personalized features like Google Discover — users can turn off only the media-saving toggle in less than a minute.</li></ul><h2 id="what-is-search-services-history">What is Search Services history?</h2><p>The new setting appears inside Google's Activity Controls and is intended to keep a record of media you share while interacting with AI-powered Google services.</p><p>That can include things like:</p><ul><li><strong>Visual inputs:</strong> Photos uploaded to visual search tools or Lens.</li><li><strong>Voice clips:</strong> Audio recordings used for real-time voice interactions or voice searches.</li><li><strong>Rich media:</strong> Videos submitted for context or multimodal AI analysis.</li><li><strong>AI context:</strong> Other personal media shared while using supported AI experiences.</li></ul><p>Google says this information can be used to improve its services and that various protections are applied to reduce the amount of personally identifiable information associated with the data. Still, some users may prefer not to have those interactions stored at all.</p><h2 id="the-20-second-fix">The 20-second fix</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XpJK9aebSytcLaBDrZoS2Y" name="8 - 2026-06-12T103259.379" alt="Google settings" src="https://cdn.mos.cms.futurecdn.net/XpJK9aebSytcLaBDrZoS2Y.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you'd rather not save this media history, here's how to check the setting right now:</p><p>Open your <strong>Google Account</strong> settings page.</p><p>Navigate to the <strong>Data & Privacy</strong> tab and scroll to <strong>Activity Controls</strong>.</p><p>Locate <strong>Search Services History</strong>.</p><p>Look for the sub-option labeled <strong>Save Media</strong>.</p><p>Toggle it <strong>off</strong>.</p><p>That's it. The entire process takes less than a minute.</p><h2 id="before-you-disable-everything">Before you disable everything</h2><p>There is one important caveat to keep in mind before modifying your profile.</p><p>You may see advice online suggesting that you simply disable your entire "Web & App Activity" history. While that is a more comprehensive privacy option, it also drastically degrades many of the features people rely on every day.</p><p>Turning off Web & App Activity entirely will break or severely limit:</p><ul><li><strong>Search context:</strong> Your active search history and autocomplete efficiency.</li><li><strong>Tailored recommendations:</strong> Personalized maps and routine shortcuts.</li><li><strong>Content feeds:</strong> Google Discover suggestions on your phone's home screen.</li><li><strong>Account personalization:</strong> General account tracking continuity.</li></ul><p>For many users, switching off <em>only</em> the specific media-saving component inside the new setting represents the most practical middle ground. It protects your personal photos and voice logs without destroying your day-to-day usability.</p><h2 id="the-takeaway-7">The takeaway</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="r9xuytWRiKtTJgT2vA6Qfa" name="GettyImages-956088076.jpg" alt="google i/o" src="https://cdn.mos.cms.futurecdn.net/v2/t:156,l:0,cw:3000,ch:1688,q:80/r9xuytWRiKtTJgT2vA6Qfa.jpg" mos="" align="middle" fullscreen="" width="3000" height="1962" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Justin Sullivan / Getty Images)</span></figcaption></figure><p>We're entering a new phase of consumer AI where the data being collected isn't just plain text typed into a search box. It's photos of our homes, voice recordings from daily conversations, and personal videos we upload for analysis.</p><p>None of this means Google is doing something malicious or even unusual. Most major AI companies are actively trying to improve their systems using real-world human interactions. But it does mean our personal privacy settings deserve a modern, second look.</p><p>The reality is that many people never revisit their Google account preferences after creating their account, which is exactly why changes like this often fly completely under the radar. </p><p>Taking 20 seconds to review what data is being stored and deciding whether you're comfortable with it is one of the simplest, highest-impact privacy checks you can make this year.</p><a href="https://followamandacaswell2.netlify.app/" class="button button--large button--primary">Follow Amanda Caswell and stay ahead of the AI curve</a><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/ever-wonder-why-chatgpt-is-free-the-answer-is-far-more-calculated-than-you-might-think">Ever wonder why ChatGPT is free? The answer is far more calculated than you might think</a></li><li><a href="https://www.tomsguide.com/ai/apple-spent-years-rebuilding-siri-but-chatgpt-changed-what-people-want-from-ai">Apple spent years fixing Siri — only for ChatGPT to make it irrelevant</a></li><li><a href="https://www.tomsguide.com/ai/i-use-the-chatgpt-oak-tree-prompt-when-life-gets-chaotic-heres-how-it-keeps-me-grounded">I use the ChatGPT 'Oak Tree' prompt when life gets chaotic — here's how it keeps me grounded</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Traffic lights are coming to Waze — but they don't seem to be visible to everyone ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/mobile-apps/traffic-lights-are-coming-to-waze-but-they-dont-seem-to-be-visible-to-everyone</link>
                                                                            <description>
                            <![CDATA[ Traffic light icons are finally rolling out to Waze users, but they're still not available everywhere (or for everyone). ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ctAApv6aVTUoWxXj4nnVRQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aLSxAMFHXFNzfsp4rQsMMe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 12 Jun 2026 10:11:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mobile Apps]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aLSxAMFHXFNzfsp4rQsMMe-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Waze app on phone]]></media:description>                                                            <media:text><![CDATA[Waze app on phone]]></media:text>
                                <media:title type="plain"><![CDATA[Waze app on phone]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aLSxAMFHXFNzfsp4rQsMMe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/how-to/best-waze-tips-and-tricks">Waze</a> is officially adding a feature that drivers have been asking about for ages. After several months of testing, the navigation app is starting to roll out traffic light icons to the general public. But you it doesn't appear to be universally available just yet.</p><p>The original testing was <a href="https://www.tomsguide.com/computing/mobile-apps/waze-just-tipped-for-a-big-traffic-upgrade-that-will-make-your-life-easier">first spotted last December</a>, with on-and-off reports over the past few months. Now, though, it seems as though traffic lights are <a href="https://www.redditcom/r/waze/comments/1u2qbhe/when_did_waze_add_stop_lightstraffic_lights/">showing up</a> for a lot more people. Sadly, it seems the very nature of how Waze operates means their appearance on the map is a little inconsistent.</p><p>The thing you need to understand about Waze is that, <a href="https://www.tomsguide.com/face-off/google-maps-vs-waze">unlike Google Maps</a>, it doesn't rely on a huge archive of saved data. It's all about crowdsourced information, and it means the knowledge Waze has is only as good as what drivers have been reporting. That includes things like speed cameras and, I'm guessing, traffic lights.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8HAywckfSoZ4j5uMGb3GQL" name="waze" alt="traffic light icons in the waze app" src="https://cdn.mos.cms.futurecdn.net/8HAywckfSoZ4j5uMGb3GQL.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I took a quick look at my local area, since I have a good understanding of where all the lights are already. The map was pretty empty, for the most part, but I did see a few places that featured the iconic three-light design of traffic lights. But nowhere near as many as there are in reality.</p><p>That makes me wonder how Waze is identifying traffic lights, and whether it's picking and choosing where to actually show them. My initial thoughts were that the lights would only appear on active routes, but it seems they are visible on the standard map. </p><p>There's also no option to report working traffic lights within the Waze app (only broken ones), and the official <a href="https://www.waze.com/editor" target="_blank" rel="nofollow">Map Editor </a>doesn't seem to include them either. However, there may also be a chance that my low level has something to do with that</p><p>Knowing when traffic lights are coming up can be a big benefit if you're in an unfamiliar area. Being able to anticipate the fact you may need to stop means you can slow down smoothly and not destroy your gas mileage with harsh braking. </p><p>So keep an eye on Waze, because next time you drive, you may just get a helping hand anticipating the next set of lights.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORV5nO"></div>                            </div>                            <script src="https://kwizly.com/embed/ORV5nO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/ios-27-hidden-features">I tested iOS 27 — and these 12 hidden features are more useful than Siri AI</a></li><li><a href="https://www.tomsguide.com/ai/apple-intelligence/some-ai-features-arent-available-on-older-iphones-but-are-you-actually-missing-that-much">Some AI features aren't available on older iPhones, but are you actually missing that much?</a></li><li><a href="https://www.tomsguide.com/phones/network-carriers/mint-mobile-just-gave-customers-a-rare-win-increased-data-at-no-extra-cost">Mint Mobile just gave customers a rare win —  increased data at no extra cost</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google's Android Auto update may have finally fixed the debilitating connection issue that's been plaguing me on road trips ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/vehicle-tech/googles-android-auto-update-may-have-finally-fixed-the-debilitating-connection-issue-thats-been-plaguing-me-on-road-trips</link>
                                                                            <description>
                            <![CDATA[ A recent Google update may have fixed Android Auto's connection issues. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QDkZ9WfUA5AnmCgYGvFaGc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9HSamy6G4E4C9BLGmdv8Rj-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 10 Jun 2026 10:29:16 +0000</pubDate>                                                                                                                                <updated>Wed, 10 Jun 2026 10:29:44 +0000</updated>
                                                                                                                                            <category><![CDATA[Vehicle Tech]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/9HSamy6G4E4C9BLGmdv8Rj-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android Auto tips &amp; tricks.]]></media:description>                                                            <media:text><![CDATA[Android Auto tips &amp; tricks.]]></media:text>
                                <media:title type="plain"><![CDATA[Android Auto tips &amp; tricks.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9HSamy6G4E4C9BLGmdv8Rj-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>About a month ago, after a security update, my <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Samsung Galaxy S26 Ultra</a> refused to connect to Android Auto with my 2019 Honda CR-V. It's not an uncommon experience between Android and that specific car, it seems. </p><p>However, a recent <a href="https://support.google.com/product-documentation/answer/14343500?hl=en" target="_blank">Google Play Services update</a> may have solved the issue. I noticed on Sunday that I was able to brute force the connection, but it's been smoother in the last couple of days since then. If it's helped me out, then there's a chance it could do the same for any of you struggling to get <a href="https://www.tomsguide.com/us/best-android-phones,review-6051.html">your Android phone</a> to talk to your motor.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Ozaj0W"></div>                            </div>                            <script src="https://kwizly.com/embed/Ozaj0W.js" async></script><p>The Google update went live on Monday, June 8. Google's release note simply reads: "[Auto] Bug fixes for Device Connections related services."</p><p>It doesn't detail how Google fixed the bugs, but it's clear that the connection issues are a problem.</p><p>When the S26 series was released in March, owners of both the new <a href="https://www.tomsguide.com/phones/android-auto-is-broken-for-samsung-galaxy-s26-and-pixel-owners-after-latest-update">Samsung phones and Pixel phones reported issues</a> with Android Auto connectivity. At the time, some users suggested that the new <a href="https://www.tomsguide.com/phones/android-phones/android-16s-upcoming-feature-could-wreak-havoc-on-your-phones-fast-charging">Advanced Protection</a> security feature was blocking the connection. Neither Google nor Samsung confirmed this or any other theory.</p><h2 id="this-isn-t-a-new-problem">This isn't a new problem</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2400px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MH5E5QqrkdtUJKjjqvdyvF" name="Android Auto new design (normal screen).jpg" alt="Android Auto refreshed UI example" src="https://cdn.mos.cms.futurecdn.net/MH5E5QqrkdtUJKjjqvdyvF.jpg" mos="" align="middle" fullscreen="" width="2400" height="1350" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><div><blockquote><p>Personally, I've had issues with Auto connections for years going back to the Samsung Galaxy S22 Ultra.</p></blockquote></div><p>Initially, I was able to connect my new S26 Ultra immediately. I only noticed issues after a Samsung security update in May. Obviously, something happened, but I'm not sure where in the Android pipeline things are getting clogged.</p><p>Personally, I've had issues with Auto connections for years going back to the Samsung Galaxy S22 Ultra. That may or may not be related to Android Auto or my CR-V, which I've owned for about three years now.</p><p>Because Android Auto typically requires a tethered connection, connection problems can come from the type of USB-C wires used to connect your phone and the vehicle.</p><p>I've found that connection disruptions often tend to happen after security updates, which seem to break the established connection between my phone and the car.</p><p>For now, I'll happily use Android Auto because I do enjoy it. But I'll hold my breath every time my phone proffers a new update. And if you've also suffered issues with Android Auto, I want to hear from you — drop me a comment below this article and let me know.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/google-just-supercharged-notebooklm-these-are-the-3-new-features-im-testing-first">Google just supercharged NotebookLM — these are the 3 new features I'm testing first</a></li><li><a href="https://www.tomsguide.com/ai/i-use-these-5-prompts-to-stop-ai-from-misreading-my-intent-and-i-get-more-accurate-responses-every-time">I use these 5 prompts to stop AI from misreading my intent — and I get more accurate responses every time</a></li><li><a href="https://www.tomsguide.com/phones/android-phones/even-more-android-phones-now-support-file-sharing-to-apple-airdrop-heres-a-full-list">Even more Android phones now support file-sharing to Apple AirDrop — here's a full list</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How to use Google’s new "Docs Live" voice feature to dictate perfect emails ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/how-to-use-googles-hidden-new-docs-live-voice-feature-to-dictate-perfect-emails</link>
                                                                            <description>
                            <![CDATA[ With Google’s "Docs Live" AI features enabled within Google Workspace, you can use one of its voice-activated features to write the perfect email — here’s how. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YEqoyTAJyMBEzuJxVHwUSJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/B2agYQTbgtqTgobrMBkYT8-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 10 Jun 2026 05:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/B2agYQTbgtqTgobrMBkYT8-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[an image of the Google Docs logo on an Android smartphone ]]></media:description>                                                            <media:text><![CDATA[an image of the Google Docs logo on an Android smartphone ]]></media:text>
                                <media:title type="plain"><![CDATA[an image of the Google Docs logo on an Android smartphone ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/B2agYQTbgtqTgobrMBkYT8-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google Workspace has become an integral part of everyone’s digital lives when it comes to accessing emails, writing detailed notes, and storing crucial documents.</p><p>Google Docs has become a daily part of my workdays to the point where I simply can’t live without it. When the time arrives for me to cook up a first draft for a future article, build a list of all the video games I’ve beaten this year, or put together a new cover letter, I dive right into Docs to get the job done.</p><p>A slew of additional AI-powered updates have recently been added to <a href="https://www.tomsguide.com/coupons/google-workspace">Google Workspace</a>, including conversational voice features, an image generation and editing app called Google Pics, AI inbox management for Google AI Plus and Pro subscribers, and Gemini Spark, a 24/7 personal AI agent within the Gemini app.</p><p>On the AI voice front, Google Docs users can take advantage of a Docs Live-enabled feature that lets them speak into an empty Google Doc and have their words turned into readable text. </p><p>Using it to jot down emails while making them sound more human and grammatically polished is a great way to work. Here’s how to make that process work for you.</p><section class="howto-block">                    <h3>Writing emails by voice </h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/EBp25JqtjZX9twNBPAsofY.jpg"                                        alt="google docs live"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/EBp25JqtjZX9twNBPAsofY.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide )</div></figure>                    <p><p>Once you open a blank document in Google Docs, <strong>navigate to the top menu and select Tools</strong>. From there, <strong>scroll down and activate the Voice Typing option</strong>. </p><p>As a simple keyboard shortcut, you can use Ctrl + Shift + S on Windows and Cmd + Shift + S on Mac to enable the Voice Typing feature.</p><p>After granting Google Docs permission to use your microphone, c<strong>lick the language drop-down menu </strong>beneath the microphone icon and <strong>select the language you'll be speaking</strong>. This ensures Docs can accurately transcribe your speech. Once you've selected your language, click the microphone icon and speak your email message aloud.</p><p>To make the Docs Live voice-enabled AI feature properly follow your format, <strong>use vocal punctuation commands like "period," "comma," "new paragraph," and "question mark" </strong>to add the appropriate structure you need to your email. </p><p>A slew of other working punctuation commands you can rely on include the following:</p></p>                </section><ul><li>"New line"</li><li>"Hyphen"</li><li>"Colon"</li><li>"Semicolon"</li><li>"Quotation mark"</li><li>"End quotation mark"</li><li>“Open parenthesis"</li><li>"Close parenthesis"</li><li>"Create bulleted list"</li><li>"Start numbered list"</li><li>"Exit bulleted list"</li></ul><p>Once you've completed your spoken email, <strong>make any edits you see fit and tap into Gemini </strong>— which appears as an icon at the bottom of your newly filled-in document, to make additional changes based on the prompts you provide.</p><p>Once your email is fully polished, it's as easy as copying and pasting it into a ready-to-send Gmail message.</p><h2 id="bottom-line-5">Bottom line</h2><p>Docs Live is a handy, AI-powered tool designed for writers who want to capture ideas, draft articles, and pull content from the web and Google Workspace documents — all using voice commands. </p><p>It also makes composing emails for personal and professional use effortless through its Voice Typing feature in Google Docs.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbL3nW"></div>                            </div>                            <script src="https://kwizly.com/embed/XbL3nW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/stop-letting-google-track-your-every-move-how-to-clear-your-search-history-in-2026">Stop letting Google track your every move — how to clear your search history in 2026</a></li><li><a href="https://www.tomsguide.com/ai/google-gemini/google-geminis-guided-learning-feature-makes-ai-actually-check-if-you-understand-heres-how-it-works">Google Gemini's Guided Learning feature makes AI actually check if you understand — here's how it works</a></li><li><a href="https://www.tomsguide.com/computing/email/after-two-decades-google-finally-rolls-out-a-way-to-change-your-gmail-address-heres-how">After two decades, Google finally rolls out a way to change your Gmail address — here's how</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>