Inside DuckDuckGo

DuckDuckGo

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

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

    قبل ٣ ساعات

    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 podcast@duckduckgo.com. 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 dashbo

    ١٢ د
  2. Duck Tales: AI in the DuckDuckGo browser — private, useful & optional (Ep.36)

    ١ يوليو

    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 podcast@duckduckgo.com 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 podcast@duckduckgo.com 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 alwa

    ٢٢ د
  3. Duck Tales: AI optionality, and why DuckDuckGo installs are up ~40% since Google swapped search for AI mode (Ep.35)

    ٢٤ يونيو

    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 podcast@duckduckgo.com 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

    ١٤ د
  4. Duck Tales: Voice-mode in Duck.ai. The private, hands-free way to chat with popular AIs (Ep.34)

    ١٧ يونيو

    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 podcast@duckduckgo.com 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 podcast@duckduckgo.com. 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 par

    ١٤ د
  5. Duck Tales: How we've made it easier to generate images privately in Duck.ai (Ep.33)

    ١٠ يونيو

    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 podcast@duckduckgo.com 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

    ١٤ د
  6. Duck Tales: Dax (our mascot) is coming to the physical world, on shoes, shirts, and security keys (Ep.32).

    ٣ يونيو

    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 podcast@duckduckgo.com 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 collabor

    ٢٤ د
  7. Duck Tales: The role of user research, A/B testing, and "dogfooding" at DuckDuckGo (Ep.31)

    ٢٠ مايو

    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 priva

    ١٩ د
  8. Duck Tales: How DuckDuckGo provides useful “near me” search results, while keeping your location private.

    ١٣ مايو

    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

    ١٤ د

التقييمات والمراجعات

٥
من ٥
‫١٣ من التقييمات‬

حول

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

قد يعجبك أيضًا