Microsoft is taking bolder steps towards having software developers write one piece of software that runs across multiple types of devices. Previously, if one wanted to develop a program to run on a Windows Phone, the Windows 8 computer or XBox, they had to prepare three discretely different packages with user experiences that play in to the capabilities of the different devices.
Now Microsoft is using Windows 10 as a vehicle to encourage the development of a program that runs on a Windows Phone or small tablet, a regular computer running Windows 10 including a 10”-13” tablet or “2-in-1”, or the XBox. Each of these device classes has a different user experience need so there is the idea to develop a different screen for each of the different classes.
There will be the idea of packaging software as “Windows Desktop Apps” which are like the traditional Windows apps we run on regular desktop or laptop computers, while there will be the Windows Apps that run on the different user experiences such as the Windows Phone or the XBox One. This even applies to future device form factors that Microsoft will target Windows at.
It is symptomatic of the way software development is heading towards where a single program package can be pitched at multiple device form-factors like a handheld mobile device, a tablet, a regular desktop / laptop computer, a TV-based game console / media player and even an in-car display. An example of this is what Google is achieving with their Android platform where a software developer can write a program that plays well for the Android phone or tablet and for a TV (Android TV), in-car display (Android Auto) or smartwatch (Android Wear) just by adding a few lines of extra code pitched at the platform.
What will typically happen will be the provision of a “responsive design” user interface that adapts to the device that the user is running the software on, along with code that can run on the classic Intel processors or the ARM processors. This may be a cinch for various “front-end” programs for online services or some games where there is a desire to have access to all functionality no matter the device.
On the other hand, office productivity software may be focused to allow full-time document creation on a regular computer or quick amendments on a phone or small tablet but wouldn’t play with the XBox One. Or similarly, an MMO game may allow you to use a regular computer or the XBox One to engage heavily with it, including playing the highly-interactive segments but may allow you to use the phone to play it in a reduced-interactivity “incremental” manner.
What I see of value is that someone could get an app off the ground to run on a regular Windows computer, a Windows Phone and, where relevant, the XBox One as one effort. As well it could effectively mean that there are fewer platforms to target when developing that great app yet there is a similar or better level of market reach as they have had before.