There were a number of very cool announcements made at Microsoft Build’s 2016 kickoff today, Wednesday, March 30th. On first brush, one might not notice the common theme across the announcements, however.
- Hololens is shipping for developers.
- Xbox One has an active Dev mode, enabling any Xbox Retail unit to become an Xbox dev kit (and go back) at essentially the flick of a switch.
- Windows 10 Mobile (formerly Windows Phone) has Xbox controller support coming for Continuum.
These things may seem disconnected, but if you look again, they’re not… nor are the other less obviously connected major announcements such as:
- A “Bot” framework, “BotFX” which enables users to quickly and easily develop and publish context-connected actors in the cloud to participate in text and voice conversations (such as Skype, Slack, SMS, et al) and operate intelligently on them.
- Touch tools to make Ink, especially, a 1st class input device in Windows 10.
- DirectX 12 saw some major releases hit the shelves recently.
- A simple way to make legacy Windows apps publishable as a Windows 10 app, including a way to extend them to take advantage of additional hardware such as touch and Ink.
- I would even argue that BASH for Windows 10 fits into this plan.
Microsoft has been promising Mobile First, Cloud First for a long time. Until today, there’s been a consensus that Mobile First meant Tablet and Phone… as in those hardware form factors get updates and features before classic alternatives. Today Satya Nadella, CEO of Microsoft, addressed the developer crowd and clarified (or perhaps more accurately “redefined”) what “Mobile First” really means.
Mobile First, Cloud First has morphed to mean something more like “Portable First, Cloud First”, with portable referring directly to the Universal Windows Platform… write your code once, and the user can take it to any device (desktop, laptop, phone, IoT) and use it as naturally as possible with the whatever human interface device is available (keyboard, mouse, touch, ink, voice, text, etc)…
And there is, indeed, how all the announcements fit together.
All of the announcements made today talk about how Microsoft is diversifying the human interface, yet keeping the context of all your work and play available across all devices. Your apps are there, and they work just as naturally with voice commands as they do with ink.
Note that keyboard and mouse are relatively unnatural compromises in human interface paradigm, and their use will be diminished in the future.
If pen and paper is the natural choice, Ink will replace it.
If voice makes sense, it will be available.
If an intelligent actor might assist you, Cortana and your trusted “Network of Experts” (Apps and BotFX bots) are there. If a virtual or augmented reality makes sense, your apps will join you on Hololens.
If an Xbox controller is the right choice, no problem.
All of these things can be enhanced significantly with DirectX 12, even for non-games.
And the Cloud will interlink them naturally so that you can flip from tablet to Hololens without skipping a beat. (in some ways, live process migration is really becoming a reality; when the apps are the same across every deployed device, the only thing that needs to transfer from device to device is user data, and that’s happening via cloud.)
One segment that didn’t see much love today: the Web. Or did it? Bash for Windows 10 is a bit of a stretch to connect to the coming shift, but really, it is meant to make it easier for developers to deliver web-based, cloud-hosted solutions using Visual Studio to non-Windows hosts. Indirectly this will aid in the creation of services that might support Bots made with the BotFX, for example. All of this is based predominantly on JSON over REST / HTTP.
Some would point out that Windows 10 Mobile (formerly Windows Phone) didn’t get any stage time, either, but the reality is that Microsoft no longer sees the smartphone edition of Windows to be a separate thing. Windows 10 is converging on “The Best Windows Ever”, Windows 10… smartphone or not.