With the release of the new Surface Laptop came the announcement that meet another edition of Windows was upon us. Windows 10 S heralds, in my view, a potential point of confusion for consumers. But there is a big benefit with Windows 10 S. It may take some effort from developers but we are at the cusp of a major pivot in the development of Windows software that will be of substantial benefit.
A brief history of Windows
I first started using Windows back in the early 1990s. I just finished uni and my dad had a PC set up at home by his employer. It was a screamer for its time - 486DX2 66 with 4MB of RAM and a 120GB hard drive, that was soon supplemented with a second drive. It started with DOS 5 and Windows 3 but soon bounced up to DOS 6.1 and Windows 3.11 for Workgroups.
When Windows 95 arrived it signalled a shift in the world. No longer did we have to install DOS first (three floppy disks) and then Windows (another seven disks). One set of disks, or a CD if you had a fancy computer, and you had just one operating system to install (I get that DOS was really the OS and Windows 3.11 and its predecessors were really operating environments but for simplicity, lets call Windows an OS).
In parallel, Microsoft started creating another operating system platform. Windows NT had a significantly different architecture to Windows 95. Although both were 32-bit, Windows NT offered nifty features like hardware abstraction and protected memory. So, one errant application didn’t necessarily crash your whole system.
When we got to Windows XP, the two forks converged into a single road. And thus it has evolved to where we are today.
Developers, developers, developers
Most of the software developed for Windows to this point was built on the foundation of Win32. Win32 is the 32-bit API that came into being with Windows NT and has stuck around since the mid 1990s. It has served us well but it’s the product of a bygone age and doesn’t really serve us particularly well today. So, in the early 2000s, Windows introduced a new programming interface called .NET Framework. It was supposed to replace Win32 but that didn’t happen.
When Windows 8 appeared, Microsoft, made another pivot in how software for its platform would be developed. The Universal Windows Platform (UWP) arrived. And while it offered all sorts of goodies - such as better security - it was hampered by the way it worked with users. In short, the Metro interface was not widely embraced. While Microsoft tried to get us all onboard with a Start Button-less version of Windows, we had embraced the Start Button for 27 years by then. And, as one famous French king once said “the peasants are revolting”.
So, here we are today. And the news for developers today is that Windows 10 S represents a watershed moment. Because Win32 is finally being euthanised once and for all. Well, kind of - it’s being moved to the Centennial Nursing Home.
Windows 10 S and developers
Windows 10 S enforces the curated Windows Market as the only place where users can access software. It’s why Apple has announced that there will be a new version of the festering pile of horse ca-ca that is iTunes for Windows.
Win32 apps can’t be distributed through the Windows Store. And the arrival of a version of Windows (like the failed Windows RT before it) that can’t load applications that aren’t developed using specific, secure tools is a sign that the legacy of Bill Gates’ Trustworthy Computing memo still lives on.
For developers, there are some options.
During the Build conference, happening this week in Seattle, Distinguished engineer John Sheehan said that with Win32, apps don’t really exist. Program installers just vomit files into your system. "We really got it mixed up with Win32. We kinda let you do anything,” Sheehan said.
Project Centennial remedies that for some Win32 applications. It allows developers to repackage their Win32 and .NET software into app-like packages. It bears some similarity to App-V - which I’ve used for distributing older apps with one of my past clients - but allows applications to interact with UWP and other parts of the operating system.
However, as they operate in isolation from other applications, they deliver security and reliability benefits.
Of course, the heralds an opportunity for developers to get in early and reap the gold rush as they can offer useful applications before larger developers jump in. By developing today in UWP, developers can get their apps into the Windows Store. So, if you can build a better Twitter client in UWP, now might be the time to jump in before an official one corners the market.
Are you a developer? What do you see as the next step for you? Will you be repackaging your existing Win32 apps or will you start porting to UWP?