John "JT" Thomas of Embarcadero Technologies has published an article in Database Trends and Applications titled 10 Reasons Why Windows 10 Will Be Important To Developers that we at Revelation Software would like to share.
Unless you’ve been living under a rock, you’ve heard Microsoft has introduced the initial release of Windows 10. Windows 10 has been a widely anticipated release on the part of consumers and business alike, with Microsoft aiming to deploy Windows 10 on more than one billion devices within the next few years. Here are 10 technical and market reasons why Windows 10 will become Microsoft’s biggest release ever.
- Microsoft is making the release available as a free upgrade for the first year. Let’s start with the biggest, albeit obvious, reason. Let’s face it; paying for upgrades is an inhibitor to adoption of any new operating system platform. Consumers and business have to determine if the upgrade is worthy of the asking price. When it’s free, that decision is much easier. Apple has used the free upgrade model with great success in driving the majority of its customers to the most recent available release. Microsoft will serve its adoption goals well by making upgrades free for the first year. This should certainly have the intended effect with consumers and breathe new life into existing systems, much like my personal experience of upgrading a Vista system to Windows 7. A year should be plenty of time for businesses and enterprises to test the system before deployment, and I think we’ll see most XP, Vista, and 8.1 systems updated within that time.
- Windows 10 has been well tested on many different types of hardware. Microsoft’s public beta program for Windows 10 has been active since October of last year. By all indications this public beta - the Windows 10 Insider Preview program - has been very successful in getting the operating system well tested with all sorts of different hardware. The program allowed two modes of updating to new releases: an aggressive update mode to see new features sooner, and a stable mode to ensure the operating system did not crash very often. Working with beta software can be challenging and this program did a nice job of catering to the different types of beta testers. For developers, it was especially nice to see popular VM software, like Fusion and VMware, provide easy-to-download and install updates into a virtual machine. This gave developers the opportunity to try new features and APIs without having to sacrifice a complete set of hardware. Overall this program gave Microsoft an opportunity to find any issues in the operating system and in the developer experience well before the initial launch. This release should look very good on day one.
- Windows 10 addresses many of the usability issues in Windows 8. It’s no secret most consumers did not get (or like) the new User Interface of Windows 8, particularly on desktop operating systems that were primarily interfaced with a keyboard and mouse. Those that used it primarily on tablet however saw the promise of the Modern Windows UX approach for touch interfaces. In both cases, the biggest complaint was the removal of the traditional start menu (the primary interface for finding applications to run). We have all been trained over the last two decades, since Windows 95, to start most tasks from the bottom left of a Windows OS and the big tiles of Windows 8 was a big change. Although the 8.1 releases re-introduced a classic desktop, the start menu was still missing. Windows 10 does a fine job of re-introducing the Start Menu but with many of the useful big tile enhancements first introduced in Windows 8 exposed through the menu.
- It’s not just a Windows world anymore, and Windows 10 acknowledges that. From a mobile perspective, Microsoft hasn’t historically had much success with Windows. As such, it hasn’t been a popular target platform for most developers who must already support both Android and iOS. In fact, most Windows developers are now also Android and iOS developers in response to market demand. Android and iOS have had great success in luring developers to build apps for their platforms due to wide consumer adoption, and Microsoft plans to make it easy for developers to get those apps onto Windows 10 systems. Microsoft announced two programs - Project Astoria and Project Islandwood - with the aim of taking existing Android and iOS apps respectively, and rebuild, re-package, and/or re-sign them to run on the Windows 10 Universal Windows Platform (UWP). This is a bold move; one that is fully accepting of market dynamics and equally ambitious in its technical solution.
- Classic Windows applications will continue to work without modification. One area in which Microsoft has always excelled is in enabling older applications to continue to run in newer versions of the operating system. As one example, I am still able to play one of my favorite 16-bit DOS games on my Windows 10 Insider Preview. That is just plain amazing and critically important for business and enterprise adoption where many applications may not be able to be practically ported but still need to perform critical functions within the business. Even better, Windows 10 enables the classic Windows app (those based on the Windows API) to fully participate in the Windows 10 store for public and internal distribution as well as full access to the Universal Windows Platform through Project Centennial. In a sense, Project Centennial allows classic Windows apps to continue to be first class citizens in this new world, which will make a big difference for adoption.
- Universal Windows Platform features are accessible through Project Centennial. In Windows 8.1, Microsoft introduced a new runtime called WinRT that could span its desktop and mobile targets with one codebase. WinRT introduced the concept of sandboxing apps on Windows and as such the new APIs and services of WinRT were not directly available to Classic Windows apps. With Windows 10, Microsoft is opening up those APIs to be fully accessible to Classic Windows Apps with Project Centennial. For example the new notification API, which is only available through UWP, means a classic Windows app would not be able to send notifications to the operating system. However, Project Centennial changes that and gives developers access to these new features without having to completely re-write their applications. Details are forthcoming, but this is a very important program for developers to add these modern features into their existing applications.
- Even Web Apps get enabled. One of the approaches pioneered by mobile operating system vendors to accelerate apps on their platforms was the enablement of “wrapping” existing web content into a downloadable package, which for all intents and purposes, appeared to end users as a full-fledged application. This concept, known as mobile web apps, was a very successful approach because it allowed developers to take existing content and code and simply package it for App Store distribution. The HTML rendering and JavaScript interpreter functionality was already on these devices to support traditional web browsing, so it was a straightforward process to make that available to individual apps. In Windows 10, Microsoft delivers through Project Westminster, the ability to package web content into a store app and gives UWP access to JavaScript developers to integrate the latest features, like the app Notifications previously mentioned.
- The Internet of Things and maker boards.The Internet of Things (IoT) is the next frontier in terms of enterprise and industry solutions that integrate physical and environmental capabilities into existing and new applications through IP protocols. IoT is revolutionizing computing and applications within a real-world context to automate and improve how humans interact with applications through a physical environment. This revolution is enabled by smaller, more powerful and cheaper hardware, as well as the proliferation of the Internet. Now, any physical object can be attached to a network to give or receive information from any other app or object attached to the network. Most of these new inventions are based around maker boards for developers to “make” things, most of which have been historically based around Linux. With Windows 10, Microsoft is introducing the Windows 10 IoT Core platform, which enables UWP apps to run on these tiny boards including Raspberry Pi 2 and Arduino. It also gives developers the opportunity to build backend server, mobile, desktop, and now IoT apps for Windows.
- Hey, Microsoft skipped 9, so I am too.
- Microsoft is catering to developers again. It may seem like most of the reasons I have stated for future Windows 10 success revolve around features for software developers and that is, in my opinion, a key factor to its future success. Although Windows 10 introduces many features and onboarding programs that will accelerate its adoption with end users, its success absolutely relies on continued support from software developers. Software developers want and need to support widely adopted platforms, and Windows 10 appears to be ready for rapid deployment with its free upgrade program, wide testing and UX improvements. Developers also need to be enabled with new capabilities to help drive the end user adoption, and again Windows 10 appears to be addressing that in meaningful ways with its UWP bridge projects, Centennial for classic Windows apps, Astoria for Android, Islandwood for iOS, and Westminster for web apps. In summary, every developer has an opportunity with Windows 10, and that is going to make all the difference.