At Microsoft Build 2018 in Seattle this year, Satya Nadella confirmed Microsoft’s strategy to bring AI everywhere and to everybody. Microsoft (MS) is making it easier for its huge worldwide development community, encompassing enterprises, partners, and single developers to infuse AI vision, speech, language processing, and more in applications building. As I wrote in this blog and research report, AI has the potential to change development and applications, enabling software to augment developers’ coding capabilities and applications to behave smarter. And as MS shows, it’s happening.
Microsoft is incorporating a dual strategy of: 1) adopting and testing AI first internally on its own large developer base to learn the limits and capabilities of AI on improving software development and 2) increasing the collaboration between its AI research teams and MS product teams. This two-part strategy is bringing AI results to reality. While I was not wowed by any specific innovation advancement in the AI space at Build 2018 (AI still remains in the pragmatic AI space, far from pure AI), I was amazed at how Microsoft is infusing AI everywhere, from the center of the Azure Cloud to the edge on devices and from the Windows 10 desktop to Office 365. Here are a few things that wowed me in terms of how easy Microsoft is making it for developers to pragmatically leverage current AI capabilities today in the real world:
- Machine learning and deep learning at the edge. Developers can build and train models on Azure, package them in Docker, and then deploy them anywhere on any type of device, including drones and industrial equipment. A cool example shown was an application that can surveil pipelines to spot leaks — a boring and manual task for humans. This goes beyond image recognition to recognizing objects in images. This type of surveillance in the future can be done either using drones, thanks to a joint effort of providing an SDK with drone builder DJI, or by using cameras, thanks to a joint effort with Qualcomm to deliver an SDK to build camera-based vision solutions. Tightly combining AI, IoT, and cloud is Microsoft’s underlying strategy.
- AI at developers’ fingertips for building AI-infused applications. The list of AI services on Azure (approx. 35 to date) is now as large as those of any other big AI vendor guy. MS is differentiating by the level of customization that developers can make to those services. Developers can customize image recognition models to recognize specific objects as mentioned in the above example — customizing speech models to use custom types of voices in conversations — and can customize language models to use specific business language used at companies. Here, MS is leveraging transfer learning to minimize training and big data needs for the customizations.
- AI to assist developers while coding in Visual Studio. The new feature will come with Visual Studio as the IntelliCode extension, in preview at this stage. It is the first step of a road map to deliver coding autocompletion and code style improvements, to pull requests, and to improve coding work “intelligently” in the IDE. The demoed autocompletion bot leverages a deep learning model trained over two thousand C# programs and treats code as data for machine learning, providing suggestions of the right functions to call. With IntelliCode, Agile pair programming will become a reality: Both expert and neophyte developers can be paired by a bot while they write their code and get help to prevent early potential bugs.
- Proven commitment to open source and cloud DevOps. Thousands of organizations are adopting Agile plus DevOps to accelerate their digital transformation. The strategic partnership with GitHub announced at Build offers a tighter integration between Azure DevOps and GitHub. Microsoft’s intent with this is to offer a clear cloud path to all developers, not just its captive dev community. Visual Studio Code is already a very popular open source project with millions of downloads; MS is a leading contributor to many open source projects. At Build, Microsoft also announced open sourcing of the Azure IoT Edge runtime, allowing developers to modify, debug, and have more transparency and control for edge applications. Will this change non-MS developers’ consensus about the openness of Microsoft? Change at scale like this takes time, but it does show how serious Microsoft is about offering a more open, integrated, and interoperable cloud platform to developers.
A video proving Microsoft’s commitment to trusted, responsible AI products and practices was the background to Satya’s announcement of Microsoft’s commitment to AI for Accessibility: a five-year program aimed at harnessing the power of AI to amplify human capabilities of the impaired. This was a touching moment and underlined the real practical and positive impact that computing augmented by AI can have on human beings.
My two cents: If there is one player that has long-lived experience with developers and is getting serious about augmenting enterprise developers with AI in an open world with multi-sense and multi-device capabilities and more that developers should pay attention to, it is Microsoft.