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
Even 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 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
And 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.
Finally, 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.