In the two weeks since Microsoft unveiled its Windows 8 Developer Preview at Build, more than a million people have downloaded the bits, leaving the vast majority of IT pros wondering what in the world their organisations may someday be getting into.
Here, Microsoft has been characteristically mum, except for the targeted and highly vetted postings of the Windows engineering team on its Building Windows 8 blog. That dearth of substantial information, not to mention reams of unanswered questions, has not prevented Preview users from providing meaningful observations on Windows 8 for the end user's perspective.
But getting an understanding of the client-side nitty gritty in the corporate world is no easy matter, especially when looking at pre-release code. Microsoft is not answering questions, and Windows 8 is no doubt a year away, meaning that nothing is set in concrete. But even with the usual pre-beta admonitions, from an IT and developer perspective there's still a lot to chew on, most notably how Windows 8's bifurcated interface and support for both Intel and ARM signal tough choices ahead for supporting corporate end users in the post-PC era.
Shift in surface, change in architecture support
The first major change introduced in Windows 8 is its bifurcated interface. Terminology varies, but I'll call one interface "Metro," to refer to the UI with the tiles, and the other "Desktop," because it looks and acts much like the Windows 7 desktop, except for the black hole in the lower left corner.
The tiled Metro interface. When you install an application in the Desktop interface, in some cases Windows places a tile that runs the Desktop application in the Metro interface.
The other major factor for Windows 8 is that it is designed to run on both Intel/AMD hardware and the newer ARM-based offerings. Intel tablets coming out in the near term will be comparatively heavy, and the batteries won't last as long. ARM tablets will likely be lighter, longer-lived and probably cheaper.
Some day, Intel will catch up. But for the near future, at least, the most popular tablets will be based on ARM architectures.
If you've watched the demos and keynotes and read the glib reports, you may be under the impression that Microsoft has created one operating system that works on desktops, laptops, and both Intel and ARM tablets. "Intel and ARM, not Intel or ARM," to quote Microsoft CEO Steve Ballmer.
While that may be literally true, at least in a marketing sense, the devil is in the details, and we're beginning to see some gnarly problems that result from mixing architectures and OSes, especially issues that corporate developers and IT departments will encounter.
The three faces of Windows 8
Instead of looking at Windows 8 as a unified operating system running on two different sets of hardware, along the lines of Windows NT, which ran on several different platforms, IT and developers should think of Windows 8 as having three distinct flavours.
- Highly biased toward touch interface
- Can't use the Windows API, must use WinRT
- APIs look a lot like the old COM objects
- Restricted API, no local file or database access
- Subset of .Net 4.5 libraries available
- No shared user libraries, each app is an island unto itself
- No interapp comm, except through "contracts"
- No GDI, can only get to the screen thru DirectX
- No plugins for IE, no Flash, no Silverlight
- Corporate app distribution mechanism unknown
- Differences between ARM and Intel unknown
Desktop on Intel
- Appears to be fully binary compatible with Windows 7 applications
- If it worked on Win7, it'll likely work here
Desktop on ARM
- Very little is known about it
- There is no ARM version of .Net 4.5 ?available right now
- Microsoft has committed to porting .Net 4.5 ?to ARM, but there are no guarantees ?about source code compatibility
- Non-.Net programs are an unknown at this point
Based on the Developer Preview, it's very likely that Microsoft will maintain near 100 percent compatibility with Windows 7 apps, running on the Windows 8 Desktop with Intel/AMD hardware. All of the development tools IT uses with Windows 7, including Silverlight, should work with Windows 8 unchanged, as long as the target is the Windows 8 Desktop on Intel/AMD hardware.
But if you're aiming for the Desktop on ARM machines, it's a completely different can of worms. There's a reason why the tablets given away at the Build conference were Intel-based.