Windows is now truly one operating system, whether you're on a smartphone, tablet or PC.
Windows Phone 8.1, Windows 8 RT and Window 8.1—that is, the phone, tablet (sort of) and PC flavors of Windows—are no longer distinct operating systems that largely look alike but vary wildly under the hood. Microsoft has spent the last couple of years updating its disparate Windows versions so that they work together with the goal of letting developers write one app and deploy it—after some tweaking to the user interface—to Windows PCs, tablets and smartphones.
True, Microsoft's operating system naming conventions are still awful. But that shouldn't obscure the major step forward this code-base unification represents to developers, nor the benefits that will flow to users as a result.
All three flavors of Windows now run on a common software core, or "kernel," with a common runtime (i.e., the set of tools necessary to run programs). The major remaining differences between them have mostly to do with how they handle user-interface issues across a variety of devices, input methods (think touchscreens vs. mouse and keyboard), hardware (not just CPU and memory, but graphics processors, accelerometers and other sensors) and screen sizes.
Microsoft knows that those differences still present obstacles for developers, and hopes to address many of them with an update to its integrated developer environment, Visual Studio 2013, which it announced at Build 2014 this week.
Kevin Gallo, Microsoft’s director of the Windows Development Platform, describes it in a post on the Windows blog:
Write Once, Deploy To All The Windows
The Visual Studio update allows developers to port existing apps across devices and their specific versions of Windows. For instance, if you have a Windows 8.1 app, you can use settings in Visual Studio to target smartphone-specific capabilities in Windows Phone 8.1. Visual Studio is designed to let developers use the same basic app code across different devices and Windows flavors, and allows them to emulate how an app will behave in each case.
From Microsoft's perspective, the two most important takeaways for developers are these:
- You can build universal apps and share all the code while just making tweaks to the user interface
- Visual Studio offers a variety of diagnostics tools to optimize apps for use on different device—smartphones running Windows Phone, laptops running Windows 8.1, etc.
Essentially, Microsoft wants to make it as easy as possible for developers to build Windows apps. Given Microsoft's minuscule share of the mobile market to date, you can hardly blame it.
In practice, this means Windows Phone developers—and you know who you are— essentially have three options. If you've built your apps using the Silverlight Phone 8.0 development tool, you don't have to do anything; they'll continue to work as is on Windows Phone 8.1.
Alternatively, you can update your apps to Silverlight Phone 8.1 to access the new features in Windows Phone 8.1, such as the Cortana personal assistant and customizable homescreens. Or you can migrate your apps to the universal Windows app platform with the new tools in Visual Studio. Of course, if you prefer, they can also just start from scratch and build a "universal" Windows app to Microsoft's specifications, which would theoretically optimize it for the new unified Windows code base.
Buy Once For All Of Your Windows
For consumers, Microsoft aims to make the process of buying an app easier. If you buy an app for your Windows 8.1 laptop, you can automatically download it to your Windows Phone or vice versa. Microsoft insists that you won't need to buy separate apps for separate versions of the operating system because, essentially, Windows is now all one big operating system now. The same is supposed to hold true for in-app purchases within these apps—they should migrate from laptop to tablet to smartphone as well.
Apple doesn’t do this. If you buy an app on Mac OS X for your iMac or MacBook, you will still need to download or buy the same version for your iPhone or iPad. Google doesn’t do this, either. If you buy an app or extension for Chrome OS, you will still need to buy that app for Android on Google Play.
Some individual apps for Android and iOS, of course, do let customers download versions for different devices—for instance, via a subscription service or universal login. But that's up to the app developer. It's not required by Apple or Google.