What is an Instant Answer, you ask? The clue is in the name – it is, quite literally, an instant answer to your search. For example, if you want to go to the cinema tonight, all you have to do is enter the name of the film and your postcode/area and Bing will show you a summary of where and when the film is on near you. We have literally hundreds of these Instant Answers – ranging from what the attractions in your local city (try Attractions Edinburgh), what the latest football scores are (try Pompey) or even if a flight is on time (try BA48) – all designed to help you find what you are looking for, faster and more easily.
The first thing we need in order to create an Instant Answer is an idea. This can come from a variety of sources: Customer feedback, market research, analysis of the searches users perform, or our own heads. Once we have an idea, say football, we study our historical data to discover the various user intents within that domain. We might observe the following intents within the football domain are to find:
Statistics about players
- The times and dates of upcoming matches (by team and by competition)
- Standings in competitions/leagues
- Football merchandise
- Results of recent matches (by team and by competition)
- Fantasy football leagues
- News about teams/clubs
In doing this analysis, we also get a sense of the percentage of queries a football answer might be appropriate for. If this number is extremely small, we might decide to prioritize another answer ahead of this one. If we find that very few searches were in the football domain, we might decide to postpone the answer in favour of one in an area that more users are interested in.
The next step is figuring out what the answer should look like. The idea is to create an appealing visual presentation that satisfies the most common user intents within the relatively small amount of space an answer has to work with. Oftentimes, the best way to go is to create several related answers in the same domain. In the case, it looks like it will make sense to have an answer for players, one for standings in competitions/leagues, one for recent and upcoming matches in a competition/league, and one for news and recent and upcoming matches for a team/club. This would cover all of the identified user intents except for merchandise and fantasy football leagues. But this is okay: Fantasy football leagues are not something that users are looking for information about; it is something that they are looking to participate in, so an instant answer is not the appropriate solution to satisfy this user intent. (Sometimes, a user intent that cannot be satisfied by an instant answer leads to innovation of a brand new feature type!) As for merchandise, Bing already has a Shopping vertical (and instant answer) powered by Ciao to satisfy this user intent.
Once we have identified the answers we want to build in a domain, we need to work out when each should appear on the page. We pay a lot of attention to this step: If the answer is appearing when it should not be, it both makes Bing look like it doesn’t know what it is doing, and, perhaps more importantly the relevant results are being pushed down on the page by the irrelevant answer. On the other hand, if the answer is not appearing when it should be, we are missing an opportunity to delight our users with a great feature.
Now that we have a good sense of how the new answers should function, we look for a source for the data we want to display. For some answers, the data is static, or can be created by the answer itself. Examples include calculation and unit conversion. For other answers, such as images, video, and news, we can leverage the content that is already in our index. But for many answers, such as football, the data needs to come from a third-party. In creating such an answer, we carefully assess potential data providers to make sure that they are well-regarded by our users, that they can provide the data we are looking for, and that we believe that they will be willing to work with us. When we have identified a potential provider, we contact them to make sure that they are indeed willing and able to provide us with the data that they need. This usually requires some negotiation: Data providers want to get traffic to their site from the instant answer, so we need to discuss where to put links in the answer that will lead to the data provider’s site. During this process, we make minor revisions to the plans for the answer as necessary. Eventually, both parties agree on the answer specifications, and we have a signed contract.
We usually share the answer plans with our marketing team at this time, if we haven’t already done so, so that they can plan to include the answer in any upcoming campaigns.
It is at this point that the main part of my work as a developer begins: My colleagues and I need to write code to ingest the data from the provider, manipulate it as necessary, and get it to appear on the page as specified. Each time we finish development of a major component, we hand the new code over to our test team, who make sure that each answer is appearing exactly when it should and exactly how it should, and that there are no fundamental problems in the code that could cause any problems on the live site. We keep the marketing team up to date on a projected date of completion. When development is complete, the testers have signed off that everything is okay, we release the new answers.
But just because an answer has been released, does not mean that our work on it is over. We continually monitor all of our answers, and make little tweaks here and there to make the answer even better. For example, a couple of months after releasing the football answers, we decided to add live data for matches in progress (see below), rather than showing only final results. As another example, we recently added a F/C toggle to our weather answer.
I hope that this has given you some insight into how we develop Instant Answers at Bing. If there’s anything you’d like us to blog about in the future, or if you have any thoughts on this post, just let us know by adding a comment!
Marcus Duyzend, Bing Developer