Microsoft's Windows 8 is a much anticipated update of the venerable operating system that is going to include some major changes. One of the primary drivers of the change is putting the operating system onto mobile devices in particular tablets. Over 2011, tablet sales grew dramatically while desktop and laptop sales continue to decline. As a result, Microsoft has a major reason to try and develop an operating system that can tie together their tablet business which Windows 7 has failed to do. But has Microsoft's plans for Window 8 been good for consumers or is it just going to cause problems?
The Windows operating system has been developed to run on a specific form of computing processor called x86. This is from the early Intel processors used for the first IBM PCs that Microsoft developed the operating system for. Over the years, the architecture has expanded with various extensions which Microsoft has integrated into their operating systems. While the processors are good for performance, they tend to have issues dealing with efficiencies. Tablets on the other hand are primarily built around the ARM processor architecture. This was developed for high efficiency which is critical to a mobile device. This means that the tablet devices out there can't run the existing Windows operating systems.
Windows 8 on ARM is a major development for Microsoft that is designed to challenge the entrenched tablet devices that primarily run the Android or iOS operating system. The goal of the project is to use the exact same code base as the normal Windows 8 so the experience would be the same between the tablet version and the traditional computer version. While this sounds pretty dramatic, something like this has been done in the past.Back in 2005, Apple transitioned their Macintosh computers from the previous IBM PowerPC processors to the more prevalent x86 processors. This presented major challenges because the code written for one type of processor would not run on the other. Essentially, Apple needed to have some way to transition people from the two types without breaking applications and the operating system. They dealt with this issue by including software called Rosetta. This essentially was a form of emulation that let programs written for either the x86 or PowerPC processors run on the other. It did provide a bit of a performance hit but it was a seamless system that eased the transition over the complete x86 program base.
So, how is Microsoft going to handle dealing with two different code bases for the x86 and ARM? They have already stated that there will not be emulation between the two architectures. Apparently, the processing power required and performance hits from emulating x86 on ARM is too high. This means that the ARM based Windows 8 tablets will not be able to run any form of legacy code. Only programs written specifically for Windows 8 should be able to run on either platform. This seems complicated but it has to do with the various user interface modes between the two architectures.
Desktop vs. Metro UI
The Windows interface that we have grown accustomed to over the years is referred to as the desktop mode. Microsoft is looking to change the user interface of Windows 8 to the new Metro look. This was first developed for their mobile phone system and has been refined to eventually move into the desktop world. On a standard computer system running Windows 8, the default UI will be the sleek and efficient Metro. Of course, legacy applications written before this don't use. Because of this, Windows 8 also has a desktop mode so that it can run those legacy applications in an environment that will look just like Windows 7.
The tablet version of Windows 8 for ARM will also have the desktop UI built into it, but only for a limited set of applications. Specifically, Microsoft's Office suite of applications will use a default desktop mode to retain the look and feel that people have become used to. This mode will only work for Windows 8 specific versions of the office suite applications that will likely come bundled with the tablets. This looks like it will make software developers have to deal with two different code bases for each architecture but Microsoft has put in one thing that will make it a bit easier to deal with.
Any application that is written for the new Metro UI will use a unified code base. This means that software developers will write one version of the code. When the code is then compiled, it can be run on any version of Windows 8 with the Metro UI. This means new applications can work with either the x86 or ARM versions. The trick is getting those applications to the devices and this is where the Windows Software Store comes into play.
The Windows Software Store is Microsoft's answer to the application stores that both Apple and Google have developed for their operating systems. It is a form of digital distribution that links software to a user and their devices. Why is this important? Because this allows consumers to buy a single piece of software such as Word and allow it to be downloaded to both a desktop running the x86 Windows 8 and an ARM based tablet with Windows 8. Each device would download the appropriate version of the application to run on the device. This does make it simple to deal with multiple devices but it also means that consumer likely will not be able to purchase the tablet specific physical software packages that can be loaded to their tablet similar to Apple's iOS devices.
Installing and Updating Windows 8 Tablet
For those out there that like to hack together their own hardware to run what they want will be a bit disappointed with Windows 8 for ARM as well. Unlike the x86 architecture where drivers are fairly universal as is the processor architecture, ARM chips are a bit more complicated. Because it is a licensed design to manufacturers, they can make a number of changes such as the graphics engine that will be put into the system on a chip that goes into the tablet. Each installation of Windows 8 for ARM will have to be customized for hardware in question to work properly. This means that a generic Windows 8 installation can't be put onto any old ARM tablet. Those hoping to get a cheap Android based tablet with an ARM processor won't be able to just easily put a copy of Windows 8 on it. This also has implications for updates to the operating system as each manufacturer would have to certify any updates and release them rather than using a standard Windows Update mechanism.
Why Does This All Matter?
The problem that Microsoft is introducing with Windows 8 is that they want a unified OS name that goes across all their different product types as they want the experience to be seamless between device types. This is great for branding but is actually going to cause a lot of grief for consumers because they won't always act the same.
Say you go into a store or see an ad for a Windows 8 tablet from a retailer. One would assume that this device would run all the the legacy programs that one might have from an existing computer as Microsoft has done with past versions of Windows. The problem is the tablet in question may or may not actually do this. A tablet based on x86 processors will likely be able to but if the device is based on the ARM processor it probably won't. Unless Microsoft creates some way of differentiating the two and ensuring that retailers do the same, then many consumers may end up with a product that will not do what they expect.