21 Jan

DuckDuckHack — new and improved!

We're very fortunate to have a community of contributors who are helping to improve our search results every day. Improvements to our search results come by way of Instant Answers created through the DuckDuckHack platform. Recently, we've taken a step back to analyze feedback from our developer community on how we could simplify the Instant Answer contribution process as well as add more visibility into IAs currently in development by other contributors. Here are the changes we've released so far, based on that feedback:

All in one place

As our developer community — DuckDuckHack — grows, it's important to keep things simple and have a single place where people can jump off from and discover what's available. That place is duckduckhack.com. Whether it's getting an overview of Instant Answers, jumping into the documentation, or becoming familiar with the community's activity, this is the starting point for everyone interested in contributing.

Instant Answers at a glance

Instant Answer developer pipelineEven non-developers want to know what Instant Answers are available, so alongside the list of current live ones, we now have a public pipeline of Instant Answers. The pipeline includes IAs right from the planning stage to the just-about-to-go-live stage. Not only that, anything that's in the testing phase is publicly available on our beta server. This makes it easy to see what's already being worked on before starting a new Instant Answer.

Working on a new Instant Answer

Creating something from scratch can be daunting, so instead we've made it easy to find a selection of outstanding issues that can be a good first step. These include some "low-hanging fruit," which are straightforward improvements that are ideal for beginners and experienced developers alike with just a little time to spare.

Now, when you're ready to make your own Instant Answer, the process is much simpler. From the DuckDuckHack developer dashboard, there's a new Create Instant Answer button which opens a simple form for creating an Instant Answer page. These are the core of each Instant Answer and contain metadata such as description, example queries, developer name, and so on. Once you've submitted these basic details, you'll then be given tips about what to do next, which should reduce confusion.

The new Instant Answer creation button

The path to going live

Once you've coded and tested your Instant Answer, you then submit it to one of our GitHub repositories just as before. Now, however, you should get an instant reply from Dax the duck telling you its status, following which it will be reviewed by the community and if it's ready, uploaded to the DuckDuckGo beta server. How long this takes depends on the complexity of the Instant Answer and how many review comments there are to address. We want to show the world your creation quickly, but also want to maintain a high level of quality.

The magic moment

Instant Answer query traffic chartAnd then it happens — your Instant Answer goes live! Users start using it and hopefully fans start sharing it. As the official maintainer you can still be notified when people contribute issues or code so that it keeps improving over time. There's also a brand new feature giving you a chart of your Instant Answer's actual query traffic for the past 30 days. This is available on the Instant Answer page and only visible to the maintainer and listed contributors.

Revised documentation

Screenshot of developer documentationFinally, to reflect changes in the process and feedback from the community, we've rewritten a lot of our documentation and moved it to an easier-to-remember URL — docs.duckduckhack.com. It starts with some practical walkthroughs of creating Instant Answers, from a simple cheat sheet, to using an external API. We've also embedded video tutorials for a few key steps such as setting up your environment and using Git for code submission.

Getting better all the time

All these changes together should ease the contribution process, giving you the freedom to propose, create, maintain and be proud of Instant Answers that users around the world will appreciate. We are always looking to make improvements however, which is why we'd love for you to hang out in our Slack channels (invites here) and share your feedback. Slack is also a great place to get tips from others, give advice and of course, to have fun!

UPDATE: Wherever you are, join us and many other contributors at our second Global Quack & Hack event on Saturday January 30th (all timezones). Developers of all levels are welcome and more details are here.

10 Tweet

This blog has been archived

Thank you for reading and contributing lively discussion to our blog! Read more posts about online privacy on our new blog at spreadprivacy.com.

It is soo cool !!

posted by IriaLagneau • 2 years and 1 month ago Link

Great !!

posted by HermanGuyard • 2 years and 6 months ago Link

I like it a lot !

posted by delightfulastatine • 2 years and 6 months ago Link

Really nice ! Thank you guys !

posted by Tanso • 2 years and 11 months ago Link

Great information :)

posted by JuanZeta • 2 years and 11 months ago Link

that's great to have such a community like duck duck go. full support guys !

posted by Pagare • 2 years and 11 months ago Link

Could I ask why this? https://github.com/duckduckgo/community-platform/pull/1167
Are you getting rid of the forum?

posted by <hidden> • 3 years and 21 hours ago Link

In addition to the changes mentioned here, we're considering every possible option with regard to supporting discussions within our contributor community. Put simply, the ideas forum, the general ramblings forum, as well as most of the, "old" bits of the community platform discussion areas will likely go away in the future as the community-platform codebase has become overly cumbersome (making it impossible for outsiders to contribute to as well). We're not sure exactly when the last bits will disappear entirely, but it's obvious that we can do better.

Immediately, our focus is on the DuckDuckHack community. Conversations around Instant Answers, bad results, and general dev community chatter can be better centralized around the Instant Answer pages, pull requests, etc. so some of the changes mentioned here are to support that.

posted by zac Staff • 3 years and 11 hours ago Link

Hello Zac,

I understand the decision. I'd like to voice a couple of points though that I'm sure others are feeling; take them into consideration if you will.

The General Ramblings forum is useful not only for reporting bugs but for getting help. There are a lot of people out there that want to use DuckDuckGo but need to ask about things like how to get the search bar working or just generally chatting about how it can be improved and how people can spread the website. These discussions benefit DuckDuckGo by building a group of non-programmers that are still passionate about their favourite search engine. They also benefit the newbies and give DDG a good face.

So far, I have never gotten a response to any feedback I've given through duckduckgo.com. I don't expect any. All the staff at DDG are busy doing amazing things and don't have time to reply for bug reports, but for most people, being seemingly ignored can be disheartening, especially when they've poured their time into finding and reporting a bug. General Ramblings is great at fixing this because community members have the time to reply when staff do not. This improves greatly DDG's customer service side.

Those are two great reasons why General Ramblings or something like it is good to keep around. Discussions around pull requests are exclusive to programmers on GitHub (I'm a programmer; I'm not on GitHub) and Instant Answer ideas are really only about Instant Answer ideas.

The General Ramblings forum also helps to keep the DDG community together a bit, even more so because it's endorsed by the company.

I'm sure you'll come up with something great. I hope you keep these ideas in mind for when you do. In the meantime, I would recommend that you keep a link to the forum around.

If there's anything a grade 9 PHP/JavaScript/Python (+HTML/CSS) programmer can do to help with the community, please say. I'd love to work more on my favourite search engine.

@betterlaef on Twitter

posted by MyUser • 2 years and 10 months ago Link

You are too kind! We're definitely planning to provide a means for regular conversations but, instead of reinventing the wheel, we'd probably use a 3rd party for that. The reason is limited resources :( If we're building something, it should act as a multiplier --> enabling bigger & better things. That means, building a better platform to keep the DDG community together, as you suggest as well as a better means for empowering the community to drive change (duckduckhack, feedback, beta testing, etc.)

posted by zac Staff • 2 years and 9 months ago Link