Developers Get Even More Productive

Published

Posted by Rob Knies

Bing logo (opens in new tab)Back in February, a post on this blog introduced Bing Code Search (opens in new tab), a project to deliver new tools to save developers time and to make software development easier.

Youssef Hamadi (opens in new tab) of Microsoft Research served as spokesman for his end of a collaboration that included, among others, the Bing (opens in new tab) and Visual Studio (opens in new tab) product teams. At the end of that post. Hamadi delivered a cryptic response to a question about what would be next for this work.

Microsoft Research Podcast

Ideas: Language technologies for everyone with Kalika Bali

The new series “Ideas” debuts with guest Kalika Bali. The speech and language tech researcher talks sci-fi and its impact on her career, the design thinking philosophy behind her research, and the “outrageous idea” she had to work with low-resource languages.

“We are working on very surprising things in this area,” he said. “I cannot comment about them.”

That was then. Now, after a couple of recent developments, we know at least some of those “very surprising things,” and as it turns out, Hamadi’s guarded comment has proved accurate.

On Aug. 18, a post on the Bing Dev Center Team Blog (opens in new tab) announced the release of the beta version of the Bing Developer Assistant for Visual Studio (opens in new tab), which combines the functionalities of two popular Visual Studio extensions: Sample Browser (opens in new tab) and Bing Code Search.

Little more than a month earlier, Hamadi and his fellow Microsoft researcher Yi Wei (opens in new tab) had helped to ship Code Sample for the U.S. market.

Combined, the enhancements further the Bing Code Search goal of making developers’ jobs easier and more productive.

The Bing Developer Assistant for Visual Studio enables developers to find and reuse millions of code snippets and code-sample projects from within the Visual Studio integrated development environment.

“The work around the Bing Developer Assistant happened after the release of the Bing Code Search add-on,” Hamadi explains. “The objective was to combine it with another popular Visual Studio extension, Sample Browser, and enable nearly 10,000 sample projects to be searchable within the Microsoft Developer Network (opens in new tab).”

The advances offered by Sample Browser and Bing Code Search complement each other nicely.

“Sample Browser presents code samples contributed by users,” Hamadi explains, “while Bing Code Search relies on large-scale Internet search on popular programming websites. The sources are different. Moreover, Bing Code Search uses natural language queries.

“By combining them, we provide more value to developers.”

You can include Code Sample in that value proposition, as well. This Bing feature extracts from search results the top consecutive lines that relate to a query. A/B testing revealed that when users clicked on one of the Code Sample pages, they tended to stay there. And rigorous measurement confirmed that the feature moved the needle significantly as measured by session-success rate, which determines whether users get what they wanted.

The successful cross-team collaboration is a great example of the company’s One Microsoft approach to meeting the needs of developers, partners, and customers.

“Microsoft Research’s work was the foundation on which we were able to build the Code Sample search project,” says Pravin Indurkar, Bing principal lead program manager. “The work done by researchers in identifying relevant code samples and then indexing them is very vital to the continuing success of the project.”

Indurkar—who joined teammates Shabbar Husain, Jialiang Ge, Sumit Saluja, Amit Rangari, Puspendra Kumar, Gaurav Khandelwal, and Subrata Roychowdhary in collaborating with Hamadi and Wei—is looking forward to tackling the next set of developer challenges.

“We worked as one team for this project,” Indurkar says, “and we are looking forward to addressing a lot of challenging problems to be solved in the developer-productivity area.”