With the PC market tapped out and in a perpetual slump and the cloud market a tough fight for customers, Microsoft's on the prowl for new frontiers.
In that spirit, the company announced last week an effort to create a quantum computer, an amalgam of exotic hardware and specialized software that will allow parallel computations at speeds orders of magnitude beyond what conventional silicon can provide.
An announcement like this would once have been easy to blow off as a science-fiction self-indulgence. But in the last couple of years, quantum computing has become a field of serious study for big-name enterprise IT companies. Here are four big takeaways from Microsoft's plunge into what may prove to be a very deep pool.
1. Microsoft is late to this party, but that may not be a bad move
Microsoft is known more for being a refiner than an innovator, but that's not always a bad characteristic. It wasn't first to the cloud, but Azure is fast shaping up to be a powerful contender in that space. By hanging back, it learned lessons about what was worth attempting in this space, instead of unthinkingly copying existing contenders.
The same may also apply to Microsoft and quantum computing. Right now, IBM and Google have their QC efforts underway. IBM is creating its own custom hardware, and Google is looking for ways to synthesize approaches between different QC methodologies.
There's much to learn from all of them. By waiting to kick off its program, Microsoft can avoid some of the earlier dead ends and false starts instead of repeating the mistakes of others.
2. The plan is to build tools, not lab toys
Quantum computing has long been regarded as a lab plaything rather than a practical application. That reputation is deserved in part: QC hardware can currently solve only a very narrow range of problems, so it's impractical for the kind of work done on conventional computing hardware. QC company D-Wave (supplier of Google's quantum hardware) has long been associated with solving highly specific problems, but IBM's approach involves creating more general-purpose systems.
Microsoft's plan is to use a different kind of quantum computing building block -- what it calls a "topological qubit" -- as the underpinning for its hardware stack. It's been difficult to create general-purpose QC hardware because quantum hardware operates properly under highly controlled, isolated conditions only. Topological qubits are believed to be more robust and thus easier to build larger systems out of -- meaning they can work in the real world, not in a laboratory alone.
In short, Microsoft wants to produce a monetizable product, not an abstract technological accomplishment. After all, the latter's already been done.
3. There's already cloud-based quantum computing, but perhaps Microsoft can do better
If history's any guide, Microsoft's most likely plan to create a product, not merely a project, of quantum research will be to offer access to its quantum hardware via Azure.
Thing is, IBM already has a version of quantum computing as a service (QCaaS). It currently offers time-shared access to programming its own five-qubit processor through a web-based, drag-and-drop "composer" interface.
But IBM's QCaaS offering is highly limited. It's essentially an experimental sandbox with few options to use the resulting quantum programs, or "circuits," outside of the sandbox. Maybe that's justified for now, since QC programming is so radically unlike conventional computing.
Microsoft could take advantage of such a disjoint by doing as much as it can to bridge the two realms -- offering Azure-based QCaaS with many common QC functions already prebuilt, for example.
4. Microsoft's existing language tools would make a great platform for future QC development
A more powerful long-term bet would be to have QC development tools available through Microsoft's existing software development and language products.
An Azure QC module for C#, R, or Python, for instance, could allow users of those languages to write QC code with software development metaphors they're already familiar with.
Some precedent for this sort of metaprogramming already exists. The LLVM compiler, for instance, has libraries that allow other languages to drive the compiler -- such as llvmpy for Python. In the same manner, Microsoft could create metaprogramming libraries for QC with bindings to most any language.
Microsoft has already started working on the software side with a tool called Language-Integrated Quantum Operations, or "LIQUi|>" (not a typo). It allows users to define quantum circuits in Microsoft's functional F# language. F# may be a first-class language in Microsoft's world, with full-blown Visual Studio support and constant upgrades, but it's nowhere nearly as widely used as other languages in Microsoft's portfolio (C#), let alone all the outside languages that Microsoft supports directly (R, Python).
If Microsoft's long-term plan is to bring quantum computing to the masses -- all signs hint at that being a major motivator -- it only makes sense to support it with the tools everyone already knows and makes the most of.