Inside DuckDuckGo

DuckDuckGo

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

Episodes

  1. Duck Tales: The internet’s privacy problem, and how DuckDuckGo is solving it (Episode 6)

    1 DAY AGO

    Duck Tales: The internet’s privacy problem, and how DuckDuckGo is solving it (Episode 6)

    In this episode, Cristina (SVP, Marketing) and Peter (Director, Product) discuss digital fingerprinting, privacy washing, and how hidden trackers appear in the majority of popular websites. Plus, the steps you can take to protect yourself online. 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. CristinaHi, and welcome to DuckTales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help provide privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, approach to AI, or how we operate as a company. Today, we’re going to chat about the online privacy problem and DuckDuckGo’s web protections. I’m Cristina. I’m on the marketing team. And today, I’ll be interviewing Peter. Peter, would you like to introduce yourself, maybe what team you’re on and where you spend a lot of your time? ⁓ Peter Absolutely. Hi, Cristina. I’m Peter. I’m on the product team at DuckDuckGo, which I typically work on our browsers and our privacy protection. So happy and excited to talk about the mystifying world of online tracking and privacy today. CristinaAwesome, likewise, well let’s jump in. So I think a lot of people would be surprised to hear just how much information about them is being tracked online. Some seemingly irrelevant to what they’re doing and some pretty creepy in how detailed it is and how all the dots are being connected. Can you give some examples of the pervasiveness of this tracking? Peter Absolutely. know, anyone I talk to about online privacy, the first thing they’ll tell me, and I’m sure you’ve heard the same, is microphones must be listening to them. ⁓ Yeah, everyone can give an example of a conversation in their household where not too long thereafter, they’re seeing advertisements, creepy advertisements, following them around online based on, you know, what it is they were talking about. ⁓ And the reality is the amount of surveillance that happens is like microphones are listening to you everywhere, but the methods are not actually microphones. The methods are actual trackers on websites, on search engines and browsers and apps, which we’ll talk about that are always collecting information about you. ⁓ So just to break those down a little bit, most people, if you think about someone in their daily life, they’re going to go do a search online, whether it’s on their smartphone or on their computer. The search engine that most people use is, of course, Google, most dominant search engine in the world. They collect basically anything and everything about you. ⁓ And so that search engine is one source of this data collection. And then ⁓ the browser you use to actually do those searches, often owned by some of the same companies like Google, ⁓ like Google Chrome specifically, these browsers also directly collect information about you. So if you’re not using a private search or a private browser, a lot of information is directly collected about you. But then, of course, after you do a search and you get onto a website, the websites themselves have trackers embedded in them. And specifically, we’ve done actually a lot of analysis on this. 85 % of the top websites on the web have Google trackers included in them, and about 36 % have Meta or Facebook trackers overall. And these trackers are pieces of code that run on the websites that send information about you, what you’re doing on the site, what products you’re looking at, what’s in your shopping cart, and so on to companies that are not the owners of the websites. The same is true of your mobile apps. So just as it happens, the surveillance on websites, it happens in your mobile apps. ⁓ In fact, 96 % of the popular top free Android Apps send data to third-party companies. And of those, 87 % send data to Google, 68 % send data to Guest It, Meta, and Facebook. Top two trackers overall. And then, of course, there’s other sources too. When you use emails, emails contain trackers. When you open them, little code fires. It tells the email sender when you open their email, where you were when they opened the email. And then there’s a lot of other scenarios too. Like if you go to the store, What do they ask you when you make a purchase at the store? Can we have your email address? And they say, oh, it’s for a loyalty program. You can get points or whatever it is. But the reality is they’re actually usually taking that email address and then directly uploading it to Facebook, to Instagram, so that they can buy advertisements targeting you later. And so you combine all this. And you have this pervasive tracking and then targeting that’s happening. that makes it feel like ultimately there must be microphones listening to you, but it’s just happening throughout your day overall. CristinaIt’s pretty chilling that I could be on almost any site or Android app or reading email or at the mall buying a new shirt and companies like Google are tracking me. So what type of information are they collecting? Peter So they’re typically after two sets of things. And when I say they, I use Google and Meta, Facebook as examples, but there’s thousands of other ad tech companies that are often in the mix trying to collect something about you as well. ⁓ They’re looking first for an identifier. So they want something that’s gonna be able to tie what you’re doing to an identity so they know who it is, or even if they might not know who exactly it is, they wanna know it’s the same person. So of course, email address could be an identifier, your name could be an identifier, phone number could be an identifier. Those are the obvious ones that they would want. And by the way, this is why so many websites try to get you to log in on those websites, often with your Google login, because then they can tie all this, whatever you’re doing on that website to your identity. And then of course, I think most people have heard of cookies, and seen cookie banners come up when they visit websites. Cookies are another form of identifier, might not be your name or your email address, but it is a unique code. And so that when these trackers that are across all these websites see the same cookie identifiers across those websites, they all, this is the same person. And so whatever you did on this site, we can link it to whatever you did on this other site. And then there’s a couple other identifiers such as ⁓ digital fingerprints, which really use information about your device, like your screen resolution and your battery, literally the state of your headphone jack on your smartphones, they piece this together into a digital fingerprint that is unique. And so if they see the same set of attributes about your device on a different website or different app, again, they can infer this is the same person overall. So that’s the first thing they want, identifiers. And then the second thing they want is something about you, behavior, interests, actions. ⁓ And so it might be as high level as Cristina’s into snowboarding. ⁓ But it could be as low level as the specific things that you had in your shopping cart, what you purchased in real life in Home Depot last week. ⁓ Whatever it is, they basically want to collect it, put it together into a behavioral profile that they can then turn around to advertisers and offer very hyper-targeting to these individuals overall. And just to give you a sort of creepy example, we’ve done a lot of studies on this with websites and apps. And we looked at health websites and health applications, ones where you may look up health conditions or prescription drugs. And we literally observe these trackers included in these apps or websites sending information about your health conditions, your sexual orientation, and even prescription drug information to third-party companies overall, things that people would be absolutely shocked to hear overall. CristinaThat’s definitely not information I want shared without my permission. ⁓ And while historically I might have thought something like, ⁓ battery life or headphone jacks, whatever, don’t care, when you start piecing it together to make this fingerprint like you’re talking about, yeah, it gets super scary. You know, I’ve heard some people say, ugh, it’s impossible to do anything when it comes to these giant companies and all these clever ways they’re collecting information. Anything I could do would just be a drop in the ocean. How is DuckDuckGo thinking about a user-led approach to solving the privacy problem? Peter DuckDuckGo, obviously, most people know us through our private search engine. And of course, our private search doesn’t collect information about users. That’s what sets it apart. And even our advertisements themselves on DuckDuckGo search are just based on what you’re searching for. But ⁓ we realized that protecting people in their searches is not enough. We needed to protect people’s privacy more broadly. And so that’s why DuckDuckGo introduced you some years back. ⁓ browsers as well. And so you could use our search and our browser to more broadly protect you. ⁓ Let me share my screen a little bit here just to show you a sort of comparison we put together. So we put together a comparison for people. I won’t go over all the details. feel free to take a look at this later, duckduckgo.com slash compare dash privacy. But ⁓ basically, when you’re trying to protect CristinaThat’d be great. Peter privacy broadly through all these threats I step through. You really need protections for each one of those threats and the methods of data collection. And so that’s what we try to incorporate into our browser overall. And so you’ll see our browser has

    16 min
  2. Duck Tales: More ways to customize DuckDuckGo — now you can exclude certain websites from search results (episode 5)

    22 OCT

    Duck Tales: More ways to customize DuckDuckGo — now you can exclude certain websites from search results (episode 5)

    In this episode, Gabriel (Founder) and Greg (Product, Search) discuss how we’re giving users even more ways to customize their search experience with site exclusions — an easy way to remove certain websites from appearing in search results. 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. Gabriel:Hello again, welcome to DuckTales, our inside DuckDuckGo podcast video thing. I don’t know what you call us exactly. Today I have Greg with us. Greg, you want to introduce yourself? Greg:Hello, ⁓ I’m Greg Fiorentino. ⁓ I ⁓ work on the product team here at DuckDuckGo. I’ve been here almost seven years, which is wild, time flies, ⁓ but yeah. Gabriel:That is a long time. And you’re underselling yourself a little bit. Yes, you’re on product team, but for the last while and for the future, you’re running our search engine, correct? Greg:Yeah, that’s right. Search retention, ⁓ I have worked across local search, the search ads, ⁓ lots of different things. ⁓ Gabriel:Sweet, and today we are talking about a relatively new search feature that we launched that people are liking. And you know what, I won’t even introduce it. I’ll leave you to share your screen and let’s walk through it. Greg:Sure. So ⁓ we now ⁓ have the ability to, ⁓ for users to exclude ⁓ individual domains ⁓ from their search results. So I’ll kind of show real quick what this looks like. Let’s say I’m doing a, I’m writing some code and I want to do a technical search. I want to figure out how to do an array of strings in TypeScript. Gabriel:Those who don’t know TypeScript is a programming language. Yes, right. JavaScript-ish. Greg:Programming language, yeah, yeah, yeah. Super set of JavaScript. So let’s say I want to know how to do this and I get a bunch of search results and I see some here. And some of these are sites I know and like, and maybe some of them I want to exclude. I don’t want to throw too much shade, but let me just pick one and kind of go. So let’s say I don’t want to get results from W3 schools. Gabriel:I’ve seen so many comments about people wanting to get rid of W3Skulls, not to throw shade. I’ve used W3Skulls before and I don’t find it that bad, but there’s a lot of people who seem to not like it who would probably want to remove it, so. Greg:Yeah I’ve used it too. Yeah. Yeah, and I would say, mean, this feature, I think, is particularly good for use cases like this, where there’s a site that maybe comes up a lot, and for whatever reason, a user has kind of a disposition that they just don’t want to see that site. We have other ways to accomplish this. ⁓ You can just put minus site and then the domain in your query. Gabriel:So you could do that for a long time, right? This minus sign thing. But this menu, which people don’t even maybe realize exists a lot of people, is relatively new, like maybe a year ago or something like that. Greg:Yeah, we added this menu a little over a year ago to all organics, and organics being these text results. And at first, And in fact, I can just show if I click this redo search without this site, you’ll see it adds that syntax right to the query ⁓ and excludes it from the results. ⁓ So we’ve had that since we first launched this menu about a year ago. ⁓ And it works pretty well. We got some good feedback about that when we first launched it. ⁓ We also added that menu to give us the ability to have users flag specific results ⁓ for a variety of reasons. So users can tell us about individual results that they don’t like if they click Share Feedback about this site. ⁓ But the new feature is that you can now choose to block this site from all results. So you don’t have to add that syntax to the query every time you want to remove it. So if I do that, you get this little message saying that it’s been blocked successfully. And I’m not sure if my screen is showing it, but you get a message at the top that tells you that you have one result hidden from a site that you’ve blocked. And you can also go into your settings and you can see the sites that you’ve blocked and manage them. Gabriel:Sweet and reception so far. don’t think, cause I think it was new. I don’t think we’ve done a lot of announcements of this yet. ⁓ by the curious, like, is it starting to get usage? Like that kind of thing. Greg:Yeah, we’re seeing a relatively ⁓ growing number of searches per day that use this block in some form. The vast majority are only blocking a single site. ⁓ We’ve talked about it little bit in a couple of places ⁓ on social and also just have users write in through our usual feedback channels to tell us about it. ⁓ You know, I think the theme here is that... We just are giving users more choice ⁓ in how their search results work. They can ⁓ do some level of customization to their own needs. ⁓ And so this is kind of another feature that helps to accomplish that. And I think that’s generally appreciated. There are some limitations also to this that we’ve heard about too, and we’re thinking about how to make it even better. But yes, growing usage and some positive results. reaction so far. Gabriel:Sweet, yeah, I agree. We’ve been doing customization for a long time. mean, like this, the settings screen you’re just showing shows how many settings we actually support in terms of customization, which is a lot. And it reminds me of the AI filter that we also recently launched to remove ⁓ some AI image search results. ⁓ This, like you said, it’s a little different because it’s more like... specific domains that are coming up a lot that you really don’t like. ⁓ But yeah, I’m curious, like, given the feedback so far, and I remember now seeing several subreddit people finding it and posting positive things about it, subreddit posts. But yeah, like, where are we thinking of taking this in the future? Or like, are there other features, kind of like the AI one that kind of merges or circles around this same idea of like removing things? Greg:Yeah, there are a couple of things. mean, you know, as a starting point, we had a limitation of five domains, up to five domains that users could do. You know, part of that was based on this hypothesis that most users really would only want to block one or two, which I think is what we’re seeing. We have had people ask us for more. We’re exploring how we would do that. You know, these things are always... Gabriel:In pause of that, partly a couple follow-up questions. One is, it’s client-side now, right? Like, you’re, you block the domains, you’re actually getting the results back, but then your client is removing them based on your settings. Greg:That’s correct, yeah, the result is there, it’s just not shown. Gabriel:Got it. And the second thing is like, I think we were also talking about like, if you remove too many, that’s probably the way I put the message up. Like you may actually want them sometimes when they’re really relevant. And then if you remove tons of domains and then you remove actually good stuff sometimes, then you’re going to think our search results are terrible because you actually removed stuff that was important that one time. Greg:That’s right. One of the things we tested when we built this was how often do we see just a page of all the same domain, such that if a user removed that domain, they would get a no results page and think that the search engine was broken. ⁓ Gabriel:You’re like, no results that time, yeah. Greg:It’s not zero, right? If I, for example, typed in, you know, I wanna see something on W3 schools from that example from a minute ago and got all results from there, it would just be an empty page. So we wanna be able to say, hey, you’ve made some customization here that’s hiding some results from you and you have the option then to see them. Gabriel:But nevertheless, we’re, I we set five initially, but we’re thinking about increasing it at least a little bit. Greg:That’s right. They’re also, ⁓ right now they only apply to those organic texts. link results. We’re looking at expanding that to other kinds of content on the page that it should also apply to. ⁓ And there’s potentially overlap with the AI image feature that you talked about. ⁓ Certainly, there’s some use cases around ⁓ news or videos or other kinds of content that users might want to have a little bit more customization around. Gabriel:And it’s also, I it’s also possible that, you know, similar to the AI image list, we could use a kind of organic AI list to have a different feature, but a similar kind of toggle to like remove AI organics or something like that. Greg:Yeah, that’s definitely something we’re looking at too. I mean, it’s a similar kind of ⁓ challenge and part of the challenge there is just that there are so many new sites kind of popping up every day. ⁓ And so this feature is less geared around that. I would put that in more of the sort of... ⁓ spam category, results that are ⁓ things that maybe very, very rarely get clicked ⁓ on, very fresh, ⁓ but not a ton of original content. ⁓ There are potentially other things that we wanna add on top of this feature to kind of supplement that and help users not have so many of those showing up in their results too. Gabriel:I guess related to that, I you showed the menu where we have, and you could submit feedback. think we’ve also, I mean, you could submit feedback there that it’s a spam site. I think we might’ve also recently added, you could submit that it’s an AI spam site, but we actually use that information. And to the extent that we ultimately make a feature that might toggle off some of that, like we would use that feedback. So if you’re ou

    15 min
  3. Duck Tales: Delight at DuckDuckGo — and why we’ve created 350+ versions of our mascot (Dax the Duck) (Episode 4)

    15 OCT

    Duck Tales: Delight at DuckDuckGo — and why we’ve created 350+ versions of our mascot (Dax the Duck) (Episode 4)

    In this episode, Gabriel (founder) and Beah (VP, Product) discuss functional and non-functional product delight, how we’ve created 350+ versions of our mascot (and counting), and why AI is so bad at adding mustaches to Ducks. 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. GabrielHello again, welcome to Duck Tales. ⁓ I think this is gonna be episode four. Hopefully it’s getting better. Today I am not interviewing Beah. Beah’s actually gonna interview me about a feature that’s fun that I think you’ll enjoy. But Beah, you wanna introduce yourself? BeahSure. I’m Beah. I’m on the product team here at DuckDuckGo. Been here about six years. So seen a lot of things that have happened in recent DuckDuckGo product history. I, Delight is a favorite topic, a theme of mine. So I’m glad to be doing this conversation. GabrielYes, indeed. Yes, speaking of the light, my favorite dog is behind you. Because I don’t have a dog. Well, I don’t have a dog, and it’s the dog I interact with most. Friday. BeahHe’s your favorite. Certainly the one that attacks you the most, playfully attacks you the most. Yeah. Yes, that’s that’s Friday, everyone. He is usually not so low energy as he looks right now. GabrielThat’s true. Yeah. The bar might be low. But yes, so I forgot to say DuckTales is obviously inside DuckDuckGo, behind the scenes kind of information about things we’re doing and how the company works and features we’re building and all that kind of stuff. ⁓ And as you noted, we have a delightful feature ⁓ that we’d like to talk about today. But I worked on it, it was actually part of Hack Days. We had a previous episode, it was also a feature came out of Hack Days. But yeah, shoot some questions at me and I will respond. BeahSure. Tell us the origin, Gabriel. How did you come to decide to work on this? GabrielYes, so what are we talking about? First of all, if you ⁓ search some special words, often characters like Spider-Man, Batman kind of thing, ⁓ the logo, our logo, Dax the Duck for those people don’t know, will change and he will be costumed ⁓ in that character ⁓ in the little logo on the search engine. We actually did this a long time ago. So we used to do like our version of Google doodles or whatever on the homepage. Maybe like literally 15 years ago at this point, ⁓ up until maybe 2012 ish. ⁓ We stopped doing it because it was hard to do. It took a lot of time to make the, make the especially logos. It also confused a lot of people because we put it up in like kind of random situations, like someone may have died or hollowed something and people who didn’t know about that person or holiday were just like what what what is going on with this but a lot of people really liked it and especially liked just the idea and the fun I would call delight as we’re gonna get to the the changing logo and that just the funness of dressing up a character ⁓ and I also am in that category so I’ve been wanting to bring this back for like 10 years but had no great way to do it ⁓ And then enter, enter AI. I thought that AI could be useful ⁓ making these specialty logos in some way. ⁓ When I first tried it, it was not, and I tried different versions of image models. But then finally I was hack days a few months ago, got it to work. ⁓ And so now we’ve been making them. BeahOkay. Okay. GabrielOne of suggestions of the community and team members and putting them up as Easter eggs. Yeah. BeahDo you want to just say what hack days is for anybody who doesn’t know. GabrielYeah, so Hack Days is every quarter, anyone who wants to participate in the company, and we’re about 300 people at this point, maybe 350 or something, can get together and create work on anything they want, really. It often is like features, ideas, and maybe designer, engineer, new, don’t have to be a product person, but they don’t have to be engineering a product, they can just join and collaborate, come up with something exciting. It could be like little things like fixing bugs or things in our product, but often like things people are really excited about like this for me. I actually tried it in two different ways. I wanted to do this idea, but I also wanted to get back into programming and try out all the AI programming tools. So in doing this, I actually used AI for the first time, like end to end to like write the code. BeahOkay. Okay. ⁓what AI tools do you use? GabrielI used Curser to kind of manage the creation of the tool. And then I used ⁓ the ChatGPT Create Image API to really be the generation of this. I can share my screen a little bit and we can look at BeahYeah, show us some. GabrielYeah, let me do that. Sharing screen, window. Okay. Let me actually. this way. Okay, can you see this? Sweet. Okay, so ⁓ this is one of my favorites. So if you search the dude, which is a character from The Big Lebowski, I move this so I can see you still. ⁓ And you put your mouse over, you can see Dax is now decked out in the sweater and sunglasses. And I put this in a new tab so you can see it ⁓ zoomed in a bit. ⁓ BeahOkay. Okay. GabrielSo this is kind of the idea. A few of my other favorite ones so you can get the ideas. If you search Hydra, ⁓ you get this, Gabrielyou know, and multi-dex, if you will. Moona Nights, for those who don’t know, that’s an Aqua Teen Hunger Force character. ⁓ BeahJust for the record. I did not know that. GabrielAre you serious you know or you didn’t know it? Okay, you might have noticed there’s a big Moon poster in our office. You walk through it because we go there sometimes. And the final one I throw up is the white rabbit from Alice in Wonderland. I just like the idea that Dax is a duck, but you can also make this work with like a mixture of animals, which is fun. Yeah, okay. So a couple of things I want to point out. BeahHmm. Yeah. did you decide how to like, how did you figure out who to do this for, what characters to do this for? GabrielYes, best part about this is, I didn’t for the most part. I put this up and we came up with some guidelines internally, like we’re not doing alive people, that kind of thing, mainly characters. And I just asked ⁓ for suggestions internally. Once I had like initial set, I posted it and I’ve been getting internal suggestions from the get-go. So at this point, I just go ⁓ every few weeks. And there’s magically more suggestions from our team members in there. And I haven’t heard of, would say, 60 % of them. And I will just kind of make them happen. The tool that does that, just to show you this a little bit, which is kind of fun, is, so this is an internal tool. I did this for suggestions that are real suggestions right now. So this is like internal stuff. These might come. I have no idea what Podman is, by the way. I just said this this morning. GabrielI literally just gave it the word Athena and it based on this big image prompt that I can show you in a minute and it’ll generate 10 probe and I suggest variations and then we’ll pick one that seems like it matches the best. Often times, sometimes about 50 % of the time it’s pretty good off the get go like this. And then another 50 % of the time. It doesn’t know what to do. Like this is, there’s mustaches all over the place. We talk about that. I don’t know what pod man is exactly, but I’m assuming none of this is great for it. So what I’m to have to do for this one is figure out what pod man is and then give it a little more instruction. And this is another one that I think is kind of working for the most part. ⁓ Wednesday Adams, although it looks a little angry. So like we want to keep it friendly. So I probably will give a little suggestion about that. Beah⁓ You want to talk about the mustache problem? GabrielYeah, so you pointed this out after we had about 100 that like AI is really bad at placing mustaches on decks. It like, you can see in the array of these, they don’t even ask for a mustache on this one. But like this one’s like on the beak. This one’s in the beak, I guess he’s eating it. BeahYeah. Yes, those are my favorite when they’re eating their own mustache. My theory for tell me how outlandish this is, my theory is that the internet doesn’t have a lot of pictures of ducks with mustaches and thus the training material is inadequate. Although I think with this initiative, probably improving on that. GabrielI’ve been trying to just avoid it at this point. I think it’s a good theory. I have definitely tried, I tried for like a couple of days to like get better mustache instructions and it did not work. A couple of things I wanted to highlight. So what’s actually been most fun about this now is that, because the intention was to delight people from Easter eggs. The community, especially on our subreddit, very excited about this. So much so, especially this one. BeahHahaha. Gabrielcommunity member, actually I don’t know how to pronounce it so I might get this wrong. think they might be French, Sean Mack, apologies if I did that wrong, actually has made a categorizing all the ones that they found ⁓ and also taking suggestions which is gonna be helpful for us. But what’s been fun is they’ve been trying to find them. We haven’t told them which ones exist. So there is infinite theoretical possibilities here. We haven’t even really told them how many there are, I think we should reveal it on this podcast. We have our own internal logo file, this one, so I’m not gonna show them all of them, but there might be one on this page that they haven’t seen. But at the bottom, I have my own count here. There’s 364 currently. And their count, BeahThe big reveal. Gabrielyes, their count is 322. So that is 44 that they need to or that are out there to

    23 min
  4. Duck Tales: DuckDuckGo now lets you customize the ‘personality’ of AI responses (episode 3)

    8 OCT

    Duck Tales: DuckDuckGo now lets you customize the ‘personality’ of AI responses (episode 3)

    In this episode, Gabriel (Founder & CEO) speaks with Nirzar (Duck.ai lead) about how we’re making AI more useful by letting users choose the tone and length of AI responses. 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. Gabriel Hello again, welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and talk about things going on inside the company and features for building, cetera, et We’re gonna talk AI again. Today I have Nirzar with me. Nirzar, you wanna introduce yourself? NirzarYeah, sure. the designer for Duck.ai. I kind of lead the product. And yeah, we’ve been working together. Yeah, mean, yeah, it’s actually been super nice to have like that product here. And yeah, I’ve been kind of working on Duck.ai for last two years. Actually, we started like doing the MVP together, Gabe, you and I, we were kind of playing around. Gabriel You’re more than a designer. You’re more than a designer at this point.Yes, indeed. So Duck.ai is our chat equivalent, AI chat equivalent. ⁓ It’s private chat. You can access popular models from within it. What are the model providers we have now? Here’s our. Nirzar Right now we are offering GPT4 Mini which is our default. We also started offering GPT5 Mini which is the newest model from OpenAI. Actually a lot of people are using it a lot more than we expected. But we also like focusing on open source models obviously. So the OpenAI is open source model, Llama and Mistral as well and Cloud Antropiq. So yeah, it kind of fits into our idea about just giving a lot of choice to the users, yeah. Gabriel Model choice, all the major providers. Yeah, okay. So my quick spiel on our AI approach that I gave last time, but for anyone new. Approach to AI, private, useful, optional, private. In this case, know, it applies to all our AI features, but in this case, you know, we anonymize chats. We don’t train on data. We have bunch of other privacy features in there. Do you want to hit on a couple? Nirzar Hmm.Yeah mainly I think the storing the chats on your local devices, I think a big one. Yeah. Yeah. And I think the like the biggest sort of thing that we’ve been pursuing is also having like retention of chats and like not having any retention in most cases, which is actually like most industry standard. ⁓ Gabriel Yes, if you have recent chats, they’re gonna be stored on your local device, not on DuckDuckGo servers. Nirzar And we’re also looking into some private inference stuff, but we’ll get to that later. Gabriel Great, mainly anonymous and not training. Useful, we’re gonna get to that in a second, because we’re gonna talk about customization, which I think is a super useful feature that we added recently. And then optional, just a couple words on that. ⁓ All our AI features are optional, including Duck.ai. I mean, obviously you can choose not to use it if you don’t wanna use it in general. In our integrations into our search engine and browser, we have settings that will turn it off. Gabriel So there’s no integration of the search engine if you don’t want it. No integration of the browser if you don’t want the entry points. Although we do think you should check it out because we do think it’s useful in private. ⁓ But we understand people who don’t want to do that for various reasons. Nirzar Yep. If you’re gonna use it somewhere else, it’s better to use it here if you care about privacy. Gabriel That’s a good way to put it. Yeah. Okay. So back to useful customization. We’re here today to talk about feature that we’ve been working on. You want to introduce it, maybe share screen. Nirzar Yeah, I can go through it. Yeah, no, I just like remember where it came from when you asked me to talk about it and I remember you were kind of annoyed at like use of emoji and responses and also like how big the responses are. I sometimes like it but I gotta get that and I think what you mentioned was like if like I don’t like it, I’m pretty sure a bunch of people don’t like it as well. So we kind of talked about like, hey. Gabriel Yes, I’m very Gen X and I don’t like emojis. ⁓Yes. Nirzar Like I think what kind of we concluded was just the idea that like there is not like a single personality that we can land on that will like kind of suit everyone. And we always try to give choice to users. ⁓ So I think this kind of fits into the choice and control obviously. And this kind of fits into that ⁓ category. Let me just give you a demo quickly of how it works. Gabriel Yeah, while you’re doing that, where I was coming from with that too, was like chatting, this whole feature of chatting is very obviously conversational. like you’re talking to somebody, know, that we’re personifying the AI in this case. I mean, there are people you like to talk to and there are people you don’t like to talk to, there are people you like their texts and there are people you don’t like their texts. Here you can control that. And that would be the idea is to give users control about like what kind of responses. If you’re going to be chatting with this thing a lot. NirzarYeah. Yeah Gabriel Like, what do you want it to sound like, you know? I think that’s kind of the idea for me. And not everybody would choose the same thing. Nirzar Yeah, it’s very personal. think this personality thing is very kind of difficult to nail down on anything. In those cases, it’s just better to sort of give that ⁓ to each user. They can decide what they want. So I’ll just show one quick thing. By the way, I think a lot of this was like, it’s reusing a lot of these tools. like ChatGPT also has something similar, but I think what you and like what we wanted to do is just like putting it like friend and center. So basically like this is a very small example. Don’t take greetings to chatbots are any popular anymore, but let’s say you are, no? Gabriel I’m not seeing it yet, Nirzar. I got a black screen, so, nah, weird. Try to reshare. It worked before. We tested this. Try it one more time. it doesn’t work, I’ll try mine. there you go. Yeah, it works now. Go for it. Nirzar Yeah, we tried that. I would be surprised. All right, perfect. ⁓ Yeah, so we also wanted to like kind of put it front and center. And this is one example of just like saying. Gabriel I think that’s super important because it’s like it’s a front and center thing. you’re going to, this is a very important thing to change the personality. So it’s not hidden behind settings. That’s a big design departure. NirzarYeah, yeah, yeah, I don’t think like anybody else had this like this prominent and it kind of like incentives to use it as well. Try it out, see how it works. If you don’t like it, that’s fine. ⁓ So yeah, I think the personality thing that we were talking about was just like, like the tonality, like use of emojis, for example, but like, as you can see, this is like a base model. It’s like Claud, Sonnet 4 and if you ask it, How’s it going? It’s like, it’s nice to connect with you. How are things on your end? This is like not a very good way to like, these words just like make me a little bit irk. But yeah, like I mean, this is like if you just customize it and this is what we came up with to begin with, which is like just the idea of like customizing the tone or like how long the response should be or like naming is also pretty good. Nirzar Like if I just ask it to call me by name. By the way, all of this is kind of stored on your local device to protect your privacy again. Gabriel Yeah, actually, one thing we didn’t say is you don’t even need an account to use Duck.ai. You can just show up at Duck.ai and start doing this without anything. And you can use pseudonyms too, you know. Nirzaryeah. Actually, you know what? Yeah, but you know what like when we didn’t think about it when we like made Duck.ai without logins But like when we released it like the biggest positive thing was like people were like, I don’t have to sign up It’s like a huge deal apparently but like I don’t think we thought about it that much but it’s really good I think that that’s why it worked really well. Anyway, sorry coming back to this I digress ⁓ Gabriel That’s what we would call a strategy credit for being a privacy company since we don’t have accounts. We didn’t even have an ability to log in. Nirzar Hahaha Sorry, we..Sorry, I meant we thoroughly thought about it and it was a great decision. ⁓ Okay, so I’m gonna ask it to call me by my new real name and I’m gonna say my tone, I want it to be like a little bit more playful, as I said connect with you. This is pretty simple. If I apply it, it’s going to store it on your thing. there is a much great I like it. ⁓ Anyways, but instantly just like such like just a very different response to the same model. And this is what we mean by like, like even a little bit of instructions can like make the most out of it. ⁓ This just made me like want to talk to it. I don’t know. Just calling it by your name or your nickname. GabrielAnd we, and like you mainly, but you like built in these options, right? Like you, like the ones that you suggested there. Nirzar Yeah. Yeah, so I think we worked a lot on these. I really like the ducky one that you wrote, these instructions which are pretty cool. Kind of pretends to be a duck, which is fun. And actually I use it a lot in like work stuff, because it kind of adds a little bit of these like... Gabriel Yeah.It was more like a throwaway idea, but yeah. Nirzar⁓ But yeah, just battling around digital port. It’s kind of stupid, but I like it. But yeah, I think we worked on this. The thing that we worked on the most was like this AI roles. ⁓ I think like it was actually kind of fun to w

    19 min
  5. Duck Tales: Why DuckDuckGo built a way to filter out AI-generated images (episode 2)

    1 OCT

    Duck Tales: Why DuckDuckGo built a way to filter out AI-generated images (episode 2)

    In this episode, Gabriel (Founder & CEO) introduces our vision for AI and speaks with Rachel (front-end team) about our newly released AI image filter. 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. Show notes: See the full post on our approach to AI — private, useful, and optional. GabrielHello, hello everybody. Welcome to DuckTales. This is our series where we go behind the scenes at DuckDuckGo. I'm the founder of DuckDuckGo. I have Rachel here who works at our company. Hi, Rachel. RachelHi! GabrielSo, DuckTales is really about discussing the technology we use, the people working on it, how we're building privacy tools. We hope you'll join us. You'll hear about all aspects of DuckDuckGo essentially. Today, we are talking about AI a bit and in particular a feature that we recently released that allows you to filter out AI generated images on our search results. Taking a step back, our approach to AI is, we wrote a whole post on this if you want to check it out, maybe we can figure out how to put things in show notes. But three things: private, useful, and optional. So private kind of goes without saying, that's what we do at DuckDuckGo. But with AI in particular. You know, we're focused on, you know, Rachel, you know this, so just saying this for everybody else listening. We're focused on keeping it anonymous and also not training on your data. And then useful is we're really trying to make AI tools that are actually useful, not just for the sake of using them, but...so they're actually useful. So on the search engine, you know, we have answers now at the top that kind of help you figure out what you're trying to look for without having to click through a lot of results. Although you're welcome to, of course, and the sources are clearly labeled there. But the third pillar is optional. So not everybody wants to use AI. We realize that. And so we've been approaching it by making everything optional. And so you can turn off those answers at the top of the search engine. You can turn off our chat product, Duck.ai, which brings us to the AI image filter, which is a little different type of feature because it's not something that we're doing generation of images, although we're probably going to end up doing that sometime. It's more in that optional camp, taking AI away if you really would like to. You want to explain it a little bit? RachelYeah, so the AI Image Filter, actually let me just share my screen so I can quickly demo it as we talk about it. So the AI Image Filter is a feature you can find on our image filter bar. So up here, this is the filter here. And you can also find this feature on our user settings page. But yeah, it's literally what the name suggests. A filter that filters out AI-generated images. At a high level, you can put in a query. And if we detect that you've enabled the feature, then our images service is going to do some basic pattern matching against a block list that we have and return the filtered results. The list itself is actually from an open source project called Ublock Origin. And I did want to take a second to give a shout out to the project maintainer, Laylavish and the 40 plus contributors to the project. I think they started this project like a year ago and they've been doing a great job frequently updating the list. So huge props to them for helping make this feature possible. GabrielSo great query. I have two cats. Is the filter list that we're currently using for this, is that at a domain level? RachelDomain, like the file of the image and where that domain or where the file lives in that domain. GabrielSo it could be, it's kind of like the general UBlock rules. It's like a reg X type of thing, but it could be at the URL pattern, whatever people want. RachelExactly, URL pattern matching. That's exactly it. GabrielGot it, and so it works now where if it's on that list and you select this filter, we'll just remove it client side from you. RachelExactly. GabrielCool. And have we looked at other lists? I mean, is that like the main list we found? Did we kind of look at other things? Are we looking at other things? RachelYeah, this was the main list that we had found. There are definitely a handful of other lists that were maybe not as frequently updated. And so I think this one was probably the most reliable one to use. GabrielGot it. Let's speak to why people might want to use this. It's gotten a, well, first of all, let's say that it's gotten a lot of support when we put this out. It was high on like Reddit technology. Saw all sorts of articles about it and it's being reported in our subreddit a lot of people really appreciate the feature. And kind of to think about why, you know, there's clearly value in AI generated images because you can get things that didn't exist. And so there, I think there's definitely value in seeing AI images, but then there's also value in when you want to use something in real life that it wasn't AI. You want to know that it wasn't AI generated. RachelRight, yeah. I mean, one of the big reasons why we built it was because we were seeing a huge spike from users about not wanting to see AI. And it's understandable. So many things on the internet now are generated by AI. And it can be really mentally exhausting to have to process. Like, is this AI or is this not? I just want to find the thing that I'm looking for. Yeah, the users were really vocal about just not wanting to deal with it. GabrielInteresting. And then, so I understand that we're, you know, certainly after the support, it's a feature we're definitely going to keep. And so now we're also trying to improve it if we can. What areas of improvement are you looking towards that we're exploring? RachelMm-hmm. Yeah, so as soon as we launched, we got immediate feedback from users again on little things that we could do to improve the feature. I think one of the most frequently requested feature was the ability to flag images that they believe were AI generated. So I'm actually going to roll this out right after we finish recording this. So we're going to have that ability for flagging images. I think once we start getting reports in, there's a lot of different directions we can go from there. If we get enough reports on a specific domain, we'll probably do some sort of vetting process to improve the block list itself. I think we could also potentially allow for users to create their own custom block list, sort of like how we allow users to exclude certain domains for organics. And I think more like in the long term, we do have people on the team exploring other open source solutions and classifiers and also like the image metadata, like how we can leverage that to better determine if an image is AI generated. But it's still like a matter of figuring out what the right balance is between those options, just because like image metadata, for example, anyone can tamper with the image. They can strip the metadata, can edit it or crop it or whatever. So it's still a pretty fragile source of truth and even the classifiers, like best ones maybe will get 80-90% of accuracy but it's not going to be bulletproof. So yeah, we're trying to figure out what combination is the right one for getting enough accuracy and also keeping cost and latency in mind. GabrielYeah, so a couple of follow-ups on that. So again, it is important for us to be clear that it's definitely not 100% accurate in either direction. It could let things through that are AI generated, and it can also theoretically flag some things as AI generated that are not AI generated. And so it's an effort here, and we're going to try to improve it, but it probably will never be 100% accurate. RachelYeah, yeah. No, I mean, it's sort of, yeah, the problem is really interesting. And in some ways, I'm like wondering if it's probably a longer discussion. But like, if we don't have some sort of change at, like, I don't know if this is the right term, but like at a policy or an infrastructure level on how we actually maintain, like we need a consistent way to be able to really know if the data on the image is reliable. And It's sort of like playing whack-a-mole right now, but if we can contain the mole, then it would be maybe a little bit easier. But right now, if we don't have that, I think the issue will unfortunately become more prevalent and even harder to solve. GabrielI have heard some rumors at least in some reports of some standards being worked on in that regard. It possibly would help. The other thing you mentioned was, you know, we're using the block list, which is obviously kind of on or off of it. So it's very fast. Whereas if we were starting to use classifiers, that might be too slow in real time to like do it on the search results. And then it's also expensive to offer for these. And so I think that's... RachelExactly. Yeah. Gabriel...the trade off there with the classifier. It's also interesting to note of using AI to stop seeing AI generated images. RachelThe irony there, yeah. Especially because we're dealing with hundreds of millions of images a day. Even with a good caching layer, I think it'll still be a difficult problem to solve there. GabrielCool, well, is there anything else from working on this so far? Do you want to flag anything interesting or, I don't know, that we didn't talk about? RachelI think the biggest thing is the problem itself is super interesting. For me personally though, if I could share when I started this project, I was only four months in at DuckDuckGo, so everything was surprising and then I was still getting to know the product and the users. It's kind of a funny story how the project even came to be. We knew this problem was happening. I think like over 50% of user complaints about images was about not wanting to see AI. So we knew we ha

    13 min
  6. Duck Tales: Why DuckDuckGo Added the ‘More’ Button for AI-Assisted Answers (Episode 1)

    15 SEPT

    Duck Tales: Why DuckDuckGo Added the ‘More’ Button for AI-Assisted Answers (Episode 1)

    In this episode, Kamyl Bazbaz (VP of Comms) talks with Tim Raybould (AI Lead) about the design of DuckDuckGo’s AI-assisted Search Assist — why it defaults to concise answers, and how the new “More” button lets users dive deeper when they choose. 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. Kamyl BazbazHi, welcome to Duck Tales, where we pull back the curtain on DuckDuckGo to share stories, tech, and people building privacy tools for everyone. Today, my guest is Tim Rae Bold, who leads AI development at DuckDuckGo. Welcome, Tim. Tim RaybouldThank you, Camille... Baz... Baz? Kamyl BazbazThat's right. Pretty good. We're going to talk about a new feature that we just shipped on the old SERP at DuckDuckGo, which is the More button on assist. Can you briefly explain what the More button does and why we decided to add it to the AI assist answers? Tim RaybouldYep, sure. Well, search assist, first of all, is the AI-generated answer that goes on the top of results for about a fifth of queries. That's whenever we think that the query is asking for information that can be answered concisely. And then the main thing we pride ourselves on with assist is that it is just the answer to your question and nothing more. It's unique in that way, I think, across the AI answers industry, in that it really tries to get the job done in a very short amount of words. But users for some queries were asking it to go deeper on topics, and that's the answer to the more button question. So it's a pretty simple feature. Right below the concise answer is a button that says more, and you click it, and then it will go and expand its answer into more of a... maybe like a traditional answer that you'd see in an AI chatbot that has tables and headings and it lays things out. Kamyl BazbazVery cool. And so what problem do you feel like users were experiencing that led to this feature? Tim RaybouldYeah, it was really just a request to go deeper on some percentage of topics. The short concise answers are just what the doctor ordered for many, many of them. But the click rate on the more button has been really good so far. It's about 10% of people are clicking that button. Around that portion of queries, the topic they asked about is they just want a little more depth with the answer. Kamyl BazbazWhat was the biggest technical challenge you had in implementing this expanded answer? Tim RaybouldMm-hmm. Well, I don't know how far back you want to pull the curtain. Your intro said you were pulling the—OK, well, I mean, the SERP is written in, largely written in Perl. Perl has a—it is challenging to stream the response back in Perl. So when you use an AI tool like DuckAI, our chatbot tool, the response will stream back, which means that every single set of words, it doesn't wait until the end of its response to give it to you. It gives you the response as it's going. And it's a much faster experience for users because they can start to read it as the AI is generating word after word after word. That's called streaming. In SearchAssist, we don't need to stream that concise response. We wait until it's done. We run some safety checks on it even, and then we present the answer on the page. But with the more button, it would just be too long to wait to take that same approach. So we needed to figure out streaming. And in some cases, that's not a hard technical problem at all. In our particular environment and setup, that happened to be the hardest problem. Second hardest problem is you need to come up with a prompt that explains to the AI what type of response we're looking for. Our initial prompt, as we've been saying, is very focused on being concise. But this one, we needed to figure out the right words to tell the AI to say what type of answer we want out of an expanded answer and how we wanted to lay it out and talk to the user. Kamyl BazbazGotcha. And so how are you—I mean, it sounds like in the development of this, you were trying to balance the speed and simplicity people expect from DuckDuckGo with getting a more comprehensive answer to their question. Does that sound right? Tim RaybouldYeah, it does sound right. Yeah. And I mean, it seems simple in retrospect that a simple button to click more was the answer, but we, as we were building search assist, you know, we knew we wanted to give more in some cases to some answers. And it was, you know, sort of a lightbulb moment to just say, well, the first step we can take is just to ship the user a button and the user can decide when they want more. So that took the burden off of us to figure out which query exactly deserves to have more of an answer. And then from a speed standpoint, that sort of solves that problem too. Because once they're engaged and clicking more, they've presumably read the concise answer, and the new answer is going to stream back, so they're going to get to read something almost right away. The speed piece there, we have a little bit more leeway to take a few seconds to deliver the answer, whereas the concise answer is coming along with a SERP and people want a fast SERP. So, can't delay that. Kamyl BazbazWhat's been the feedback so far and then sort of what kind of data are we seeing? Tim RaybouldIt was the number one feature request before we built it. And it has largely satisfied that request—that people asking for it has died down, as you would expect. Our overall—the main metric we use to track user satisfaction for this feature is the ratio of people clicking the thumbs up over the thumbs down. That's at the bottom of each answer. It says, was this helpful with these two options? So after we shipped the more button, the overall thumbs up to thumbs down ratio increased noticeably. People seemed to like it. Kamyl BazbazAnd if you're thinking about the differences between DuckDuckGo, what you would see on Google, and then if you are using ChatGPT or like a Perplexity, now that DuckDuckGo has more and is easily connecting to DuckDuckAI, how would you place our offerings in that context? Tim RaybouldYeah, well, when it comes specifically to these AI responses, I still think the main differentiator is that we play the 80-20 rule really well with the length of the answer at first. In most cases, giving the user the direct answer in a way that they don't have to spend a lot of time parsing or reading is the preferred experience. And we've heard users say that—specifically say that—your answers are so much shorter. I didn't even know I wanted that, but that makes a lot more sense in most queries. Letting the user expand into this more button is the first step into some queries do deserve a richer, deeper answer. It deserves more work from the AI to be able to do for the user. So this more button is the first step along that path. But I think there's other tools that started there and they're coming back to what people want in a search engine—the core search engine experience. They're having to add on to the core AI experience. And we just started the other way around. We started with a great search engine that already gave a bunch of instant answers that were not AI-generated—stocks and sports and weather and things like that. This, you know, our search assist tool fits right into the wider search experience for people. Kamyl BazbazHow does this fit into, you know, the DuckDuckGo, you know, looking to the future here? How do you see this evolving? What do you think is next for these kinds of—for the search assist answer on DuckDuckGo? Tim RaybouldWell, I think both of our AI tools will evolve. And Duck AI will get more and more ability to do things that search engines do. And a search engine will get more and more ability to lay out a search engine results page, a SERP, with the benefit of generated content from AI. The difference right now is primarily the types of queries that people are bringing to these two tools. Whether or not people's behavior merges into one tool is anybody's guess. It's a very interesting question. Right now on the search engine, most of the queries are four words or fewer. You're not typing big long prompts or asking long complicated questions. So the search assist lives on the SERP and is built for those types of queries more so. Whereas in Duck.ai we see—we don't see actually, because we don't save any of the prompts. And that can be annoying from a building a product standpoint. We know from other data sets and other tools and benchmarks that when people go to AI tools, they don't just type in four words. They're being a little bit more conversational in the way that they prompt the model. So that deserves a different—yeah, those queries are—the user is asking something different. Obviously the answer is going to be differently natured. One more thing on the future. So right now the search assist concise answer—it goes to the model one time. One shot is the terminology in AI land. And we give it context from the web and it has all the information it needs to answer the question, and it comes up with a concise answer. But it has one shot to do that. And it's to us to feed the LLM with the right context to answer the question. But sometimes—you've seen these deep research tools around this, probably—where you could imagine that for some queries, it might want to search twice, not just once, but twice. So if I say, who is older, person A or person B, it might do two searches: how old is person A and how old is person B. And then it has all the information it needs to answer your question because probably nowhere on the internet was it written person A is older than person B. You just have to do two separate searches. That's sort of the next step, but you could imagine that going much more complicated into many searches. And maybe not just searches, but

    14 min

About

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

You Might Also Like