Why Windows 10 is more complex than you may think

For just over a year now, Microsoft’s new CEO, Satya Nadella has been busy making some big and fundamental changes to Microsoft’s core business strategy.

A bit like their “just in time” MSI software installer, Nadella arrived “just in time” to transform the company from it’s conventional and monolithic software and licensing business to a more dynamic and customer focused services and devices provider.

Whilst Nadella has shifted the focus recently to their cloud services such as Office 365 and Azure, Nadella is subtlety making waves with their bread and butter platform, Microsoft Windows, and it’s turning into what could be a revolutionary games changer. It’s true that bringing back old features such as the traditional Start Menu is most certainly not a game changer, but there are more fundamental pieces in play here than simply yet another new user interface (UI).

Microsoft may be positioning Windows 10 as a quick successor to Windows 8, but Windows 10 has actually been a long time in the making. The concept has been in the development pipeline since the early naughties and has been slowly refined and tested over the last 4 major releases of Windows Server.

It’s for this reason that Microsoft really, really, really wanted to call it’s next release of Windows, Windows One. Sadly, someone realised that they had already made and released a version called Windows 1 many years ago and so the idea was scrapped. They then chose to skip Windows 9 and go to straight to Windows 10. It’s kind of like Windows 1, but with an extra zero and Windows 9 just wouldn’t have had the same underlying meaning, and here’s why.

To begin with let’s look at the first rule of software development:

You never start over and you always improve on the last version

Remember Netscape Navigator? No? Well that’s because they decided to do exactly that. They arguably had the best web browser on the market until some bright spark decided to drop the existing code base and build the browser again, from scratch, from the ground up. The next release was riddled with bugs, was a huge failure and Netscape quickly died a death.

On the contrary, Microsoft’s Disk Operating System (DOS) and it’s Windows platform are now more than 25 years old, but the Windows of today still runs much of the original code from previous versions. As dumb as this may seem, it actually makes sense.

If it ain’t broke, don’t fix it.

However, this can also lead to problems, because you end up building a behemoth. Let me give you an example of this.

The space shuttle computer system consist of 10’s of thousands of lines of programming code. This is kept very learn because unnecessary code could lead to catastrophic problems.

Much the same can be said for nuclear power stations, which is why their computer systems contain 100’s of thousands of lines of programming code and no more.

In contrast, your typical new BMW consist of millions of lines of computer code. There is so much code inside a modern BMW that it take approximately 72 hours to flash each one, once it leave the factory. And the reason that it’s now done when the car leaves the factory is because the manufacturing and production time of the vehicle takes about 8 hours, so the factory would literally grind to a halt if you had to wait for each car to receive its programming. Because coders have come and gone and there has been no real need to overhaul the code base, no one ever did. If you wanted to change something, it was easier to just write some new sub-routines and because none of the code inside your BMW is critical, this just keeps happening. That is, until you start talking about drive by wire. Then it becomes serious, as was demonstrated in some spectacular failures during last years, 2014 Grand Prix season.

This is why it has taken Microsoft over 10 years of reverse engineering, to produce an operating system that is finally Kernel independent from it’s Graphical User Interface (GUI).

In the early to mid naughties, Microsoft began a project that was code named “mini-win”. The principal was simple, separate the Kernel from the GUI.

When Microsoft first delivered it’s DOS 1.0 operating system, it ran the machine it was installed on. You then installed Windows on top of DOS to provide a GUI that was more human centric and user friendly than a command line interface.

This Kernel / GUI separation remained throughout all the subsequent releases of DOS and Windows x.x. Windows 9.x was fundamentally still DOS 1.0 but with upgrades.

However, at the same time Microsoft were busy developing Windows New Technology or Windows NT as it became known. Windows NT was different because it combined the Kernel and the GUI into a single operating system (OS).

The Windows NT Kernel was more robust and secure than the DOS / Windows 9x Kernel and so Microsoft chose to drop the original DOS Kernel in favour of the Windows NT Kernel. This was primarily because it was moving from a consumer only market, into the consumer and business market.

Windows NT would later become Windows 2000, which then became Windows XP / Windows Server 2003, which then became Windows (thrown under the bus) Vista / Windows Server 2008, then Windows 7 / Windows Server 2008 R2, then Windows 8 / Windows Server 2012, Windows 8.1 / Windows Server 2012 R2 and finally Windows 10 / Windows Server 10 (name still TBC).

Because Windows NT was fundamentally built as an integrated OS, combining Kernel and GUI in a single framework, it has meant that Microsoft has had to unpick all the code that interrelates between these two layers.

