Inside DuckDuckGo

Inside DuckDuckGo

By DuckDuckGoBusinessTechnology
Download on the App Store

Inside DuckDuckGo episodes

  • Duck Tales: The DuckDuckGo browser now blocks ads on YouTube videos, so you can watch without interruption (Ep.37)

    In this episode, Peter (Product) and Dave (Privacy) discuss YouTube Ad Blocking, why we built it, how it works, and how it differs from Duck Player.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    If you have feedback on Duck Tales, or episode ideas, email us at [email protected].

    Show notes: Ad Blocking is enabled by default for Mac, iOS and Windows browsers. It will be enabled by default for Android soon, but for now can be turned on in settings.

    Peter: Hello everyone and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo, we discuss the stories, technology, and the people that help build privacy tools for everyone. In each of these episodes, you’ll hear from employees about our vision, product updates, engineering, or things like approaches to AI. My name is Peter. I’m on the product team at DuckDuckGo, and I’m joined with my colleague Dave. Dave, do you want to introduce yourself?

    Dave: Sure. Yeah. Hey, I’m Dave. I generally work on the browser experience at DuckDuckGo. That means working on privacy protections, working on making sure that websites work the way that you expect them to work and yeah, making sure that you have a good experience browsing the web.

    Peter: Awesome. And today we’re gonna be talking about ad blocking, more specifically YouTube ad blocking, but I think we’re gonna talk also just generally about about ad blocking. So Dave, why don’t we why don’t we start at the top? Does DuckDuckGo browser block ads today?

    Dave: If if you’ve used one of our browsers, you’ve probably noticed that you see quite a few fewer ads. So that’s a side effect of our tracker blocking. So the reason that you’re seeing fewer ads is a lot of these ads come with trackers, you know. They want to see how you interact with the ad. They want more info about you to determine, you know, is that like a a good impression? And you know, they want to build these profiles and all of that. So we block those requests before they’re initiated. And that leads to many fewer ads across the web. But we don’t deploy a like a specific ad blocking feature.

    Peter: Mm-hmm.

    Peter: Got it. And so we what what you’re basically saying is a lot of these companies that, you know, serve up advertising are also tracking the heck out of people. And so by by virtue of the fact that we block that tracking, we are basically blocking you know a lot of the advertisements on the internet.

    Dave: That’s right. That’s right.

    Peter: Makes sense. And so what’s changing about our ad blocking?

    Dave: Yeah, so what we’re doing here, and as Peter said, we we’re starting with YouTube. We r have received a ton of user feedback asking for us to do something about this. As as you probably know, YouTube shows up to you know several minutes of ads before videos, during videos, just constantly. And what what’s changing here is we have deployed we’re working on deploying a feature that will just prevent these ads from loading. So instead of, you know, waiting thirty to seconds to a minute before you can watch a video and then getting interrupted in the middle of a video, you should be able to watch the video right away and without interruptions.

    Peter: Yeah, and so a a lot of you’re saying a lot of our users have been asking for the ability to block ads on on YouTube. I think it’s safe to say that, you know, a lot of DuckDuckGo search users who historically have used other browsers, have have used extensions, ad block extensions to get this benefit. And so Dave, you’re saying a lot of these users have asked us for the similar sort of capability in our browsers.

    Dave: Yeah, that’s right. Extensions are a very powerful tool. We don’t export extensions in our browsers for for good reason. So they can be a blessing and a curse. If if you’re using the right extensions, there are safe extensions and they can improve your browsing experience by like you know blocking ads or you know auto-filling password fields, that kind of stuff. But they’re also a a really large risk because there are a lot of malicious extensions out there and unscrupulous extensions out there that can you know get full access to everything within the web pages that you’re looking at and exfiltrate your data and track what you’re doing online without you even realizing.

    Peter: Mm-hmm.

    Peter: Yeah, I I remember over the last few years, every few months there seems to be a story about some extension that that a lot of people installed that either went rogue or maybe got sold to another company and then they use that extension to to data mine people and spy on their their online browsing behavior overall. And so you’re you’re basically saying, Dave, by adding this capability, the YouTube ad blocking natively to our browser applications. Not only is it easy for our users to enable and get that benefit, but it is also safe to do so. Is that right?

    Dave: That’s exactly right.

    Peter: Awesome. Cool. And so we built this based on user demand. But a lot of our browser users already have the benefit of something we call Duck Player. Can you explain what Duck Player is and then let’s talk about how Duck Player differs from the YouTube ad blocking that we’re talking about?

    Dave: Yeah, totally. So Duck Player, we like to think about it as kind of a theater mode. So if you visit YouTube or you load a YouTube link, you can load it in this kind of standalone window within our browsers that we call Duck Player. And what what’s happening there is we’re loading it through this separate YouTube no cookie domain. And and the advantage of what we’re doing there is that it doesn’t like when you watch videos, they’re they’re not tied to your account and it they won’t influence your viewing history or your, you know, recommended videos. But over time we’ve we’ve seen quite a bit of feedback from users about issues that they’ve run into with Duck Player and that that have made them go back and watch videos on YouTube’s main page. So I can go into this a a little bit here. So quite often, I guess all the time, when when a when a content creator uploads a video to YouTube, they can decide whether they want that video to be viewable on YouTube or whether they want it to be able to be embedded on other sites. So if they say, no, we don’t want this to be embedded on other sites, that makes it so it also can’t be watched in Duck Player. And there are a couple other edge cases here that prevent users from watching videos in in Duck Player. So if there’s an age restriction on a video that you have to sign in to your YouTube account in order to watch the video, that means you also can’t watch it there. And you know th they’re there a variety of issues that we’ve run into or heard from heard about from users.

    Peter: That makes sense. Yeah, I I think I think it’s safe to say that our our users love Duck Player. A. We we’ve heard from a lot of users that it’s it’s a killer feature that they they use all the time. But as as you said, yeah, between people who do want sometimes they want to see the full full comments and things like that that you’re not gonna get in Duck Player, they want to see those on YouTube, but they also want to benefit from the the ad free experience. That’s part of the reason we built the YouTube ad blocking and to to avoid some of the error messages that you referred to, which tend to come up pretty often, particularly on on desktop browsers, the error where video cannot be watched because a content creator disallowed it from being watched outside of YouTube. It comes up a couple percent of the time overall. So with this new YouTube ad blocking, it should be a little bit more seamless for everybody. Cool.

    Dave: Yeah, and I I just want to make it clear that Duck Player’s not going anywhere. That that still exists. You can still choose to use it. We’re just creating more optionality here.

    Peter: Awesome. And and that means that anyone who’s currently setting Duck Player to always load videos in Duck Player, they should continue to have that experience as their default, right?

    Dave: That’s right.

    Peter: That’s great. Talk talk a little bit about building out the YouTube ad blocking capabilities. What what were any main challenges we hit along the way?

    Dave: Yeah, for sure. Yeah, so as you know, we have a we have a browser on four different platforms, Android, iOS, Mac OS, and Windows. Slightly different architecture on each platform. Websites literally differently between, you know, they they often have like a mobile version and a desktop version. So it can be a challenge to ship parity across all all platforms. I think the the trickiest part about building ad blocking for YouTube is it’s it’s not just a simple block this request and ads won’t load. I think you know YouTube and other large websites are incentivized to prevent users from ad from blocking their ads, which means they make it a a little bit more challenging to work around that. So what we’re doing here is, you know, we we are blocking a few requests, but we’re also injecting several different scripts into the page that kind of you know rearrange how the ad calls load into the videos.

    Peter: Hmm. And and if if you our users who are using the new capability, if they if they see issues come up through their use of it, is there a way that they can tell us about that?

    Dave: Yeah, that’s a good point. Absolutely. Please, if you run into any issues using this new feature, you can either submit browser feedback, which is through through the settings page. We also offer a more direct way to submit feedback about a problem you’re experiencing with a specific site. We call it a a broken site report. You can access that through the privacy dashboard, which can be found by clicking the the little shield icon in the address bar. And if you just fill that out, our team does read these reports and we we try to we we do everything we can to respond to them as quickly as possible.

    Peter: Awesome. I think it’s also fair to say that our team at DuckDuckGo is pretty active on Reddit, particularly the DuckDuckGo subreddit. And so if you prefer, if you want to post something there about your experience, by all means, we we will we will engage with you. We’d love to hear you know the direct feedback and and and sometimes help troubleshoot. And that that goes both ways. We certainly like to help people if they run into any issues, and that helps us understand if there are some issues on particular machines that we may not be seeing internally and helps us chase those issues down overall. Awesome. Dave, what’s t tell us a little bit about when people can expect to see this.

    Dave: Yeah, so as we record this, it’s currently rolling out to each of our platforms. By the time that you are watching or listening to this, you should be able to access it on all four of our platforms. If you you know, we’re we’re enabling it by default for users, and you can also go into settings and check there’s a new there should be a new ad blocking menu item there, and you can, you know, make sure that it’s enabled or disable it if you don’t want it, if you like ads.

    Peter: Cool. Well I hope all of our users are ex as excited about this feature as we are, those of us the internally that built it out. And like we said, we’re always eager to hear feedback if you have any. And with that, Dave, thank you for joining me on this Duck Tales episode. See y’all next time.

    Dave: Thanks, Peter.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    13 min
  • Duck Tales: AI in the DuckDuckGo browser — private, useful & optional (Ep.36)

    In this episode, Beah (Chief Product Officer) and Aitor (Engineering) discuss AI in the DuckDuckGo browser, including how we’re integrating Duck.ai, our private AI chat. Plus, why it’s important we make AI not just easy to access, but easy to dial down or turn off entirely.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    If you have feedback on Duck Tales, or episode ideas, email us at [email protected]

    Beah: Hello, and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, the technology, and the people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or approach to AI. Today you’re going to hear about our approach to AI in the browser at DuckDuckGo. So we have—we have four browsers. Or we have a browser for four platforms, Android, iOS, Windows, and Mac. And I have with me to talk about this topic today about how we have integrated AI into those browsers, Aitor. Aitor, would you like to introduce yourself briefly?

    Aitor: Sure. Yeah, so my name is Aitor. I’m originally Spanish, currently living in Portugal. Been in DuckDuckGo for, I don’t know, five years, something like that. I don’t remember anymore. Started as an—as an Android engineer and now I’m leading with other folks what we call the objective for our AI browser integrations, which is what Beah just presented.

    Beah: Yep. Awesome. And yes, if—if we—if you haven’t met me before, I’m Beah, I’m on the product team at DuckDuckGo. Before we jump in, I have a bunch of questions for Aitor. But before we jump into the questions, I just want to say this is a PSA to the audience. We’ve been running Duck Tales for, I think, a bit over six months now, and have a pretty good following on Substack, and we’d love to hear from the listeners more.

    Aitor: Okay.

    Beah: So if you have feedback about what you like, what you don’t like, what topics you’d like to hear more about, send us a note at [email protected] with your feedback. We’ll also put that address in the show notes. But please, we’d really love to hear from you. So okay, with that said, maybe just a quick kind of introduction to how we’re approaching AI in general at DuckDuckGo before we get into the—the details of how we put it into the—the browser. Since we started adding AI features to our products, we’ve had this like three-prong value system that AI be private, useful, and optional. So I think those are like—private’s probably pretty self-explanatory if you’re listening to this podcast anyway. Useful meaning like not AI for AI’s sake, but actually like solving a meaningful problem for users. And then optional is also maybe deserves a little explanation. Like you can turn AI off in all of our products. So you know there’s an incredible spectrum of opinions about AI and when to use it and how much to use it that ranges from never to all the time and everywhere in between. And we put a lot of care into giving users the like toggles and controls they need to customize their level of interaction with AI. Whatever you choose there, it will always be private. So that’s like a—just a little bit of groundwork. But Aitor, can you tell me a little bit about like how that—how we’ve integrated AI into the browsers and maybe a demo would be in order too.

    Aitor: Yeah, let’s just do—let’s just try to share—this is where everything goes wrong now. Let’s just try to say how our AI integration looks like in production right now. Let me share my phone. Okay, so can you—can you see that?

    Beah: Sure. It can.

    Aitor: So this is how people would basically see our browser whenever they—they open it. In here you have like some favorites. It’s just for—for display. So the way that we’ve integrated AI in the browser right now is through this toggle, as we call it internally. You see above—search and Duck.ai. What we want is to give like a very quick access to search, a very quick access to Duck.ai, and—and a very easy switch between them. So in here, users could start a search or a browse. Similarly they can just switch the toggle or flip the toggle to the other side and they would see basically our integration with chats. You see here there is a bunch of chats, different icons to show whether it’s a voice chat or a text chat. We also want to have this marriage between chats and—and browsing and we’ll get—probably a little bit more into details later. So at the bottom, if you didn’t want to chat, you have like an easy access again to browser—to search. You can access one chat right from here. Then basically we display our Duck.ai chat. And from here you can just continue chatting from here. This is in Spanish, sorry, or you can just access—or your history or you can create a new one. So this is basically how—

    Beah: That looks like a testing history if ever I’ve seen one.

    Aitor: Yeah. So this is basically how—how it looks like in production. It will change very, very soon. So we are gonna ship like a—this is like a good experience, but we are gonna improve it like even further. And yeah, in here related to privacy, like you can just like delete your chats for good, you can rename it and this is like our fire button, which if you are a user you should know about it. The context of—of a chat, you can just basically delete a chat and discuss with our privacy story as well. So this is like a very—

    Beah: Yeah, I love that. I love the chat level delete. Like I—like I don’t—I don’t use the app level fire button hardly ever ‘cause like I want some amount of memory, but I have like a bunch of like quick throwaway chats like all the time and it’s so satisfying to get them out of my like history list, yeah. Yeah. Hey, you mind going back to the toggle—sorry, Aitor.

    Aitor: Yeah. Yeah. Me too. Yeah, I’m also like a heavy user of this one. Yeah, cool. No, no, I—I was saying that I’m—I’m kinda like the same user. Like I don’t generally use the button to just clear everything. I’m more surgical. So I love the fact that—that this is the integration and experience that we have—that we’ve created for chats.

    Beah: Yeah. Do you mind going back to the toggle view? I just wanted to like the search or Duck.ai input. So like when you were—yeah, if you go to the Duck.ai side, just to be totally clear, like those are historical chats. So we—so the auto complete is filling—like if you wanted to revisit a chat and if you start typing it’ll filter. So if you have like a very long history list, it’s an easy way to get to—yeah.

    Aitor: Yes. Exactly. Yeah. Exactly. Yeah. This is the chat history—similar to—it resembles basically the experience of search, although it’s like slightly different. It’s only about chats. And—and yes, as soon as you start typing, it starts autocompleting the ones that they are more relevant to—to your—to your—to your text. There’s a bunch of—of things that we are doing around improving the—the—the searching capabilities. So that it’s not only by title, but it’s like—I don’t know, if you don’t quite remember the exact words of your chat, basically we still wanna present with that option, right? So there’s like a bunch of work as well going on in that direction.

    Beah: Yeah, it’s interesting. Like it—well, I think one of the s—central product challenges here is like chat is not entirely analogous to search or browse in that you—you know, you pro—you don’t want to like continue a search. I mean you might like branch off from a search, but like what—you know, an old search is an old search. A chat you might want to like revisit a chat to continue. It’s like a living thing that you wanna continue. And so that’s created some interesting, like—we’re—we’re sort of trying to make these parallel worlds that will feel familiar to some extent.

    Aitor: That’s fine. Exactly.

    Beah: Good thing. I can’t read Portuguese, huh? Or Spanish. Okay, no. I saw the heart though, that was nice. Yeah. We can edit that out and post if you want. Very good. Good, ‘cause I like it. Yeah. Cool. Do you mind—Aitor, there’s like another—do you want to just show the sort of—if you’re on a website, like how to—how to start a search or a chat?

    Aitor: I know, that’s totally fine. Set, live demo, if things happen. Yeah, so if we go to like a—a website, in here what—what the users can do to quickly go into—into chat is there is this little CTA, this little icon here where users just can tap it and this pops up this sheet that allows the user to chat with the context of—chat about the context of—of the page that they are browsing if they want to. This is what this means basically here. This means that the context of this particular page is attached. You see like BBC Home, that card in there. User can remove it if they just want to chat about something generic that doesn’t really have to do with—with a page. And you can reattach it if you want. And then we have like quick accesses here that says summarize this page. So if the user clicks on it and then submits, you should just get like a summary of—of the page that you were browsing. So this is the Gombia.

    Beah: Thanks. No, I just said nice. Go ahead.

    Aitor: So this is the quickest way that you can get into—into chat once you are like in search or browsing. From here you can do different things. You can continue chatting about—about the context of the page or any—or anything else really. You can expand this, this—this button basically. So if you wanna bring this into kind of like the full experience that you saw before, so you can just go there. And your chat is of course always like stored privately in your phone. Like this doesn’t go to any cloud or anything like that, like the history and the chatting like is—is fully on device basically. So that’s—that’s basically the—the fastest way to interact with chat when you are in—in a browser search mode.

    Beah: Next. Cool. So looping back a little bit to—I was talking about optional being one of our core tenets of AI, how—how do we give users choice in these features?

    Aitor: Yes, so every—every pretty much like everything that you’ve seen, and this is one of the challenges, has an associated setting. A lot of it has. So if you—if your user goes to AI features, this is where anything related to AI in the browser lives. And here you can find several things like Duck.ai—this toggle basically controls whether you will see Duck.ai at all. In our browser, as those like buttons, CTAs—CTA is like the quick CTAs like a button, if you will. So those buttons, those entry points, this is the master toggle for that. Then if you have it enabled, we provide couple experiences. The experience that you’re seeing is the toggle, which is this one in here, which is the one that we believe makes the experience better. But we give optionality to users if they just don’t like that toggle and they just like go to the regular address bar. We can—we can demo that a little bit later. And then in regards to whether or not we are gonna auto-attach the context of the page that you’re browsing, then you have this toggle here, this setting here that basically says automatically send it, which basically means as soon as you open that bottom sheet, we are gonna auto-attach the context so that you don’t need to do it if that is the most common action that you take. Or you can just disable, in which case like when you open the sheet, the context will not be attached and you have the optionality to attach it by—by that button basically that you saw in there. So if I disable the toggle and then we go back and then we create a new tab. You see that now you just don’t have that toggle, which is that nice affordance to switch seamlessly between search and Duck.ai, but still you can get to Duck.ai via the chat icon that we have in there close to the—to the mic. And then if you click in there, you just have access to like your new chat and then it’s exactly the same experience. Same goes for if you are browsing. So if you go to one page, you don’t have the toggle, but it’s still—you still have the same access to the sheet so that you can quickly chat with or without the context of the page that you are basically browsing at that point.

    Beah: Yeah, the fact that I have also—Yeah, that’s—I’m thinking about—that’s because that—was—Got it. Thanks. Maybe like switching gears a little bit, you might—I don’t think you need to share your screen for this one, but if you wanted to close it down. Tell me, so like, h—integrating AI into a browser—or a browser that has AI capabilities is like a pretty undefined space compared to many things that we’ve worked on. Like it—nobody’s really figured out exactly how this should work and the capabilities and user goals are like changing every month. So I’m just curious, given all of the ambiguity around it, are there things that, you know, we’ve tried and haven’t worked or think like major learnings from the last year or so of working on this?

    Aitor: So a good question. It’s hard to say. Like major learnings—well, like in regards to like the context of integrating AI in our browsers, like this is kinda like—it’s very hard in the sense that you cannot just—not the type of problem that is well known. You have a bunch of like other people doing the same thing and you can just like take inspiration for what is out there. Like I think pretty much everyone that is trying to do a similar thing is in the same position. So it’s very hard to understand what the users want and it’s very hard to anchor the experience around the right use case, which is in reality like—with AI, you can do anything. You can put AI on anything in a browser. You can do anything with AI. The hard thing is to understand what is actually valuable to the user versus what is like a more gimmicky type of stuff that users will—are gonna use it once and never again. So that’s I think is the hardest—one of the hardest things and challenges that—that—that we see. What—what is the—what have I found? Like I think when I came into—like this is like a personal learning to be honest. Like I don’t know if I—it applies to everybody, but when I came into the objective or integrating AI on the browsers, like I was more on the—on the spectrum of let’s just try to provide features that resonate and—and—and find that use case, anchor everything around that use case, right? And I think we—we initially realized very fast—realized that we—before we enter on that space, we needed to provide the right mechanisms for people to just access chat in a seamless way. So like we were always talking about from—open up to a search, open up to a chat, open up to continue your chat, continue your search, right? So I think that was like—for me personally, was kind of like a—I had to switch my—my—my mental model from let’s just provide value directly into the AI versus what we have is good. Let’s just give like the right accessibility, visibility and—and the right access points to it that—that it becomes seamless. That was probably for me personally the first learning that I got into getting into this objective.

    Beah: Mm-hmm.

    Beah: Yeah, like if you build a feature, they will not necessarily come unless you make the access to it and the discovery of it really, really good. And that’s a hard thing to do, I think, in browsers where we don’t—people don’t really have like super well-formed mental models, and then especially in a browser that’s like this big, like the size of a phone, you know, when you only have so much surface area to help a user find what they want.

    Aitor: Exactly. Yeah. Exactly. Plus it’s very easy with a—at least for me, like it’s very easy to get excited with AI. Like there is like—like I said, like you can throw AI at anything basically and anything looks good and—and seems useful. So it’s very easy to get like—happy run about like—just just add all a bunch of like cool features and interesting features that you don’t really know whether they are gonna resonate or not with the user, but then you might miss like a little bit the point about let’s just make it very easy to get access, like very easy to use. And once you anchor that, then you can just move on to—to the—to the use cases that resonate more with the—with the users. And this is also like some of the learnings that we’ve seen in some of the user research that we’ve seen, which is—it’s not that some people—it’s not that they just don’t like AI, like the asset—like there is like you said, like there is like a whole spectrum from people that don’t like it to people that love it, and then anything in between.

    Beah: Yeah.

    Aitor: If we take anything in between. Like a lot of people they know it’s there, they wanna use it, but they don’t quite find the context where it’s useful. So this is one of the things that we’ve seen with people that—okay, I’m here, I wanna use it, but I just don’t know how—how would I use it now or my context or what I’m doing on my day to day, right? So I think this is one of the hardest part.

    Beah: Yeah. Maybe that’s a good segue. This is my last question. Is there like—what’s your favorite thing about how AI is integrated into our browsers? And for instance, do you have like a use case, you know, a—how to use it that’s been very satisfying to you that others might appreciate too?

    Aitor: So for—my almost like my number one use case is use context. So whenever I browse about something, I just go and say summarize this thing for me and then start chatting about it. I think that is probably one of my top usages. Yeah.

    Beah: So you like go to a web page and you add the page context into the chat and then you can talk to the chat about the page context. Yeah, yeah.

    Aitor: Exactly. Exactly. Yeah. That’s—I think that is the one that I—that I use the most for different things, like to compare things on a website to—to just because I’m lazy and there is like a bunch of like news and I want a TLDR before I decide what I click through. So there is like a bunch of like use cases for me. I also like—I use the same flow to be honest on a day to day to just start like a new chat. So if—regardless of what I’m doing, I open the browser and then I open the sheet and then I just don’t attach the context and I go to a chat immediately and start chatting about—I don’t know, the last exercise that I did and how—how I perform or not perform and things like that. Like anything that you would do with your—with your AI, right? But those are the two—the two main use cases for me that I pretty much do like every other day. And as far as accessibility goes, I personally like the toggle to be enabled—just just give me a much easier access between our browse mode and our chat mode. So I’m—I’m a toggle user—an a—a toggle user specifically.

    Beah: Yeah. Yeah, same. Sometimes I like—don’t know whether like—I start typing and I don’t know yet whether I want search or chat. Like there’s—I have a—for me, there’s a bunch of like prompts or questions that I might ask that like are in a shared space, like just depending on what I feel like or my prediction for what’s gonna come back. I mean, especially with search assist and our search results, like sometimes I’ll start chatting thinking I want a search assist answer. And then I realize like my question’s getting long enough that probably what I really want is a, you know, chat and I can mid—mid-typing like swipe the toggle and you know it’s pretty satisfying. Cool. Awesome. All right. Well thank you so much, Aitor. I appreciate you joining the pod. And yeah. All right, talk to you later. Bye.

    Aitor: Yeah. Yeah, exactly. Yeah. Thank you, Beah. Thank you for having me. Yeah, thank you. Bye.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    22 min
  • Duck Tales: AI optionality, and why DuckDuckGo installs are up ~40% since Google swapped search for AI mode (Ep.35)

    In this episode, Cristina (Chief Marketing Officer) and Kamyl (Chief Comms & Public Affairs Officer) discuss the AI announcements of Google I/O, our response, and how our long-term stance on AI optionality led to rapid and record growth.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    If you have feedback on Duck Tales, or episode ideas, email us at [email protected]

    Cristina: Hi, and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or approach to AI. We’ve been running Duck Tales for over six months now and have a strong and engaged following on Substack, especially. We’d love to get your feedback. What do you like or dislike about Duck Tales? What topics would you like to hear more about? Is there anything you’d like us to go deeper on? You can write to us at podcast at duckduckgo.com. That’s podcast at duckduckgo.com with suggestions. We will read all of them. And you can find our email in the show notes too. So with that said, hi, I’m Cristina. I’m on the marketing team. And today I’m here with Kamyl, who leads our communications and public affairs teams. And we’re gonna interview each other today. Kamyl, do you wanna say hi or anything else?

    Kamyl: Ha ha. Greetings everyone. Thanks for tuning in. Cristina, I’m really excited to talk about our topic today with you.

    Cristina: Awesome. Okay, so to jump in, DuckDuckGo has always been known for privacy, but lately we’ve been talking a lot about AI choice. How did private, useful, and optional become the lens we put on AI?

    Kamyl: So I remember when ChatGPT first launched and I was talking to Gabriel a little bit about, you know, how do we think this is going to show up in DuckDuckGo? And I think one of the things that makes working here at DuckDuckGo really fun and different is that we get the freedom to think a little differently, and to say if everyone is doing one thing, how can we do it a little different. How can we think about AI in a way that’s uniquely DuckDuckGo? And that’s how we landed on private, useful, and optional. Private, what most people know about DuckDuckGo, we’ve always respected our users’ privacy, never collect search histories, anything like that. And we do the same with AI. Useful in that we never wanted to just launch an AI feature. Because it’s AI, but it actually had to do something helpful. It had to do something to improve the search experience or the browsing experience. And then optional, knowing that there are many people out there with many different opinions about AI, and opinions are still forming. Some people want the ability to use it to the their most its most extent. And some people don’t want to see it at all. And that, you know, because of a lot of big tech investments in a in a in AI like Google, they aren’t willing to necessarily just give AI a straight up off button. So we knew that those were things that we could do uniquely, put them together and then that became our lens.

    Cristina: So because we are in this optional standpoint, we offer a no AI experience, we also offer things like Search Assist and Duck.ai. How do you respond to folks who might say that offering this range is contradictory?

    Kamyl: Right. You know, I think it’s part of the it’s a major part of our goal at DuckDuckGo to let people use the internet how they wanna do it, but more privately and without trade-offs. And so some people want to use the internet with AI and some people want to use it without AI. And so to us, giving people a way to do whatever they want in a more private way without trade-offs feels really core to our mission. And so it’s not contradictory. We don’t have to have sort of one binary stance on it. We have to think about who our users are and what they want. And instead of forcing them into one experience, we think it’s the right thing to do to let them choose.

    Cristina: Got it. So for you and I and the team, it’s been a very busy, very exciting few weeks. Yes. And this all started at the Google I/O conference. Can you tell us what was that and why did it have an impact on us?

    Kamyl: Indeed it has. Yes. So Google I/O happens every year. It’s their developers conference and they announce you know, a extremely long laundry list of new features and products and things that they are excited about. And at the top of that list were changes to core Google search. Essentially that they were going to turn it and are in the process of turning it into a more AI forward experience that is turning the search bar into an AI chat bar. And essentially the moment that that happened we saw organic conversations about it explode over the internet. Why is Google doing this? They’re getting rid of blue links. Here we go again. The issues they we saw on AI Overviews. And it was a moment where you know, if Google has been trying to kind of boil the frog in terms of really slowly changing the experience to turn it into pretty much a full AI chat experience, this was the moment that the frog started to jump out a little bit. And that’s sort of what we saw on social, that people sort of saying. We have enough of this. This is making it worse. This is the last straw. And as people started doing that, you know, we saw people recommending DuckDuckGo in really high numbers. And also starting to download DuckDuckGo in much higher numbers than we were seeing before. Over the two weeks or th— really three weeks since the Google I/O conference, our installs are up thirty to forty percent above baseline. And so it was really exciting to see DuckDuckGo being a part of this conversation and people recognizing after you know talking about optionality for a long time, sort of people recognizing that that’s a really important part of our product and coming to us for that reason.

    Cristina: Yeah, absolutely. I mean, we saw this amazing conversation a folding unfolding around us. Can you go a little deeper in terms of how we joined the conversations, worked to reach more people and some highlights of what they were saying?

    Kamyl: Absolutely. There were multiple Reddit threads about, you know, not only the the the news that Google was making these changes, but then about how much we had grown. At one point we had announced that search that that installs were up almost eighty percent, almost seventy-five percent from a pre-Google I/O baseline. And once this news got out and people were reacting to it, it it really just exploded. It was kind of an important social proof, I think, that people were interested in seeing that, you know, people aren’t just complaining about Google, but they’re actually trying out different things. We’ve even done some research about, you know, who are these new folks coming to DuckDuckGo and what are the reasons that they’re that they’re coming to us. And one of the top reasons is that they’re unsatisfied with Google’s search results. That the quality had gone down to to an extent that they had sort of finally had it. And, you know, of course many users feel trapped within the Google ecosystem, so it’s not exactly easy to leave. But I think installing us was sort of the easiest way to do that. And you know, seeing so many threads on Reddit, for example, with twenty K plus upvotes. I think we made the front page of Reddit. It was it was pretty amazing to watch.

    Cristina: Yeah, absolutely. Well—

    Kamyl: So as a part of that, you know, I want to now ask you a few questions. You know, that was sort of the tip of the spear when we saw this incredible engagement online. We thought, okay, how could we start to extend the conversation and maybe do some paid channels? What was our approach there? How did we start to pivot a little bit?

    Cristina: Yeah, well we we saw this amazing organic growth and wanted to help amplify it. Normally we spend months planning a campaign and making creative, but this was very much about time is of the essence and we had to mobilize quickly. In a way, we had planned for this kind of moment, seeing the big reaction in this yes/no AI campaign we did earlier this year, and so the foundation was in place. We launched so many channels in record time. A national billboard campaign, including over a dozen in Times Square, radio, TV, YouTube, many, many channels. And the messages included things like big tech forces AI on you. We make it optional. And AI surveillance should be banned. AI should be optional and private. We wanted to be very straightforward, point to the moment we were reacting to, and share a bit of a TLDR manifesto.

    Kamyl: Yeah, it was so fun to see the team work so quickly in getting all this new content up and then seeing seeing the response. So can you talk a little bit about what the response and the results have been like?

    Cristina: Yeah, I mean, on the qualitative side, like we saw in the organic response, it was just incredible. Folks echoing our rallying cry, engaging with the ads, talking about it in a way we haven’t seen before. Social ads were getting tons of upvotes and shares, right? An ad getting upvotes, it kind of hurts my brain a little bit. But as a marketer, it’s amazing. And lots of jokes from people about how they actually like seeing this ad. To build on what you said earlier, we saw tons of installs and visits with a combination of the organic and the paid work that we did and you know records for for us internally. Installs climbed to a peak of about 75% above pre-announcement levels. And you know, again, I’ve settled down, but a really healthy baseline, above baseline. And then visits to no AI also surged, peaking at something like 6x what we had seen. And then on the marketing side, you know, we measure a host of other metrics like click-through rates. Which in some cases were three times better, which to me really indicates that people are interested and want to.

    Kamyl: Yeah, the the ads with upvotes I think broke a lot of people’s brains. And I think one of my favorite kind of anecdotal things is has been just hearing from people. My you know, uncle saw the news about you guys. This is awesome. And just sort of hearing people throughout the company sort of feeling the momentum in their friends and family. Why do you think there was such a strong reception to this?

    Cristina: I think it’s the same reason that our yes/no campaign earlier this year resonated so much. It’s because just because companies can put AI everywhere doesn’t mean consumers asked for it. And while others are racing to make AI unavoidable, we’re focused, as you said, on making it private, useful, and optional. And our view is simple AI should be on your terms, not the platform’s terms. And so we were speaking to a large, overlooked community who previously didn’t have a platform. Or a seat at the table with a tech company, we acknowledge them. While not saying AI is bad, but rather that AI should be optional and we offer both experiences. A lot of people are interested in AI, but they still want simplicity and control and choice. And that’s the space I think that DuckDuckGo serves, because consumers shouldn’t have to choose between trying AI and protecting their personal information. And I think always private is a much better proposition than just trust us, which seems to be the approach that many other companies are taking.

    Kamyl: Yeah. So do you think we’re gonna keep talking about this? I feel like that that’s not optional. But what is what is what is next for us on our sort of next things we’re gonna be talking about?

    Cristina: Yes, AI optionality and our messaging around it is not going away. Something we’re gonna hold near and dear for a long, long time, forever. And in fact, we are about to launch a new campaign that we’ve been planning for six months now. Maybe it’s already launched by the time you at home are seeing this. And in it we underscore optionality. So that if you are interested in AI, you can use it privately without having to worry about where that very personal information is going. It comes to life in a very visceral, cinematic way, and I’m really excited for everyone to see it and to continue to live in this moment that DuckDuckGo is having and for more people to come to the duck side.

    Kamyl: You know, I hope people keep their eyes peeled wink wink for what’s to come. And thank you, Cristina, for this episode of Duck Tales and thanks everyone out there for listening. Looking forward to talking to you soon. Bye bye.

    Cristina: Thank you.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    15 min
  • Duck Tales: Voice-mode in Duck.ai. The private, hands-free way to chat with popular AIs (Ep.34)

    In this episode, Beah (Chief Product Officer) and Fran (Engineering) discuss voice-mode in Duck.ai, common use cases, and how it’s private.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    If you have feedback on Duck Tales, or episode ideas, email us at [email protected]

    Beah: Hello, welcome to another episode of Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear about our vision, our product updates, engineering, or approach to AI. In this episode, you are going to hear about our voice AI chat feature. And I have with me today Fran, who played a very large role in building and shipping that feature. So Fran, do you want to just briefly introduce yourself?

    Fran: Yeah, so hi everyone. I’m Fran. I’m an engineer at DuckDuckGo and I’ve been working on Duck.ai for a long time now and yes, I was heavily involved in building voice chat and yeah, it’s a very exciting feature.

    Beah: Awesome. Well, thank you for joining us. And I’m Beah. For anyone who hasn’t already met me on one of these podcasts, I’m on our product team. Before, so I have a bunch of questions for Fran, but before I jump in, I want to make a ask of our listeners, actually. So we’ve been doing these podcasts for a little over six months, I think, now, and have a pretty good audience following on Substack. We would love to hear from you, our listeners, get some feedback about like things that you you like about how we’re approaching this, things maybe you don’t like, and also like what topics you would like us to talk more about so we can plan future episodes with your interests in mind. So if you have any feedback or want to talk to us, send us a note at [email protected]. and we’ll also put that address in the show notes. So with that said, let’s talk more about voice chat. so Fran, can you just tell me like to get started, what is this feature? How does it work? Maybe you can give us a quick demo.

    Fran: Yes, definitely. so voice chat is a hands-free conversation mode inside Duck.ai. so yes, so far our users have been able to talk with any with many chat models via text. And we wanted to provide a privacy focused way for you to just have a conversation with your model. There’s some really cool real-time models out there right now, and we wanted to incorporate this feature on Duck.ai as well. so yeah. With voice mode, you can basically have a call with the model and talk directly to it. It will listen, it will reply out loud. you can also interrupt it mid conversation and like if you want to correct or actually add some extra information, the model will stop and listen to you and then reply back. It can pick up a little bit how are you expressing yourself to also help that play into the response that it will give back to you.

    Beah: They have people.

    Fran: And so I have here on my phone Duck.ai. And if you want to use it, like we have this very handy voice chat, you can go there and you can just start talking. So can you give me the weather for New York today?

    Beah: Yeah, yeah.

    Fran: Just new it’s city in New York City, the temperature is around twenty eight degrees Celsius with a heavy thunderstorm. Celsius and the low tonight could drop to twenty-four degrees. There’s a heat advisory in effect as well, so it might feel quite humid. Make sure to stay hydrated and be prepared for possible flooding. You can also check the extended forecast on sites like AccuWeather or the Weather Channel. Yeah, that’s very nice. So yeah, you can ask follow-up questions inside the same session. Right now I’ve muted myself, so you can also mute in case you want the model to not hear you at the moment. And and yeah, it has access to web search as well, so you can also get the news, get weather information or any up to date information.

    Beah: Nice. I am not too far from New York City and I can vouch for it being very humid today. cool. Yeah, so t tell me, I know that the demo, you know, I hopefully people can see it well enough f on the screen, but if you couldn’t, there’s like a little ghosty character with a bow tie. tell me a little bit. Who’s that? What’s his deal, his or her deal?

    Fran: yes. so that is our voice mascot. we wanted to provide like a visual aid and like represent that the AI is speaking to you so you can just see when the AI is listening and replying back to you. So we created this mascot to be there with you during the session. And we wanted this mascot to also have a little nod to Dax, our technical mascot.

    Beah: Yeah.

    Fran: so that’s why it has also the green bow tie and it’s white, so it it it’s it’s a nod to Dax. Yeah.

    Beah: Yeah, so if you’re not familiar with Dax, that’s the name of the DuckDuckGo duck that you see, the Debonair, yeah. duck with the bow tie. awesome. and by the way, like on the point about the dem demoing this is a little bit challenging because of the audio and the back and forth, but just go like after this podcast or in the middle of this podcast, go try it. it’s you know, if you don’t already have the DuckDuckGo app, you can download the DuckDuckGo app on your phone. You can also try it on desktop.

    Fran: Yeah.

    Beah: And actually, Fran, I should ask, is it free or do users have to pay to use voice chat?

    Fran: It is completely free. so our free tier users can access voice chat directly from either that button or the sidebar as as you could see. And yes, with with the pro and plus subscriptions you do get more time to speak with the model, but it’s available for everyone right now on your phone on or desktop.

    Beah: Awesome. cool. So maybe can you tell me a little bit about why we decided to build it at all? Like what instigated this whole project?

    Fran: yeah, so like I was saying before, like we there’s some cool voice models out there and we wanted to give like this hands-free way for people to talk with with our with their chat model. and we also wanted to have a private way for them to speak, so we did put in place some technical ways for us to improve like our privacy and anonymizing your voice when we when you’re connecting to the provider to speak with it. and yeah we want to give you this free hands-free way of talking with the model is also better for accessibility like we’ve gotten feedback like some people struggle using the text chat so with this you can just connect and start talking with the model uninterrupted.

    Beah: Even the. Yeah. Okay.

    Fran: So yeah, it’s been a very, a very cool feature. And we know voice is a very unique thing for the users, so we wanted to provide a way for our users to be able to use that in a private and secure environment.

    Beah: Everything. Okay. Yeah, yeah. Can you is there anything else that you wanna add about like how we handled priv like how we made it in fact meaningfully private?

    Fran: Yes, definitely. it was challenging because right now there is so many different ways to handle voice models that are out there. Like different providers have different ways that they provide. Like we did this connection directly with the model using real-time web technologies. So you’re actually like having a call with the model. but there are other ways where you could parse the conversation, maybe turn to text, but then a lot of the details and the nuances of your talk can be lost in between. So we found we looked into this balance of having a good user experience while also preserving your privacy. So the way also that we build, like there is this relay in between you and the provider, and we anonymize all the metadata and the information of your call. So the provider doesn’t really know who you are. Although your va your voice is still unique to you. You should be mindful of that. But apart from that, everything else we anonymize during the call. Yeah.

    Beah: Hmm. That’s cool. just to like kind of loop back to what you were saying about the why we build it in the first place. I’m personally like I’m not a huge voice input person. I know a lot of people are, but I don’t usually talk to my phone unless I’m actually calling a human. and I found it pretty cool ‘cause like, I don’t know, it is really convenient sometimes just to not I don’t know, they’re like when you’re on the go or something, right? And don’t have your typing fingers available. I’ve I’ve actually found that pretty handy and just been like impressed by how slick it is with the like hand it handling interruption. And I know we had to dial that in a little bit, like at least on my iPhone, it was way too sensitive at first and it thought like all the background noises were interruptions and yeah. But I I think now it’s pretty slick.

    Fran: Yeah. No, it’s super cool and we’ve gotten so many positive feedback like from I’ve got people who reach out to me and say like I was stuck in traffic so I wanted to check something real quick so they use voice mode so they could still pay attention around them and like while they were sitting there waiting for traffic to move, they could quickly use and make some lookups. I’ve heard from people that also use it to practice a different language since the model can understand so many different languages. And even me, I’ve tried like speaking in one language and then switching to my native, like speaking English and then switching to my native one, and it can pick up like flawlessly. it’s it’s very nice. Yeah, I I enjoy a lot the the hands-free and versatility of it, and I’ve yeah, I I’ve used for a few things where

    Beah: Nee. Yeah.

    Fran: Me speaking is easier than me typing down what I want to to ask the model about. Yeah.

    Beah: Yeah, I’ve been using it like I guess as like a thought partner. Sometimes if I’m like walking my dog and I’m thinking through something complex, it’s the kind of thing that like if my husband were walking alongside me, I would start just like, you know, spewing thoughts at him as a sounding board. I start spewing it at you know, Duck.ai instead. And I don’t know, it’s been kinda cool.

    Fran: Yeah.

    Beah: t tell me, Fran, like do you have a either a favorite thing or a favorite use case about about voice chat?

    Fran: Yeah, so I I’ve used it a little bit in the past to help me when I need to write a write down like some idea that I have in my mind or like formulate some something that I want to share with a colleague but I really cannot put into words but I can express myself. So I would open voice chat and then like speak for a whole minute saying, I want to say this, but not exactly that word, but so like you’re saying, like this thought process. And then at the end I say, now summarize what I’ve said in two sentences, and it has been like really helpful to help me like consolidate a lot of flying ideas. And with web search that we added after the release, I also find it really nice, like to get, give me a summary of the news in my city today, or do these quick lookups where I can have it on the side speaking to me while also doing multitasking and doing something else. So yeah, it’s it’s been pretty nice for those use cases.

    Beah: I mean I could. Nice. Awesome. Well, anything else that you wanna add before we wrap?

    Fran: just want to invite everybody to use voice chat. I I’m biased, but I really like this feature. I I find it really cool, really like our ghosty guy. And and yeah, please test it out and share any feedback that you have with us. We are always looking for ways to improve our features and voice chat and Duck.ai in general. So, yes, please hit the share feedback button and we’ll definitely appreciate.

    Beah: Does the ghosty guy have a name?

    Fran: No, we didn’t give a name. Maybe if if anyone suggests a one that we like, maybe.

    Beah: Yeah, I think you should have naming privileges Fran, so think about it.

    Fran: Yeah, I’ll think I’ll think about some ideas. Yeah.

    Beah: We Yeah, okay. Sounds good. I was gonna suggest Fran, but maybe you don’t want Fran. Yeah. Cool. Okay. Awesome. Well thanks so much for for joining and and congrats on this neat feature that you launched.

    Fran: Ghosty Bow tie. Thank you so much.

    Beah: All right. Talk to you later, Fran.

    Fran: Take it. See you soon.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    14 min
  • Duck Tales: How we've made it easier to generate images privately in Duck.ai (Ep.33)

    In this episode, Beah (Chief Product Officer) and Matej (Engineering) discuss the evolution of image generation in Duck.ai, UX improvements, and the challenge of balancing output quality and speed.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    If you have feedback on Duck Tales, or episode ideas, email us at [email protected]

    Beah: Hi, welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or approach to AI. Today I’m here with Matej, and we’re going to talk about image generation in Duck.ai. I will let Matej introduce himself, but quickly I’ll just say that if you haven’t met me yet, I’m Beah, I’m on the product team here at DuckDuckGo. And yeah, Matej, take it away. Tell us a little bit about yourself.

    Matej: All right, Matej. I’ve been at DuckDuckGo for a year and a half now, and I’m working on Duck.ai and I work primarily on image generation last year from September until Christmas.

    Beah: Awesome. Well, okay, so just to kind of get started, tell me a little bit about what that even means. What is image generation in Duck.ai? And if you’re able, I I think a demo would be great.

    Matej: Yep, definitely. Let me share my screen here. All right. So if you go to the Duck.ai, go to the Duck.ai and you will see basically this screen and you probably notice that there’s this option new image, which is when you click on it, then you type any prompt in here. Duck.ai will try to generate an image for you. So let’s show me an image of a cat on the windows. So hopefully at the end of this we’ll get an image. This is going to take a little while because image generation is quite a heavy process. Yeah, this is the simplest form of it.

    Beah: Okay. I see it. It’s coming together.

    Matej: We’re getting, yes, it’s coming together and here’s our little cat. can click on it, zoom on it, download the image and copy it if we need it. Or we can keep it writing on it and ask for adjustments in the image.

    Beah: That’s pretty good. Good. I mean it has like the right number of limbs. There’s nothing too crazy going on here. I’m pretty impressed. do you wanna demo like any adjustments or anything else you wanna point out while your screen’s being shared?

    Matej: Yes, that’s correct. Sure, we can try it. Add another cat to the image. Let’s see what it comes up with.

    Beah: Okay. another cat. yeah. Cool. And what what model is operating here?

    Matej: So, we’re currently using GPT Image 2 model. We’ve been through multiple iterations of this and it’s always been a trade-off between cost, the output quality and the performance, so how quick the model is. We went through GPT Image 1, 1.5, 1 Mini and 2. Currently the GPT Image 2 model is slower, however it... the output quality is much, much better than previously. You probably cannot see it in images like this. However, if you would prompt it to generate a text, then you would see a clear difference between different models, and GPT Image 2 follows instructions really well and generates the text really well.

    Beah: Hmm. Got it. So like a bad job if you say if you tell it to put some copy in an image is like it doesn’t get the letter. It like uses different copy, it like mangles the letters. Is that right? Yeah. I’ve definitely been there. But hey, look, this cat also has the right number of limbs. I don’t see anything problematic or fishy about this. I guess it’s kind of a s a softball query, because there’s plenty of cat images on

    Matej: Exactly, exactly. That’s the case. Yeah.

    Beah: In in Windows online, huh? Yeah. A demo query. Nice. Cool. okay, awesome. Well tell tell me a little bit, like stepping back again, tell me a little bit about why we even built image generation.

    Matej: That’s correct, yes. Yes. So I think from the outset, we knew that we will have to at some point. The reason for that is most of the competitors or similar products already provide this feature. We knew that we had the capability, but also we had some user feedback that this is like a highly requested feature. It doesn’t match. Like at this point in time, this is like a baseline feature that is expected by all the users for you to have in any sort of AI product, I would say.

    Beah: Yeah, yeah, got it. and all right, so what were like did you run into any challenges when you were building this this feature?

    Matej: So I think challenges were not technical. Surprisingly, most of the challenges would come out of, for example, content moderation. How do we prevent people from generating, for example, self-harm images? And then the second part that I’ve already mentioned is how do we balance the quality, performance, and cost at the same time? So those were the two challenges that I would say were that come to my mind as we’re building this.

    Beah: Yeah. Gotcha. And like what was the what was the runtime on this work? Like how how long have you been working on this?

    Matej: So I started working on initial prototype in September last year, and we shipped it to production just before Christmas. So that was it.

    Beah: Got it. And was it mostly you or was there a team of people working on it?

    Matej: In the beginning, was mostly me and then another engineer joined me for UI work. So I did mostly the back end and then a little bit of wiring on the front end. Specifically for like, you can also upload your own image and then ask the model to make adjustments to it. So this is the part that I was working on.

    Beah: Yeah, yeah. Nice. Have we gotten any interesting or surprising feedback since it’s been live?

    Matej: So I wouldn’t say any interesting, but what was surprising to me was that the reception was quite positive. And I was a bit worried when we built this feature because in general, image generation is perceived as a fairly harmful thing. depending on your intent, you can also do harmful things. However, I was surprised that most of the people were positive and they appreciated to have a privacy focused way of generating images.

    Beah: Yeah. Mm-hmm. Mm, sounds like the hard work that you put into, you know, putting the right content generation guardrails on it and so forth must have must have paid off.

    Matej: I hope so.

    Beah: Nice. So like going forward are there improvements that we’re that you guys are making on this feature?

    Matej: So we’ve already made a bunch of improvements. This current iteration that you saw in the demo is an evolution of original implementation. Previously, we had a separate mode just for image generation. It was not integrated into your normal conversations. And this is one feedback that we’ve received and we pivoted away from the separate mode into having it in line in your regular chats.

    Beah: Mm.

    Matej: Another piece of feedback we’ve heard, and I already mentioned this, we’ve gone through multiple models because people are asking for better output. Going forward, I don’t think we have anything in particular. if you have any feedback, I’m happy to read through it and put something on the roadmap. There are many ways we could take this. I can imagine we have like we had we can add a freeform canvas and you can ask a model to make your image pretty like you draw something with your free hand and you’ll get a nice image or advanced editing you mask out something and you ask a model to replace that bit of an image with something else. So there are many, many different ways we can take it.

    Beah: Yeah, yeah. Nice. Yeah. going back to a second for the whole the like to the inline versus a separate separate mode thing. So that’s like just just in case it’s not obvious that like it used to be that you had to start your chat in image mode. And if you started with any other model or you know, you were mid-chat, you couldn’t like jump into image generation, right? So now if I’m like mid-chat on something, can I just ask it to generate an image and Like it’s properly it can jump between those modalities.

    Matej: That’s correct, yes.

    Beah: Nice. And then how does it so since we’re using one model for image generation, if I start chatting again, how does the how does the does it just go back to the previous model that I was chatting with?

    Matej: Yes, that’s correct. So if you’re in a conversation, there’s in the background, there’s essentially two models. One is for your conversation, which will be GPT-5 mini or Opus. And then there’s another model that’s specifically for image generation that’s always being called whenever you ask for an image, which is GPT Image 2.

    Beah: Got it. And I can just jump back and forth willy-nilly, yeah, to edit my image or have a chat. Okay. Gotcha. and then how do we know whether like how does the model know? Not not how do we know, but how or how does Duck.ai know whether to be you know, interpreting my prompt as a an image generation command or continue discussion?

    Matej: Correct. Yes. That’s an excellent question. So we have image generation tool on our back end and basically it analyzes all the prompts that are coming in. And if any of those is categorized as one that is requesting an image, then it will trigger the tool and that tool will generate an image for you. So we have some.

    Beah: How good are we at that? Like is the just are we v are we perfect at classifying or do you think there are times right now when like somebody wants to be editing the image and they get a text response or vice versa?

    Matej: I don’t think we’re perfect, but I think we’re pretty good, I would say. I would say about 90%. We have a set of evaluations that we run on these tools and on various prompts, and we keep adding to the dataset that we have. So we keep improving this and it’s already pretty good.

    Beah: Yeah. Nice. okay, one more question for you. What is your favorite thing about image generation in Duck.ai?

    Matej: My favorite thing, I think, like I had a good time with my wife when we were just goofing around. were generating, I think we generated like a demon llama in a coat or something. I don’t know, like things that you would never think about, but it was, it was just funny to keep working on the same image and what it would come up with. Another use case that I really love is generating logos. If you have an event you want to put on your, like a logo on your invite, then it’s...

    Beah: Mm.

    Matej: It’s pretty easy. It generates you in generally good enough result for you to use.

    Beah: Yeah, yeah. Yeah, I actually I had a good logo experience with Duck.ai not too long ago. I had I was talking to a a friend, a a child of a friend, who with my daughter had they made this like amazing like role playing card game and named it and they wanted to create a logo for it and I was like, yeah, let’s let’s just see how it does. And I just on my phone, we were like literally on a hike and I just picked up my phone and told Duck.ai what the g the can the game was called and like a few you know, suggestions for what this person had in mind for the logo and like what came out was was pretty great. I was I was impressed. It was like a it was neat that you could do like that, you know, literally like while hiking through a park somewhere in a matter of moments.

    Matej: Mm-hmm.

    Beah: So I think he was impressed too. Nice. All right. Well, anything else that you want to add, Matej, before we close?

    Matej: Try using this feature. Give us your feedback so that we can improve it, we can keep working on it.

    Beah: Yeah, for sure. We actually read that the feedback. All right. Well thanks for joining with today and thanks everyone for listening. See you around.

    Matej: Yes. Thanks for having me, see ya.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    14 min
  • Duck Tales: Dax (our mascot) is coming to the physical world, on shoes, shirts, and security keys (Ep.32).

    In this episode, Gabriel (Founder) and Dan (Brand Strategy) discuss our first set of branded collaborations, where the idea came from, and why people would rep Dax in public.

    Show notes: Shop the collaborations here

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    If you have feedback on Duck Tales, or episode ideas, email us at [email protected]

    Gabriel: Hello again. Welcome to Duck Tales, the show where we delve into all things DuckDuckGo. I’m Gabriel. I do a bunch of these, but not all. I’m the founder of DuckDuckGo. I’m here today with Dan. Dan, you want to introduce yourself?

    Dan: Yes, absolutely. Hey everybody, I’m Dan. I help lead the brand strategy team and I’m excited to be chatting with Gabriel today.

    Gabriel: Cool. So we’re gonna actually turn it around today and Dan’s going to interview me a bit about something special we’ve launched recently. That said, before we get started, we have a new email podcast at DuckDuckGo.com where we would love your feedback about Duck Tales. What episodes should we run more of? What do you like? What do you don’t like about the show? Should I get a real microphone? Blah blah blah. Please email us. We’ll we’ll read it and get back to you. But now we’re going to turn it around and Dan, take it away.

    Dan: Amazing. Before jumping into the questions, I’ll first just introduce this special topic we’re gonna dive into. Today we’re here to talk about the how the DuckDuckGo brand is doing collaborations. And we’re doing branded collaborations with Atoms Shoes, with Cotton Bureau Shirts, with Yubico Hardware Passkeys, and more collaborations to come in the near future. So before diving into the specifics about why we chose each of those collaboration partners, we want to take a step back and chat about why, in general, we’re doing collaborations. We want to chat about brand and the DuckDuckGo brand in the larger landscape that we live in, and just have an interesting conversation about this exciting new work stream we’re doing. So with that in mind, I can jump into the first question. The first question is why go physical now? And to add a little bit more meat onto the bones of that question, allow me just to explain in a little bit more depth. It’s really interesting to see how some brands are bringing gaining cultural influence in unexpected ways. For example, a brand like Teenage Engineering makes audio hardware, but has become a lifestyle statement. A brand like Starface makes acne patches, but it has become a signal a symbol of empowerment. And so that brings us to DuckDuckGo, which is an internet privacy company now releasing branded collaborations with fashion and technology hardware companies. So the first question is, why does it make sense for DuckDuckGo to go from a purely digital brand to one with a physical presence in people’s lives?

    Gabriel: Yeah, and and if everyone is aware, Dan is relatively new, so he doesn’t know all of DuckDuckGo history. And I this is not as thought out as you might imagine. But let me take you through some of that history. So when when we first started, it was just me and I we’ll get into this a little more deeper, but I really like offline stuff. I mean as most people do, but like particularly like good products and showcasing

    Dan: Yeah.

    Gabriel: stylish things and whatnot. So I very early on made stickers and t-shirts. And for several years I would send people stickers for free. You could there was a there was a like a place on the site you could put in your information. I’d only use it to study the sticker and delete it in a privacy respecting way. But I probably sent liter I probably mailed thousands of individual people stickers out. At some point and people love it. And then we also had you know I I almost exclusively wore t-shirts for a long time and I I really had a thought, we’ll get you into this a little bit as to like what makes a really good t shirt. So I had some really good t shirts made and some we had a little store going that was just a cost and we gave away a lot of free t-shirts too. But at some point the free community picked up on this kind of stuff, which is not DuckDuckGo users, just people who want free stuff, and they overwhelmed my inbox and our free program such that we had to like completely take it down. And then we ran the store for a while with just the t-shirts, but our vendors kind of changed, went out of business. Various things happened where the store went down, and then we were like it’s not we got other things to do, so we haven’t put it back up. And so that was probably six, seven years ago, maybe when it last existed. So we did have it for some period or some amount of things. They weren’t collaborations per se, but DuckDuckGo offline products. And then it went away. Since then people continually asked for it. Can I get some DuckDuckGo stickers or t-shirts? And we have them internally, obviously, for company swag, which you probably have gotten already. And so we do send them around occasionally, but they’re not publicly available. Then fast forward to this year, and I just was like, I found myself with some extra time just looking at lots of interesting products for my personal consumption. And I was like, I would love to have a DuckDuckGo collaboration on some of these. And so these are the first ones we did. And I just wanted to exist in the world. And so it was it wasn’t some grand strategy more than I would like it. And then given that I would like it, I thought maybe other people would like it. We did do a lot of data research around this. And so our goal was to put it out, and hopefully our DuckDuckGo fans are interested in it. But that’s that’s really the longest word of it. Not a big strategy, more just like I want it to exist, and I’m very glad that products do exist and we’ll talk about them, but that’s really what it is. If if people really do like it, we’ll do a lot more. But if they don’t, then we’ll probably won’t do a lot more.

    Dan: Well, I I think that makes total sense. And I also think that the timing for these products makes a lot of sense as privacy becomes goes from what is often considered more of a niche concern to what has really now become a really important mainstream concern for millions and millions of people. And so I’m curious when people wear the DuckDuckGo brand on a t-shirt or shoes or any other product, what does it stand for and why are you excited for people to rep the duck the DuckDuckGo brand?

    Gabriel: Yeah, so we have a we people don’t really know because we’re not the majority search engine or you know, obviously that’s Google, but like in the US we have about ten percent of people who identify as DuckDuckGo users in the surveys we do. So it’s it’s a really not insignificant amount of people. And you know, our search share is lower because they may not use us all the time or on all devices, but that’s about the percent of users we have in the US. Those people, you know, are are what we call or we call deeply care and act on privacy people. They not only care, a lot of people care and say they care, but they’re doing something to act on it. You know, usually to escape creepy ads or just to protect their personal information from getting out, not leaving as much of a digital footprint, not having as many, you know, recommendations and algorithms, all sorts of good reasons to choose privacy, but they’re making that choice explicitly. And that’s kind of a lifestyle choice. And I think that lends itself to expressing yourself that you know you’re in this choice, like you care about privacy and you want other people to know about it. That also helps DuckDuckGo for everyone listening because most of our growth, the biggest component of our growth has been word of mouth. And so if you are a DuckDuckGo user, you know, you’re already educated enough to like make that choice and know why. The majority of people aren’t. And so it really helps like individual people to go out and educate people why privacy and and security are important online. And having something like a t-shirt or a sticker is like the icebreaker in that conversation. People wear the shirt and there other people come up. We get this all the time. People come up to them and be Well, what DuckDuckGo? Or or because we have a lot of users now, I love DuckDuckGo. And then they can talk about it and just meet other people who are also users. But I think that’s really the core the core like reason.

    Dan: Absolutely. And I you’ve touched on this just in what you just said. But I know that wearing my company swag, whether I’m going to the gym or walking around the park, inevitably a few people come up to me and say, I love your shirt, man. Where can I get one? I love DuckDuckGo. What’s going on with DuckDuckGo today? And I explain, I actually work here, but soon enough we’re gonna have collaborations that everyone can wear and be a part of. It’s rare to see a brand where there’s so much true love for the brand and trust for the brand. And I’m curious, where do you think that brand love comes from?

    Gabriel: I don’t know exactly, but I think it comes from or starts from that we really do put users first. I mean, like that is the goal of the company. We’re obviously like protecting your privacy, but even like almost more fundamentally than that, like we’re and it got started as a you know user first brand. So like we don’t make as much money as we could. That’s unlike most any other company because we are explicitly choosing to put users first and their privacy first at the expense of profits. And we think users appreciate that. In addition, we just try to have fun. So like the goal with kind of some of these collaborations and our kind of brand refresh we’re doing this year is just to make everything a little more delightful, like we want people really like our products. And so the people working on our products are every day thinking about how to make them so other people like the people using them actually like them. They’re not just utilities, even though they are utilities, but we’re trying to add little fun things in them. You know, we’ve had a show about the Easter egg logos that we have. So like I I think that all adds up to trust and kind of brand love in the end.

    Dan: Amazing. And one more question before we get into the specific collabs themselves about our brand in general and how it relates to the collaborations. One thing that’s really interesting is there’s a lot of conversation happening around privacy right now. And there’s all sorts of word of mouth that’s being driven about our brand right now as it relates to privacy. And I wonder if you could just talk to why this moment in time is so important to believe in privacy and why folks might want their collaborations as a result of

    Gabriel: Yeah, I mean the the really the need for privacy online has not diminished at all. It’s only gone up and up and up over time. It’s been in and out of the news for different reasons, like it was high in the news when Snowden happened at Cambridge Analytica, and then kind of fell off of it when the pandemic happened and then this rise of AI most recently. And but it’s always been there in the background. There’s still been data breaches day after day, and privacy invasions and the need, and the algorithms are even more invasive. So the need has never gone away. But it hasn’t necessarily been the dominant news story for the last couple of years. That is starting to change to your point. And that’s because AI, which has been the dominant news story, is very bad for privacy. All of the search privacy and browser privacy issues we’ve talked about for like 15 years now are all there with AI and even worse. Like you are giving even more explicit personal information to AI chatbots about very specific things in your life. And so the idea that those can be used to target you or used against you or be subpoenaed by a court or all or or leaked, like all of this stuff is starting to happen and will just happen more and more. And so the need in the context of AI in particular is very high. I mean in that context is why we offer like Duck.ai as our private AI alternative. But I think in to your question, the conversation is starting to to tend that trend there. And like this AI backlash isn’t about a lot of different things, but one of them is about lack of control and privacy in all these products that are kind of being shoved down people’s throats.

    Dan: Absolutely. I think that makes a lot of sense and segues us in nicely to talking about some of these products themselves. So let’s first start with the YubiKey. Gabriel, could you tell us a little bit about the YubiKey, why it’s a good fit for the DuckDuckGo brand, and maybe even show it to us if you have it on you?

    Gabriel: Yes, so YubiKey is a is a more niche but important product for people in general. It is it looks like this. I have it here. It is a key, almost like a USB key that in the way that it looks, and in fact this is USB-C and they send it to you with these stickers if you buy the DuckDuckGo cover. So there’s like a our logo on one side and then the Duck shield that’s protecting you on the other side, and then they actually come in a pair of two. So the other one has this our fire icon. A security key is people are getting more and more familiar with the passkeys, which is like alternative to passwords on your device, like you can use your fingerprint. A security key is like that, but it’s physical. So when you log on to a website that’s really and you wanted to make it the absolute secure, you can use one of these physical YubiKey security keys and you put it in your computer. You can leave it there all time. And then when you log in, it asks you to tap it. Or it’s it just recognizes the key and you can log in. So the difference is is like, you know, your passwords can be stolen. If you have the security key, it’s on the security key. So you the security key itself would have to be stolen. So you keep this at your house or in the keychain or safe, and you can have comes in a pair, so you you have two, so there’s a backup. I use these for bank accounts and things that are real secure accounts. And it’s the recommended approach to be the most secure with which a lot of our users appreciate. So security is not exactly privacy, those are two different things, but it’s very complementary. And so we thought it would be a natural fit.

    Dan: Very exciting and works really well with a lot of our privacy features that we offer here at DuckDuckGo in a in a in both in the free version and then also it builds on a lot of the offerings we have in our subscription as well. So just a wonderful physical addition to increase your security online. That is probably the most utilitarian of the collaborations we’ve done. I will now move to the second one, which is a Cotton Bureau shirt. Which I think all viewers looking at this can see Gabriel is wearing. But Gabriel, do you wanna tell us a little bit about Cotton Bureau and why we’re excited about this shirt?

    Gabriel: Yeah, so I like I mentioned wear a lot of t-shirts and had always been on the search for like what is the best base t-shirt material that I can find that’s like soft but not too thick and like doesn’t wear out the design on it and just fits really nice. I ultimately found this like Next Level, which is like the manufacturer base shirt. And try to figure out who sells that with different designs. And that’s how I actually came on to Cotton Bureau. Cotton Bureau itself is a also a Pennsylvania. We’re a Pennsylvania company. That’s where I live. They’re also based in Pennsylvania, but in Pittsburgh, we’re outside Philadelphia. And they specialize in kind of using this base shirt, but then partnering with designers across the world to make bespoke on-demand, cool t-shirts. So you can get like basically one of the kind kind of they they’re small runs of really interesting shirts. Both for brands, but also just just random designers are uploading cool designs there. So you can find some just some really cool shirts. So I both that’s how I came to them and I bought tons of cotton shirts over time. But when we came to you know make their DuckDuckGo shirts, blank. They’re the best shirts. So like we give these out to people, we can get out of swag for years. And I don’t know, I can’t tell you how many times people are like, that DuckDuckGo shirt you gave me was like the best shirt that I own. So people wear it a ton. Now this particular design and this one from the YubiKey, we like the idea was that we would for this initial batch of stuff make a theme, and that theme is dark mode. Which is and a lot of people on DuckDuckGo use dark mode. You don’t have to use dark mode. But it’s available. I use dark mode associated with privacy. So this shirt is, you know, obviously a black with our tone-on-tone logo, which is kind of looks cool. And that’s the same logo on the the version on the YubiKey.

    Dan: Amazing. And for folks who may not be as steeped in DuckDuckGo lore, can you tell us a little bit about the duck on the shirt that you’re wearing and what that represents?

    Gabriel: Yeah, so this is our mascot. His name is Dax Brown. The Brown part is a homage to Back to the Future for anyone who is familiar with that, the character Doc Brown. But anyway, his name is Dax Brown. He’s normally outfitted with a green bow tie, and you know, with an orange background if you’re familiar with our color logo. But we also have lots of other logo versions. This is our kind of dark mode swag version that we have been using for company swag for many years, and so we thought we would offer it to the public in the in this collaboration.

    Dan: Amazing. And then that brings us to our final collaboration in our initial launch, which is our Atoms shoes. Gabriel, can you tell us a little bit about those?

    Gabriel: Yeah, so I also have them here. This is a shoe and it has a little Dax, you know, dark mode version on the side, on both sides. This is the left and the right. I love these shoes, so this this is originally why I wanted to do the whole collaborations to start with, was to make a version of these shoes. I’ve been wearing these shoes since they came out really in 2019. The story of Atoms is really interesting of itself. It’s two people from Pakistan who really wanted to make like the best everyday shoe, but they started there and emigrated to America. There’s a on their website there’s a long Humans of New York story about their history, if you’re familiar with that. So I encourage people to go on and check that out. But the shoes themselves are just they really nailed it with the best everyday wear shoe. They are just super comfortable. They have the elastic laces, so they just slip on. You never have to tie them, but yet they don’t come off. The soles they made are just really soft and good for walking, and they’re very breathable. This is all like breathable canvas. And I just like wearing them. I wear just I walk around a lot and they’re great. And then they’re also just quite stylish in the sense that they’re both casual but like not casual, not too casual to wear to almost any outfit because I don’t I’m not a big dress up person so I feel I can get away with wearing these pretty much everywhere. So yeah, these are basically the same shoes that I generally wear except with a little DuckDuckGo logo on it. So I that’s why I really wanted to make them.

    Dan: Amazing. Well, for listeners, as you can see, these are all products that Gabriel has been very involved with and can vouch for personally and enjoys. Gabriel, you chat chatted about this a little bit, but for folks who don’t know exactly what dark mode is, which is the theme of all of the collaborations, can you just explain that to us?

    Gabriel: Yeah, so it’s it’s been so interesting how dark mode has become mainstream over time. So I’m I’m super curious actually, what percent of people don’t know at this point, but like it’s a good point. So like if you go now into any operating systems like your iOS or Android or or Mac or Windows, you can set the system theme. They often ask whether you want the light it to be kind of a light or dark. And I think most people still choose light, but a large percentage of people now choose dark. So it’s I think the last time I measured is on the order of like 30% or something like that are choosing dark. When you choose dark, you know, the system is generally just instead of like a white background by default, it becomes a gray or black background. So we at DuckDuckGo have offered dark mode as a theme well before this got popular, because you know, on computers like Linux and stuff when you use terminals to code, the default was always black. So I think that’s how it originated as a mode and then it became called dark mode. But when you do dark mode, you usually want to theme the website or system. So it’s not just the background, it like other things look good when when you change the background. And that’s how it becomes kind of a mode. So this is kind of an homage to all that for people kind of who like dark mode or who just want a darker item, which usually goes with more things, it kind of works better in those scenarios.

    Dan: Yeah, absolutely. It looks great. It’s also an extension of the digital experience. And we’re excited to be launching more in the weeks and months to come. That wraps all of the questions for this episode. Anything else you’d like to add, Gabriel?

    Gabriel: No, it’s been great. Thank you for turning around and interviewing me, Dan. Just to remind people that we have this new email address, podcast at DuckDuckGo.com. If you didn’t like this for whatever reason, or you did, or you have some suggestions for new episodes, or we should go deeper into some topic or another, please email us. We will read it and we will incorporate your feedback. So thank you. And thanks, Dan.

    Dan: Thanks all. Thanks, Gabriel.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    24 min
  • Duck Tales: The role of user research, A/B testing, and "dogfooding" at DuckDuckGo (Ep.31)

    In this episode, Beah (Chief Product Officer) and Zac (SVP, Insights) discuss our approach to user research, how we run robust research while respecting user privacy, and why moving quickly matters.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    Beah: Hello and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or approach to AI. In today’s episode, we’re going to talk about user research. And so my guest here is Zac. Zac, do you want to introduce yourself?

    Zac: Yeah, hi, Zac Pappas. I am on the Insights team at DuckDuckGo. I’ve been here for coming up on 14 years and pretend to participate in a lot of market research, user research, and other conversations that we have where we try to infer what users want and whether or not we’re giving it to them.

    Beah: Sweet, thanks. And I’m Beah. If you haven’t met me, I’m on the product team at DuckDuckGo. All right, let’s launch into it. I have questions for you, Zac. Are you ready?

    Zac: Ready as you’ll ever be.

    Beah: All right, so let’s start. Why don’t you give me an example? Like when we’re talking about validating things with user research, just like let’s set up an example of what that means and what that would look like.

    Zac: I think so. Yeah. So I guess starting with what is user research and why do we do it? I think the obvious answer that people tend to think about are, you know, sitting in an interview or doing some sort of focus group and learning from people. But really, for us, user research is kind of all of that plus, you know, internal dialogue and real testing like A/B testing. So to put it, you know, simply, I guess, user research for us is just trying to be wrong very productively and being efficient at being wrong productively over time. So for us, everything really starts out as a guess or an assumption about users or their behavior about, you know, what is upcoming in the market and research checks that, you know, our assumptions are correct or at least as close to correct as possible. And we try to do that as cheaply as possible, meaning quickly without spending more time on it than what we’re gaining in terms of the product that we’re creating. So an example could be our homepage at DuckDuckGo.com because our homepage has been around for as long as I think DuckDuckGo has been around, but has gone through many, many, many forms. We’ve done tons of A/B testing on it, showing one version of it to some users and a different version to other users. We’ve done a lot of user testing on it, like sitting down with actual consumers of the homepage or users of the homepage. Everything from discussing with parents how they perceive the homepage. So a lot of subtlety that goes into what we think maybe appears as a pretty simple layout or design.

    Beah: I had a little connection issue there for a second, but I think it’s alright. Let’s forge ahead. Sorry, audience. So, the homepage, I think, as you pointed out, sort of like deceptively, seems deceptively simple, it’s not highly functional software, it’s a page, there’s a few boxes on it, a field, but like what makes it so tricky and worthy of user research.

    Zac: Yeah, good question. Because it is kind of subtle, or I guess it doesn’t seem very obvious. So if you think about it, the homepage is really where we have a big mix of different user types coming in. Making any assumption about a part of our product usually means that you have to infer who is using it, meaning are they younger or older? Do they have a lot of context about what they’re doing or very little? So our homepage is actually a mix of different user types. There’s a lot of returning users who are very familiar with DuckDuckGo, they’ve been coming to it for a very long time. And so when they come to the homepage, it’s a pretty like rote act for them. The other group that really comes to our homepage a lot are new users or new visitors to the brand and product space in general. So they have maybe very little context about what DuckDuckGo is or what products we have. And so you can imagine, you have these two very diametrically opposite groups that come in, people who have a kind of a strong habit formation and muscle memory on how to use the page and then others who don’t have anything and they kind of, you know, maybe say meander or explore more than they are, you know, directly going to the thing that they know that they want. So what we learned over years of A/B testing, user testing, and kind of regularly reviewing what the experience is like for real people, we found something kind of interesting, if I can just generalize it, which is new users — like kind of people first visiting DuckDuckGo for the first time — really look at the center of the page. And if you see DuckDuckGo.com today, it has these two prominent boxes in the middle. It depends on the browser that you’re in or the form factor that you’re on. But primarily what we know is new users will tend, their eyes kind of follow the middle of the page. And so when they land, we really want to show them an overview or a good sense of what DuckDuckGo can do for them. Whereas returning users, people who’ve been coming back for a long time, tend to want to find the search box. And so we can, or at least we have some confidence that we can move the search box around, you know, the top of the page where it’s at now, to the bottom, to the middle. And if you’re a returning user, because you kind of expect or know that it’s there, you will more easily be able to hunt and find it. So the configuration that you see today, and maybe changes as things develop, really does to us strike a very good balance between new and returning user needs, both something that a brand new user can figure out and use efficiently and kind of get a lay of the land of what DuckDuckGo is and what we do. And then returning users can quickly get to the search box or other more mechanical parts of the product without too much friction.

    Beah: So how did we actually learn that? Like what testing methodology did we use? Can you walk me through it?

    Zac: Yeah, a lot of, I’m sure, pretty standard things for people who are used to product development, but A/B testing primarily. A couple years ago we were running, I think, like at least one A/B test of the homepage, like one alternative version of our homepage every week for pretty much the entirety of 2024, 2025. That year we had a ton and tons of homepage tests. And then independent of the actual A/B experiments that we’re doing, we will regularly run diary studies. So recruiting 10 to 20 DuckDuckGo users or other different user types, even non-users, to give them some background on the product. And then really give them a chance to use it for multiples of weeks and have them do journal entries and take notes of the things that they’re running into that they’ve experienced that are emotionally supercharged or maybe had caused some great duress in how they tried to use the product. So anything that’s really notable to that user can come up in a diary study. What we’ve also done in the past is to try to create alternative versions of our homepage from designs or a design system that we can give to users to play around with in real time. So we can actually simulate what an alternative version of the homepage might look like and how it should act and give them a clickable prototype that they can use, get some feedback before we ever invest too heavily in the platform. So it’s been a mix of really just doing a lot of testing pretty much every week since the conception of the company on some run. The homepage was a big focus for us for the last few years to try to nail something that could eloquently show what all of our kind of product offering is between search and now the expansion into Duck AI and of course the apps and email and other things.

    Beah: Yeah, so like there’s like, sounds like we’ve been marrying, and I think we do this elsewhere in the company, a mix of like quantitative research where we get to hear how people think, you know, people who are opted into some kind of study with us, like we actually get to understand what they’re thinking, what they’re doing in some detail and then just like quantitatively looking at results in an A/B test.

    Zac: Yeah, absolutely. And probably the maybe thing I didn’t say was we were very active on our social media. We point most of our users, at least if you click around our website, a lot of things point to our subreddit, which is reddit.com slash r slash DuckDuckGo. If you have product feedback, if you run into a product issue. So we do try to, and we have lots of people here that every day are checking comments or posts to that subreddit just to see if we released something and it’s causing some undue user harm. Tons of feedback boxes around our SERP, like the search results page within the app. And so we’re constantly trying to encourage that if a user has a negative experience, they’re able to get it pretty frictionlessly by a message to us. So we’re looking at social media, we’re really running really structured user tests, like intentional user tests, A/B testing and just kind of a what they call dogfooding or like internally using the product a lot and trying to be very critical about our understanding of what users really need.

    Beah: Yeah, I’ve said it before and I’ll say it again. If you’re writing feedback to us, a human is probably not just reading it, but like taking it to heart and thinking about it. So, um, how about like, tell me what are the privacy considerations? Can we do these experiments in a way that respects user privacy anonymity? And does that throw any monkey wrenches into the testing mix?

    Zac: Yes, truly. Yeah, good question. Yes, it has, it continues to, but we continue to have a lot of really intelligent people here that think and care a lot about it. So over the years, we’ve gotten a lot better at developing methodologies that allow us to consistently protect and respect user privacy while getting some of the analytics that we would want from robust A/B testing. So we do this through local storage or through consumer opt-in notices. So for example, if we have a survey that we show you on our SERP, we will have like a pretty robust disclaimer there that says this is anonymous or the responses maybe are going through a third party if it’s something like SurveyMonkey that we use for collection of survey responses. So very upfront to the user and very much building the engineering that is required to do anything that’s an A/B test or more like metric tracking in a privacy respecting way. And we’ve gotten a lot better at this over the years, but it definitely takes a lot of toil and discussion internally with data science and really good product folks like yourself to understand what things you just can’t get from numbers, which is a lot of like how the product feels to people and that’s where we come back to the qualitative research a lot. Getting, you know, FaceTime with actual people to hear what their experience is like and hearing in their words gives us the why to the what that we get from the metrics. So for as much as we can measure something, we don’t really know why it’s changing or what that we were making about a user behavior and how it’s actually playing out. So for those, we do tend to get or try to get face-to-face with users and recruit them either through our own product. If you see a survey and have the option to, you can connect with us at the end if you’d like to share an email address that we can reach out to. And again, those are all done within the in accordance with our privacy policy or the policies of the platforms that we’re providing them. So it’s been a long road, but we think we’re in a pretty good position now to be able to test most of the things that we would ever want to test with a pretty high level of accuracy.

    Beah: Nice. You kind of touched on this, but like who’s the we? Like who’s actually doing running these tests, writing these questions.

    Zac: Yeah, so when we started the user insights team, as maybe the long answer to this, and we started the user insights team, it was because everybody was doing testing at DuckDuckGo with product folks, engineers, and we were, as I’m sure you know, but for the listeners, like we’re a very validation heavy company and we care a lot about the assumptions that we’re making to make sure that we’re working smart and we’re a small company relative to the other larger competitors out there. And so we have to be a little bit more intentional and I should say, like, careful about how we approach things. And so when we started the insights team, it was really on the basis of everybody at this company doing some level of validation. And we wanted to up level or make sure that there was a baseline level of excellence that went along with that. So the short answer to your question is everybody here does some level of user testing. I think you yourself have probably done more than I have, at least in the recent past. Because it is a part of every conversation that we have. And so we have this formal team that we call user insights that tends to do the higher risk or the more robust or deeper research that takes somebody’s full attention for maybe multiples of weeks. But if you’re a member of the product team or engineering or you’re on the copywriting team, you yourself should have, I hope, the capability and tools to go out and do any validation that you would have to do today. So I can take a guess. There are probably five to ten people I can think are running an active test right now on something like usertesting.com or PickFu. or something that’s a pretty light way to free up a future discussion if you can provide some data ahead of that meeting or wherever that discussion is taking place.

    Beah: Yeah. And one of things that I think is cool is the user research team, like part of their, the team members, part of their job is running the research, but part of their job is making other people, like enabling other people to run the research. So even like if I’m running a test, like I can get support or help from somebody on the team to like check it, make sure the work was good, to understand the tools that I need and so forth. Okay, I think that was a great, I bet that’s probably not true everywhere and a good, interesting answer, but before we close, anything we didn’t talk about that you want to talk about, especially anything that’s in the surprise column or might be unusual about how we work at DuckDuckGo.

    Zac: I think there’s a lot of stuff that we do and usually at DuckDuckGo I think most of it’s probably for the better and certainly the thing that I can keep reiterating is just how much we all care about users. Obviously the, you know, dedication to privacy that we have comes from a place of wanting to be treated better as people and consumers ourselves but in the way that we approach research I think the heart of it is getting to how people really feel about the product and whether or not it’s a compelling experience. So for all of the metrics that go up or for positive feedback that we’re getting, I think we really strive to know why. And some of the interesting things, I was just trying to rack my brain earlier about some things that have come up that might be worth sharing. And certainly, like, you know, we have a bunch of layers around the company that do either social media listening or user testing. But where I think this really comes out is when we’re shipping a product, we have a final stage in our internal process where we can kind of all see the changes that we’re making. We call them ship reviews, but we tend to dogpile in and see UX changes or copy changes that we’re making and have an opportunity to really look for confounding evidence or a contradiction that might help improve that thing. And so this process that we have actually does involve more people at the end than it does at the beginning sometimes because we’re asking that if you can improve something or if you have positive or if you have any meaningful feedback about something to jump in. So something that I think people would be surprised to hear is that even though teams tend to work on individual projects here, anybody from the company can show up during the process of creation of product and leave their own feedback and have like a real impact on the outcome of what that project is doing or the direction that that product is going, which is I think really interesting.

    Beah: Yeah, one thing that we’ve been doing. Yeah, no, go ahead. Go ahead. Zac, please.

    Zac: Independent of that, we found a lot of the subsegment. I’m sorry. There’s a little glimmer. Sorry, you’re, yeah, you’re, you got it. You’re, you were frozen. You go. I’ll stop. I’ll start my next table.

    Beah: Okay, the listeners are gonna love this part. I was gonna say in ship reviews at that sort of last mile before we ship, one thing that we’ve been doing that I think we’re building maybe more muscle around now that I think’s been really good is like if we have some internal difference of opinion on like the best way, you know, some detail that we’re like, oh, this didn’t make sense to me, but it made sense to me. User research team members or anybody really is like trying to jump in with some, as one of your team members coined it I think, punk rock research — like really quick, like you know three-hour turnaround, like let’s get some data points to help unstick the conversation and and like base this decision as much as possible in empiricism. And like, you know, doing perfect research is very, very hard, but doing like, you know, imperfect research with known caveats can be quite, quite fast and productive and I love that trend that’s happening now.

    Zac: Yeah, yeah. And the tools are getting a lot better. Certainly, I think as we see AI develop and get more integrated and things become automated, things that we’re looking at now are things like synthetic user panels, which not to get too technical is just using AI to simulate as best as it can what a group of or a segment of people might say. And so with that, you can imagine doing a lot more testing or even having it automated so that you don’t have to do it and you just wake up to the results from them. But of course you have to make sure that the output of this automation or of the AI is actually reflective of the underlying user base that it’s supposed to be representing. And that’s like a constant challenge for us. It’s the same thing that we’re dealing with here. When we ask or get results from something, you know, we can’t take it as truth. We have to take it even still with a grain of salt despite the validation and continuously validate. After we launch something, you shouldn’t be surprised to see that even if it was really positive, we might come back and try to change it again a couple months later if we have a really good idea.

    Beah: Yeah, or a couple of weeks later. When you’re talking about the synthetic user testing via AI, like user testing script, like what would you do on this screen, AI — like that’s a great question. Excellent point. I hadn’t thought of that. What I would do on the screen is…

    Zac: Yeah. It’s saying you’re not trying to do something on the screen, you’re trying to do something on the internet. That would be the phrasing.

    Beah: Alright, awesome. Well thank you, Zac. I think we covered a lot of ground. Appreciate it. Pleasure as always talking to you. See you around the DuckTales hood.

    Zac: Thank you. See you at the office. Bye.

    Beah: Bye.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    20 min
  • Duck Tales: How DuckDuckGo provides useful “near me” search results, while keeping your location private.

    In this episode, Greg and John (Search) discuss local search results, and how we help you find local cafes, restaurants, and business, without knowing your precise location.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    Greg: Hello and welcome to DuckTales where we go behind the scenes at DuckDuckGo and discuss the stories, technology and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering or approach to AI. I’m Greg. I work on the search engine here at DuckDuckGo. With me today is John. John, would you like to introduce yourself?

    John: Hi, I’m John. also work here at DuckDuckGo on the search engine and I’ve been focused on working on local search for most of my time here.

    Greg: Awesome. Yeah, that’s kind of what we wanted to talk about today is local search. And so I’m looking forward to chatting with you a little bit about how local search works, how we do it at DuckDuckGo and get into some of the challenges that we have as a private search engine and how we solve those. Local search generally, it’s kind of maps related searches. whether you’re searching for places, businesses, restaurants, those kinds of search queries we kind of call local searches. We have a couple different versions of a map that shows up on the search results page. When you do one of those searches, either you’re searching for something kind of in a city and you put the name of that city in your search query, or if you search for something near you, have ways to provide those results. still in a privacy preserving way. So maybe as a starting point, I thought it would be good to just, if you could walk us through a little bit of the life of a local search query, how it goes from kind of something the user has submitted to us to what we decide to show on the page.

    John: Yeah. So we start with a, we get a user query. So somebody type something in and sends the query to us. And we try to figure out whether that would benefit from some sort of mapping information. So maybe the query contains a number and a few words and then drive or street or road. And you know, that looks like an address. So we’ll show a map of that address. Other common patterns are, you know, common. types of businesses like restaurants, hotels, cafes, and those sometimes come in with location indications. know, cafes in New York City or cafes in Paris. And sometimes they don’t, sometimes it’s just cafes or cafes near me. So we kind of have to handle both those types of situations. And the ones that are nearby are really kind of the more interesting ones. because we have to find a way to figure out where Nearby is for the user. And we have to do that in a very privacy-respecting way because that’s our whole thing. So the browser, the web browser that you’re using will send a location. But we don’t just straight up use that because we deal with lot of partnerships where we have to get some data from our partners at Apple and TripAdvisor. And we don’t want to just send them raw user locations because that is a privacy issue. So what we do is we’ll kind of add some noise to it. So if you say you’re at, you know, this exact location in a city, instead of sending that, we’ll move you a little bit. Depending how big the city is, we might move you just a few hundred meters. If you’re way out in the country though, where maybe you’re our only user for miles, you know, we might move you a few miles. And so that... can affect your results, makes them a little less accurate, but we think we do it with as little noise as possible to get you a lot of privacy benefit while still giving you results that are hopefully very accurate to the location you’re interested in.

    Greg: Yeah, so there are a couple of things in there that I think are interesting to talk a little bit more about. when you kind of described how we add noise to a user’s location, there’s a lot of documentation, by the way, about this, if you want to read more on our help pages. But I’m wondering how we think about the kind of trade-off between making sure that the results are still good and the way that we’re obfuscating someone’s location is sort of sufficient from a privacy standpoint. So maybe you can talk about the first part first. How do we think about the quality of the results and whether or not we’re showing the right local results for someone when they do one of those nearby queries?

    John: Right, yeah, we have a lot of criteria that we check against before we show results to users. We’ll get a whole bunch of options that might be relevant to the query. And if you’re searching for a cafe, maybe a restaurant is relevant, but probably a hotel is not so relevant. And so we may make sure we get the category right first. And then we also want to make sure the location is correct. And because we’re dealing with partners, they might give us some locations that aren’t as relevant just because we don’t give them as accurate of a location. And so we’ll kind of refine those on our side without sharing some of that information with a partner to say, you you gave us this location that’s 100 miles from the user and that’s maybe because we gave you the wrong location on purpose. And so we’re not going to show that to the user, but we will show these other locations that are actually nearby and relevant to the users.

    Greg: Got it. Yeah, and then, I mean, even, you know, sometimes when there is a location in the query, it could be one of those that is still ambiguous to us, right? I think a lot about the difference between Paris, Texas and Paris, France. Users don’t always clarify what they mean. So we have to try to figure that out based on context too, right?

    John: Exactly. even some locations that are very well defined. If somebody says New York City, that’s just one place that we’re going to look. But New York City is huge. just determining which part of New York City is maybe the most relevant to send to the user is another challenge that we have to figure out.

    Greg: Yeah, and I mean, just we’re sort of riffing on these now, but, you know, if you search someone searches for New York pizza, right, that could be they’re looking for a pizza restaurant in New York City, or they’re looking for a restaurant near them that serves a New York style pizza. So, yeah, all kinds of things that we have to sort of contend with and try to figure out to give those right results. I’m wondering if maybe we could talk a little bit more than about. the different types of ways we actually display the results once they appear on the page because we have a couple different versions of our local modules that we show depending on the type of result and the number of results we get back. So I’m wondering if you’d say a couple things about that.

    John: Yeah, we have many different ways to display based on what the user is searching for. As I mentioned earlier, we have a special address display if you’re just looking for a map given a location. That’s a pretty bare result. It’s mostly just a map and the location label. Some more popular landmarks, we have a special display for that where you’ll get the map and if it’s the Eiffel Tower or something like that. Then you’ll get a picture of the Eiffel Tower and a little description that we sourced from. Wikipedia and then there’s a business searches is the next big category and those are kind of divided into two as well if you’re searching for a very specific single business like, you know Joe’s cafe and Las Vegas I don’t think there is a Joe’s cafe in Las Vegas maybe there is Then then we’ll just show you that one Joe’s cafe ideally, you know, we don’t want to show you Bob’s cafe That’s also in Vegas or Joe’s cafe. That’s in Idaho or something

    Greg: There might be.

    John: And then there’s the sort of category or chain type businesses where if you search for Walmart or restaurants, we’ll show you a big listing of businesses and where they are distributed on the map to let you kind of click in and explore more if you want to do details about each one individually.

    Greg: Got it. And then that’s gonna vary too based on the category of the result, right? I think we have some kind of special display for hotels as well.

    John: Yeah, we’ve just kind of introduced this and I can share this real quickly because I think it’s a pretty cool feature. So just recently we’ve added some pricing indicators. So if you’re searching for a hotel, you probably want to go stay at one of these hotels. And one thing that is important about staying in a hotel is how much is it going to cost and is it available at the time I’m traveling. So we’ve got a new interface. We just released this last month where you can put in your check-in dates, check-out dates, how many people, and it’ll tell you a pricing estimate of how much it’s going to cost for those dates. And then once you click into it, you can get different offers from different providers. So you can get expedia and go through and actually have really easy access to booking one of those hotels that you’re interested in.

    Greg: Awesome, yeah, I think this is a really good example of something where it’s a new feature that we’ve added that captures a particular use case that we know users have. mean, that we ourselves as users of a search engine have when you’re booking a hotel, trying to make it easier for users to complete the task that they’re doing, not necessarily just kind of see the different results. I’m wondering, maybe you could talk a little bit more about some of the other challenges around those additional use cases or business data that’s important for us to show and how we’re thinking about that and how we see that evolving over time.

    John: Yeah, we build this feature on a few different really important partnerships with Apple, Yelp, and TripAdvisor being the main three. And we use those partnerships to give us all sorts of data about different businesses. Yelp gives us lot of information about restaurants and new service businesses, shopping, stuff like that. And then TripAdvisor gives us hotel information and information more about that. attractions, know, museums, theme parks, stuff like that. And we’re trying to push more into using this data to give the user a lot richer experience. Some ideas, you know, including menu links for restaurants, giving the ability to order food or serve tables, call us a service business, you know, if you want to plumber, you can get it like kind of a quote directly. And all those are kind of ideas that were pushing for and hope to release soon.

    Greg: Yeah, definitely. There’s all kinds of different use cases that people have with businesses. know even just knowing the hours that the business is open, right, is so important. And these are things that users ask about all the time. I think if I had to pinpoint one big challenge with local in general, it’s just that the coverage for the business that the user cares about in that particular moment is so important. And so we’re constantly trying to figure out ways to expand that coverage and make sure we have the right information about as many businesses as possible.

    John: Yeah, exactly. We’ve done a lot recently also in terms of taking user feedback because, you know, we found users get very upset if we send them to a business and we got the hours wrong and the business is actually closed or they try to call a business and it’s the wrong phone number. So we’ve taken a lot of steps to submit or solicit feedback from users on when we get it wrong and then forward that upstream to our partners so that they can correct it and we can correct it and everybody gets a better experience.

    Greg: Of course. Yeah. Yeah. Yeah, definitely. I want to emphasize, if you as a user send us feedback that, know, hours are wrong or, you know, an address or a phone number, you know, we take all of that in and do our best to forward that to the source of that data and also make sure we’re not showing it to other users and kind of getting better and better at correcting that over time. Cool. Well, we’ve covered a lot of ground. Anything else you think is worth sharing and talking about with respect to local search?

    John: nothing comes to mind straight away. I’m hoping we can keep working on the product, making it better. think we’ve got some good expansions in the future. Some more, pie in the sky ideas we have of, you know, moving to something like a flight search or something might, come into later on. and yeah, just hoping to keep making the product better and getting users what they want and giving them the right information as quickly as, as easily as possible.

    Greg: Yeah, definitely. All right, well, it was really fun chatting with you about this today, John. Thanks for taking the time. yeah, maybe we’ll have a chance to talk more on a future episode about other search-related things. But yeah, thank you.

    John: Thanks for your talking.

    Greg: Bye.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    15 min
  • Duck Tales: How DuckDuckGo uses data science to measure marketing effectiveness, privately (Ep.29)

    In this episode, Cristina (CMO) and Baran (Data Science) discuss our privacy-first approach to marketing measurement, the role of incrementality, and how the team operates day to day.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    Cristina: Hi, and welcome to DuckTales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering approach to AI, or how we operate as a company. I’m Cristina on the marketing team, and I’m here today with Baran on the data science. Would you like to say hi?

    Baran: Hi everyone.

    Cristina: So for our viewers, if you’ve already listened to episode 9 with me and Chuck, you know that, like our product philosophy, privacy is core to the ethos of our marketing. And most of the common marketing practices we just don’t do, identifying and targeting individual users, retargeting, using behavioral data, using third-party cookies and pixels, all that, all hard nos. We have very thoughtfully developed privacy-respecting measurement that is a bit unique, but includes techniques that I think and hope all marketers can adopt. Thankfully, we’ve come a long way from when I was doing the campaign analysis. And thanks to everyone’s data science background, we have much more sophisticated techniques and models. And I’d really like to dive in on a slice of that today. So first question, most companies measure their marketing through attribution, tracking who clicked on what and then installed. We sometimes do a version of when it’s possible to in aggregate and anonymously of course, but can you explain how does it work for us and is that even the right question to be asking?

    Baran: Yeah, thank you, Cristina. On one hand, we have a self-built, simple and privacy-respecting attribution. And on the other hand, we have a few channels who do their own attribution. But with both of them, we have three issues. One, only a small percentage of our total impact through the campaigns is captured by attribution. Let’s take the most obvious one, TV campaigns. There might be a QR code on the screen, but most people would just go to the app or Play Store to download the app instead of scanning the QR code. And then it doesn’t work on all channels. Many channels only support the industry standards, more privacy in ways of attribution methods, not necessarily what we built. And third and most importantly, which is also valid for all other companies, is attribution is not the same as incrementality. It measures who clicked, but not which channel actually caused, let’s say, a metric like an install. And the real question is actually incrementality.

    Cristina: Okay, so then if attribution doesn’t answer the real question, how do we introduce incrementality and how does that answer the question?

    Baran: So ideally it would be A-B testing for incrementality for a channel within a channel’s advertising platform. But there is no way to do this. Channels don’t provide this. It could also be because this would make it very easy for marketing teams to understand the incremental impact. The closest thing we can do is randomized GeoLift tests.

    Cristina: Okay, so incrementality is a concept I think a lot of marketers are likely familiar with, but to make sure everyone’s on the same page, can you walk us through what one of these tests actually looks like for us?

    Baran: Yeah, we can take all the geos in a country, for example, if it’s the US, we have the DMAs, they are like New York, Los Angeles, we would randomize them into two groups of test and control. While doing this randomization, we will optimize for comparability between the groups in terms of the metric that we’re interested in measuring, such as installs. And then once we have run the test, let’s say the test would be launching a campaign in the test geos, we would use the pre-period of the campaign to measure the relationship between these tests and control groups aggregated metric. And then for the campaign periods, we would use that relationship. And then based on the control geos actual metrics in the campaign periods, we would estimate what we call the counterfactual, what we expect the metric in the test group to look like in the absence of a campaign. And the difference between the actual test results minus this counterfactual would give us the causal impact.

    Cristina: Okay, I think that’s pretty clear. When the test is done though, what kind of answer do we get? Is it as simple as it worked or it didn’t?

    Baran: Yeah, so it’s not necessarily binary significant or not. In this case, unlike product tests, significant would mean the channel had a significant impact on installs. But maybe it did, but maybe it was too expensive. What matters is, for example, metrics like a cost per install and especially an uncertainty around this metric. If the uncertainty is narrow, we would have high confidence in the result. If it’s wide, we would have lower confidence and take decisions based on this uncertainty. And we do these by using Bayesian methods, which is helping with better decisions than a simple yes or no.

    Cristina: Got it. So if we think this is the gold standard, why isn’t everyone doing it?

    Baran: I think the main reason is the operational complexity. A clean test requires ideally a full turn on or off in the test or control geos, and there’s multiple parties involved in this. Let’s say you have companies with a paid search team and you’d like to do a test on the paid search channel. It would mean they would have to turn off their channel and maybe they have goals that they have to hit.

    Cristina: Yeah, this is an interesting peek into our culture. So can you help our viewers understand why we typically don’t have these problems?

    Baran: Yeah, we have a small and unified marketing team. No one person or team is controlling a single channel. There are no, let’s say, siloed budgets per channel or channel group. There are no consequences if a channel stops. Let’s say if we don’t run a certain channel anymore based on test results, the people running these channels would switch to another channel, which makes more sense. And also lacking more sophisticated attribution make it even more important to run these randomized GeoLift tests. So in this case the necessity actually becomes a strength from the marketing data science point of view.

    Cristina: I like the way you position that we turn a bug into a feature. We’ve had to get creative and develop marketing and data science methods that respect user privacy while still giving us the insights we need to make data driven decisions. I think it’s not just about what we do. It’s how we do it. That sets us apart. Our approach to marketing is as unique as our product philosophy. So what was it like the first time you ran one of these at DuckDuckGo?

    Baran: First time it was also a new experience for me, because I was also used to from previous work the operational complexity part. When we first discussed about turning off a channel, I was very amazed when the team said, okay, let’s just do it, let’s do it like this week, next week. There was no conflict, even though it was a high scale channel, nobody worried about their goals. In the end, the results were not favorable. So we ended up significantly cutting spend and optimizing the campaign from those results, and since then we repeated this approach many times.

    Cristina: I think that’s a great example. I like to think of us as a somewhat nimble team. And yeah, one of our core values is questioning assumptions. And this marketing experiment is a clear example of that. I really appreciate how we’re not territorial. We’re very much of all on the same team kind of mindset. So you get the results, then what happens?

    Baran: So if it’s a new channel, let’s say we ran it for the first time, either if the results are favorable, we might scale it up, start running it further at scale, we might keep testing if the results require some optimizations, or if the results really out of hope, we will just stop further testing. And if it was an existing channel, let’s say we turned it off in the test geos, then depending on the results, if the results were not favorable, we might adjust spend, change our, let’s say, target cost per 1000 impressions or another metric that the channel allows, we might further optimize or if the results are more favorable than we thought, we might increase scale.

    Cristina: Sounds like a lot of work. Do you have to keep running these tests every time?

    Baran: Yeah, that will be very difficult, but quick answer no. Let’s say a channel, a digital channel has a meaningful attribution rate. Let’s say if a channel claims y attribution, it has, let’s say 100 installs. Then we run this test, we see, actually we measured 50. Then we would call this 50% the channel’s attribution rate. And as I mentioned, we were using Bayesian methods. We will also measure an uncertainty around this. Let’s say 50% is the point estimate. Our full uncertainty is from 40 to 60%. We would apply this ratio to ongoing attribution data that we get from the channel anyway. And we would monitor without retesting it. But of course, this attribution rate could be subject to change. If there’s a material change, let’s say a major shift in the creatives, a structural change in the placements of the channels in the age groups and so on, then we would retest.

    Cristina: Interesting. So what about for bigger campaigns like TV, where it’s not possible or cost efficient to turn it on and off in specific regions?

    Baran: Yeah, very interesting. Like if you’re running, if you would like to run long big TV campaign, we wouldn’t like to limit our scale by just using 50% of the geos or even let’s say using maybe a lower percentage as a control group could be very difficult due to how these channels operates. We use media mix models to measure the impact of such large channels. As other companies, we modulate spend from week to week. We have on and off periods, but the challenge there is TV is not the only channel that is running. We also have other smaller or digital channels that are too small to model within the media mix model directly. Here is again where the randomized GeoLift tests come into play. Same principle, we use a Bayesian model where we include digital channels using their attributed installs as the inputs. And we don’t need the model to guess everything. We already have our high-confidence measurements from the randomized GeoLift tests, and we can put those attribution rates along with the uncertainty as Bayesian priors into this model. So in one unified model, we capture everything.

    Cristina: So then how do all the pieces fit together?

    Baran: Yeah, this is, we are doing the same thing that the industry agrees. Attribution, randomized GeoLift tests and media mix models go in hand. One of them alone is not enough. Some channels have the attribution, but attribution is not telling the whole picture. GeoLift tests are great, but it’s impractical to random all the time. And media mix models are great, but many channels are too small to be measured there on their own. And we’re combining them all together.

    Cristina: Well, thank you very much, Baran, for explaining part of how we measure campaigns. I hope it’s helpful and interesting to folks. And then more importantly, for your ongoing work, evolving our techniques to get higher confidence insights and decisions. We only spend marketing dollars on what actually grows the product, and we do it without compromising privacy. And frankly, we couldn’t do it without you. So thank you again, and we intend to keep you busy for a while. I so appreciate your time today and that of everyone who watched. So stay tuned for more episodes and bye for now.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    13 min
  • Duck Tales: The fire button, a delightful way to delete your browsing data (Ep.28)

    In this episode, Beah (Chief Product Officer) and Sveta (Design) discuss the fire button, the recent redesign, and how it improves both user privacy and delight.

    Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy.

    Beah: Hello, welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, the people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or our approach to AI. In this episode, we’re going to talk about the fire button. And I will be your host today. My name is Bea and I’m on the product team. And we have as our guest Sveta. Sveta, do you want to just quickly introduce yourself?

    Sveta: Yeah, I’m Sveta. I work on mobile apps at DuckDuckGo for now five years.

    Beah: Sweet. Thanks. And you’ve been, you’re a designer by trade, right?

    Sveta: Yeah. I’m on the design team.

    Beah: And you’ve been doing a lot of work to improve the fire button on mobile. And so that’s what we’ll jump into today. Okay, so first of all, let’s start with the basics. Like, what is the fire button? What does it do?

    Sveta: Right, so the fire button is a button that’s located quite centrally in mobile UI and it looks like a fire. And when you press it, it removes, it deletes all of your tabs and all of the browsing data and all of the history. So pretty much removes everything, all of the browsing activity and you can start from clean slate. And it also shows a really cool fire animation when you do that.

    Beah: That seems like a good prompt to actually show it. So let me see if I can share my screen here. Can you see that, Sveta? Okay, then hopefully our audience members can as well. Alright, so this is the fire button here. I’m just on a website, on NASA’s website. I’m going to tap the fire button. And so I have, what are these two choices here?

    Sveta: So the first, the primary button will delete all of the tabs, all of this data for all sites. And the second button is a choice to delete activity for only this one tab. So it will close this tab and will delete all of the site data associated with the sites visited in this one tab.

    Beah: Alright, I’m going to choose that one here. Delete this tab. Awesome. All right. I just, I wanted to only delete the one because I also wanted to show like if you’re using, if you’re a Duck AI user, this is a new feature. But if you’re on a particular chat, for instance, a chat about what music your dog might enjoy, you can hit the fire button and now you have this opportunity or this option to just delete this chat. So remove it from your chat history.

    Sveta: Nice.

    Beah: Boom. All right. let me get it shared on. Okay, I don’t think we’re sharing anymore. Cool, so like what is the benefit of using the fire button?

    Sveta: Yes, the primary benefit is privacy reasons, because as you browse the internet and you visit sites, you accumulate different site data such as cookies or different user preferences that then tracking companies can, if you accumulate a lot of it, they can use it to identify you and connect your browsing activity to you. Sell that information to other companies to show you targeted ads. And our browsers, we actually block most of the trackers and most of the cookies, but there are still some cases when we can’t do it. And then that’s a good practice to delete all of this data every now and then. And then the second reason is just still schooled and it makes you, lets you start your next session from clean slate.

    Beah: Yeah, I like how those two, they’re like different reasons to use the fire button, but I kind of like how they converge too. Like part of what feels good about a clean slate and not having like stuff everywhere is, I think for me, like not having your data everywhere, you know? Like it’s just clean, it’s like a sense of control and I don’t know, care, I suppose, that you can apply more easily with fire button. Like you can tell me if this is how you would characterize it. Like you can delete data in most browsers, but it’s just a lot harder, right? Like you don’t have a button front and center with just the options that you need, like one or two taps away.

    Sveta: Exactly. It’s usually tucked like hidden somewhere in the settings. I think it’s actually pretty cool that we managed to turn this really mundane and boring technical thing in a really satisfying experience.

    Beah: Yeah, and one thing I didn’t show is that you can actually pick between, I think, three different animations. Like the fire is the default animation, but there’s like this kind of nice swirly animation and all like water animation. And then you can also just turn animations off if like what delights you is speed and efficiency and not an animation. That’s cool. Cool. Tell me a little bit about like how the fire button has changed over time.

    Sveta: Yeah, so what the confirmation that we’ve seen just now, that’s updated design that we’ve launched recently. But for years, I think since we first introduced the fire button in our mobile apps, we just had this system, little system confirmation to confirm, delete all of your tabs and data that was very small in the bottom of the screen and it was really easy to press. And it was of course good for users who were regular fire button users because it was quick. But then there was also a big risk that you could just accidentally press it and delete all of your tabs and data without intent.

    Beah: Yeah, so if your intent was to blow everything away all the time, fine, great, it works great for you. But if you wanted to be a little bit more surgical about it and keep some tabs around, then it neither worked for you. It didn’t really work for you, and if you accidentally used it, you might really regret it.

    Sveta: Yeah, we did get some that obviously there’s if you’ve accidentally deleted all of your tabs without wanting you would write us an angry feedback, which we sometimes received you open it and you see all caps that chances are from someone who just deleted their tabs.

    Beah: Yep. So take note, dear reader, if you are writing angry feedback, a kind human like Sveta is reading it and taking it to heart. And so in this case, what did we do about it?

    Sveta: So we’ve changed a lot how the confirmation dialogue looks like. It’s bigger, that you’ve seen it. It takes a lot of space on the screen, so it’s harder to miss. We’ve on purpose moved the buttons a little bit high up. So when you press the fire button and your thumb is right above the fire button, the confirmation buttons, they are not on the same spot. And there is an animation, pictogram that also attracts attention. it’s just everything is made for you to pause, read the label, and make an informed decision. And then another big change is that we’ve added a second option because before you could have only deleted everything, all of your tabs and all of your data. And now we have a second option that you can delete just one tab and the data for that tab.

    Beah: Yeah, yeah, I love, by the way, like, I’ve developed, you know, I’ve been using our mobile apps for a long time, but I’ve developed this kind of workflow recently now that we have the single tab, single chat burn, so handy, we have this kind of, we’re in the process of updating behavior when you open the app after an idle period, we take you to a new tab automatically, so you can just start typing your query or your chat or whatever. I like realize there are tabs that I want to keep around, the things I want to keep around, but there are a lot of things that I just want to do a quick search, a quick whatever, and it’s just, it’s throwaway. And like now I open the app, I’m in exactly where I need to be, I don’t have to think do I want a new tab or do I want to, you know, override this tab? And then like when I’m done, you know, five seconds later, just doop, tap, burn that tab, and it’s just, I don’t know, there’s, it’s a very satisfying and efficient workflow for me for the I don’t know, 70% of things I do that are just quick interactions with the app and don’t require any kind of historical retention. So I love it, Sveta. Thank you.

    Sveta: I think there’s something interesting about this approach to delete activity from one tab, because in other browsers, the way they solve this problem, the task of deleting some of the data, not all of the data, they use time. So you can delete an activity for, let’s say, last 20 minutes or last hour, but then it deletes it across other tabs, all tabs. While in our browser, like you said, you just did one thing in one tab, and then we delete that one tab without affecting any other tabs.

    Beah: Yeah, yeah. I think it’s a great shift. Do you want to talk at all about the design process that you used with the team to get to these improvements?

    Sveta: Yeah, so our first hypothesis or first direction that we explored for this new mobile confirmation was the same approach that we have on desktop browsers where we have a list of options for users. Every time you press the fire button, you can choose, do you want to delete tabs or keep tabs, delete the side data or keep it. And that is a good direction because it gives most flexibility, but it also, we realized that in mobile context, just looks, it looks heavy. It took over the whole screen, the confirmation just, we were asking users to make these choices every time. We, well, in our old design where you had to only press one button. There was something nice about that privacy package. We gave users the most private option with one button pressed. So we decided to instead just add another option so you could either delete everything. With one button press or delete one tab.

    Beah: Yeah, yeah, I think it’s like the fire button is such a great example of a feature that has like, sort of delight elements to it that make it really satisfying to use and sort of goes above and beyond like what, you know, the basic functionality that users might describe themselves as expecting from a browser, like, but it does provide this like really useful functionality. And it, I think it’s like the process to keep both of those things true, maximize functionality that people want and keep it delightful in its simplicity and not add cognitive load to the user experience is pretty tricky and seems like something that we navigated well in this case and got to a pretty good outcome, I think. Do you have, have we gotten feedback or do you have any indicators, how do you know if it’s a good outcome?

    Sveta: Yeah, we do surveys for our new users and the last survey that we did, one of the questions, asked the users a specific question about the fire button and we’ve seen that the delight. I don’t remember exactly the question, but we ask if this experience is delightful. And that has increased compared to the old design. I think we will, I also see less angry feedbacks in all caps from users who deleted their tabs without wanting to. Something that was also a challenge in this project is that this balancing, making this confirmation easy enough for old users to not lose this effect of confirming quickly and deleting data with one tap, but also adding some friction to the new user so they will not accidentally delete it. Of course, we also received some feedback from the old users who thought the new confirmation was a little too complicated. But that’s the reason now think people are liking the new design.

    Beah: Yeah, I feel like that’s an ongoing challenge with changing our mobile apps, right? It’s like we have this pretty big band of DuckDuckGo mobile app faithful who have a particular workflow that works for them. you know, whenever you change it, there’s some risk that it irritates people by kind of just like messing with their workflow, even if it’s a net positive improvement. Yeah, I think the fire button’s probably right at the center of that challenge because people who use it really love it and it’s like probably a big part of their experience of what makes the app special.

    Sveta: Yeah, and we have a lot, have millions of users who use our regular fire button users, but we want more people to feel that this is something for them. I am actually, I wasn’t a regular fire button user because it was too distractive like my tabs, but now I also use it more often myself.

    Beah: Yeah, yeah, same. Totally. rarely used it. Rarely did I want to destroy everything, and so same. I mean, I wish I were that person that was just like clean slate every day or every use, but of course I have several tabs sitting around that are supposed to be reminders for something, so yeah, I love it. Yeah, I was gonna ask you what your favorite thing personally about the fire button is, but you just touched on something you like about it now, which is per tab distraction. Anything else you would add?

    Sveta: Well, when a few times when I do actually use the delete all app option and delete all of my tabs, I have to say it really feels nice. It feels like Marie Kondo, she came and cleaned all of my tabs and it’s a good feeling.

    Beah: Yeah, so sometimes you look at your tabs and you ask yourself, do they bring me joy? And if the answer is no, burn them all down. Yeah, nice. So anything that you’re looking forward to, like any plans to continue improving the fire button in the future?

    Sveta: Yeah, I think there’s lots of things we could explore and improve. We’ve maybe trying to see if we can find a new flow or simplify the confirmation for the regular fire button users. We’re also trying out something interesting on Android now where we’ve just going to launch to release this update. switching the buttons around and we’ll have burning, deleting the one top as a primary button. See if this would make this fire button feel more, less scary, less destructive and hopefully will make more people feel like that’s something for them. That will be interesting to see how that works out.

    Beah: Nice. Awesome. Anything that we didn’t get to that you want to add, Sveta?

    Sveta: I think, so I don’t think a lot of people know, but on our iOS app, you can actually customize that fire button. If you tried it and you’re sure that you want to use it regularly or not as much, you can long press and swap it for something else. You can also go to settings, appearance and do it from there. And if you do hide the fire button from the main UI, you’ll still have it in the main view. think that’s good to share. also, yeah, just to everyone, try the fire button. Give us feedback. We read it. It will help us. Yeah.

    Beah: Yeah, nice. No need to use all caps, but we do read and appreciate the feedback. Yeah, awesome. Yeah, and if you were like a, if you discounted the fire button in the past because it was too destructive, let this be your sign to give it another try. Now that we’ve made these improvements to it, I think you might really like it. Cool. Well, thanks so much for joining, Sveta. I really appreciate it. And thanks to everyone for watching.

    Sveta: can try with one tap, yeah, small steps. Thank you, was fun.

    Beah: and see you later.



    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit insideduckduckgo.substack.com
    20 min

About Inside DuckDuckGo

From the publisher's feed

Behind the scenes with the DuckDuckGo team — sharing insights on product, engineering, leadership, and AI.