You could first see this in action when Microsoft released Windows Server 2008, which at the time of installation had the option of a Full Installation and a Server Core Installation. The Server Core Installation was supposed to be a command line only operating system, much like the original DOS. Its purpose was to reduce the attack surface by being more lightweight and robust by removing as many of the unnecessary GUI features as possible, such as Internet Explorer (IE). However, if you typed “Notepad” within the command prompt window of Windows Server 2008 Server Core Installation, it would run Notepad. Why? Because certain applications from the Windows NT era were still fundamentally tied to the Kernel. Here in lies our example of rule number 1 of software develop mentioned earlier.

You never start over and you always improve on the last version.

Windows Server 2008 failed to deliver a true “core” installation, whereas Windows Server 2012 did. In Windows Server 2012 you had the option to add or remove the GUI either at install time or once the Windows OS had been installed and configured.

As you can see, Windows 10 is the culmination of years of Microsoft hard work and end user (main IT department) testing. It’s been a long time coming but it’s going to revolutionise software development because for the first time every Microsoft will provide a device independent, GUI independent OS.

This is HUGE, MASSIVE and almost certain game changer. Here’s why?

Take Android, there is a vast number of different versions of the Android OS in the wild, which makes support and application development challenging. Android is successful because it’s free and it’s everywhere, so there is a huge potential market for application developers to tap into.

Linux did the same years ago. There was an open source code base that anyone could have and update for free and make their own. This lead to different versions of Linux popping up all over the place.

Apple also don’t have a single, unified OS across their devices. They got traction by making their hardware “cool”, but their software stack is still poor by comparison and underdeveloped.

What Microsoft has been planning on doing for over 10 years now, is to say “hey, people, come develop on our platform once and reach every single Microsoft device and customer out there”. And whilst Microsoft’s phone platform still lacks any real market traction, what Microsoft do have and what Nadella is about to capitalise on is the Windows and Xbox market.

It’s for this reason that Nadella is offing existing Windows customers a free upgrade to Windows 10. It’s even why Microsoft have announced that they will upgrade pirate copies of Windows to Windows 10 for free.

Free software may seem like good news for some and a ridiculous business strategy to others, but IMHO I think Nadella is a genius.

Apple and Google own the phone and table application market and Microsoft have been slow to come to the party. Even Amazon is starting to make a play, but I’m willing to bet that in 3 years time Microsoft will have changed this landscape back into their favour.

The history of the company has shown us that Microsoft rarely get their first, but when they do, they make an impact. Just look at Google Docs. Everyone, including businesses, raved about Google Docs but compare them now to Microsoft Office Online (Office Web Apps), Office 365 and Azure and you’ll see that they are a world apart.

What’s promising, is that through Nadellas leadership, Microsoft is finally becoming customer centric again. It’s listening to its customers and it’s changed it’s business model so that it can rapidly adapt and change as and when required.

Personally, I thought Windows 8 was a fantastic OS. I love the new Start Screen Menu and find it much more intuitive and friendly to use, although it did take me a while to get over the initial shock.

Part of me thinks Microsoft wanted Windows 8 to fail, because they weren’t quiet ready across the board for what was coming next. They needed the following 3 things to be in place before changing the rules of the game and Windows 8 just wasn’t it:

  • Microsoft needed to cement Xbox One in the market – Done
  • Microsoft needed to cement the Lumia brand in the market – Almost there. The Nokia brand has been dropped and cheap Lumia handsets are now flooding the market in preparation for free Windows Phone 10 upgrades.
  • Microsoft needed to get their Surface tablet technology to a point where it was technically superior to its competitors – Almost there. The Surface 4 or Lumia Tablet will be the one device you need for everything. Weather at work or play – Desktop/laptop replacement, tablet, phone (with Skype for Business) or games machine, it will do it all.

This is why I believe on the surface, to many people, Windows 10 will look like yet another pointless OS release from Microsoft, but under the hood is years and years of planning, development and testing to release an OS that will change the rules of the game and possibly annihilate much of the competition.

After all, the second most hated thing about Microsoft is having to pay for their software and to some degree Nadella has solved that objection. Now he’s just got to overcome the primary objection that people hate Microsoft because they’re well, Microsoft. I think he’s slowing doing that too, with Outlook.com (free), Office Online (free), OneDrive (free), Office 365 (cheap) and Azure (flexible and cost effective) and he’s breaking down the old silos and making applications and services available across all the major platforms. No one else is currently doing this because they don’t need to. Come the launch of Windows 10, Microsoft will up the pace and saturate the market to domination and as much as people love to hate them, no one makes as much integrated software as they do, and for that I take my hat off to them.

I’ll leave you with a recent quote from Aaron Levie, the co-founder and CEO of BOX.com, from Twitter:

Something that was clearly forgotten during the Ballmer era but seems firmly on Nadellas Microsoft radar.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s