Microsoft's Future: Part TwoAs explored in the first part of this series, inconsistency is the biggest hurdle that Microsoft has needed, and still needs, to overcome. Now I would like to elaborate and point out these incongruities beyond the old icons in Windows Vista. By arguing that aesthetics play a large role in deciding what computer or software to buy, some may ridicule this for taking a simplistic approach. However simple it may be, it’s not simplistic.

A few years ago, the world looked on as Microsoft was preparing to take over Yahoo!. For some unexplained reason, that merger didn’t happen. In the spring of 2008, Microsoft made a $47.5 billion hostile offer to buy Yahoo!, but after a four-month battle, Microsoft abandoned the offer. On July 29, 2009, the two companies announced a more limited deal, the New York Times reported. A partnership in Internet search and advertising was created in an attempt to confront the industry powerhouse Google. Yahoo!’s operating income could increase by $500 million a year, based on higher search traffic and ad revenue, and a substantial drop in research and development.

Coincidentally, Newsweek predicted for 2010 that Steve Ballmer might have to step down. “Apple won in MP3 players and online music sales, and now holds the high ground in mobile phones, while Windows Mobile [6.5] fades away. Microsoft’s Zune music player is a dud. Bing, Microsoft’s search engine, will never catch Google. Ballmer is said to be a brilliant guy, but he got a black eye for the way he blundered and blustered and finally botched an attempted acquisition of Yahoo!.” After 10 years as CEO of Microsoft, Steve Ballmer would not be celebrating. Stock prices have dropped nearly 50 percent on his watch, lagging even the Dow Jones average. It could be argued that the bad rep Windows Vista produced has distracted the Redmond giant. It has missed every big new tech market of the past decade.

Partly, the inconsistency of Microsoft’s corporate structure comes from a lack of self-confidence. Microsoft decided that it wanted to cash-in on the music player market; a good three years later, the Zune HD, although having received fairly positive reviews, failed to gain a foothold. Surely the risk of an international flow is high, but Sony took a risk, too, when it released its overpriced PS3 in November of 2006. At launch, every unit was sold at an estimated loss of $250. Recently, it turned around to about $250 profit per unit. Risk assessment plays a critical role in becoming a market leader. The Zune would have done much better in Europe than it did in the US, but incongruent business plans have limited the Zune platform.

What makes Apple a winner is its take-over-the-world attitude. In the famous “Think Different” ad campaign of the mid 1990s, Apple proclaimed that “the people who are crazy enough to think they can change the world are the ones who do.”

As mentioned in part one, there is a new hope. And that hope is kindled in the shape of Metro UI and Windows 8, which is also the foundation for Windows Phone 8. The company is betting everything on this new design philosophy, which goes beyond just a visual makeover. Metro UI also brings with it a new development platform: Windows RT.

Microsoft has acknowledged its mistakes during the Vista development. In the months preceding its RTM date in fall of 2006, developers were stuck in the midst of bedlam. The decision to change or rewrite many parts of the code resulted in a costly delay. Added to that was an insufficient briefing of hardware vendors; this is why they weren’t able to produce adequately functioning drivers in time for Vista’s release. Microsoft had to take the fall. Yet the five years of development on Vista were also invested, in part, in Windows 7. Microsoft has erred, and it forgot how old the Windows system actually was. Time had come for a refurbishment.

Windows 7 is kernel version 6.1.7600 so as not to break compatibility, and to prevent the driver chaos of the pre-SP1 Vista era. Yet, underneath the unchanged numbering, came a much-improved kernel with better multi-core support. Even the oft-mentioned MinWin is out and about in the Windows 7 era, which is secretly version 7 of the original NT kernel. In an insightful video on MSDN Channel 9, Mark Russinovich explains how the MinWin kernel facilitates the testing of the Windows environment. Since it’s significantly smaller in size, one can test different parts of Windows out of context; its great advantage is its self-contained nature, which will help improve the embedded and mobile versions of Windows.

Here is where you recognize Microsoft’s inconsistency over the years. When Windows Server 2003 came out, it had come to accept that, while good at developing a full-featured NT-based OS, Microsoft was incapable of producing one that was independent from an NT core. Microsoft is good at one thing, while completely ignoring something else.

As Mark Russinovich points out, the real problem was dependency. Every low-level system service is tied tightly with DLLs that are concerned with displaying a UI. For the thousands of Windows developers, it’s a hellish predicament; it was impossible to change any part of the system without knowing exactly how these changes might affect the rest of the system. In late 2007, Eric Taut, a lead Windows engineer, demonstrated a tiny iteration of Windows running completely without a UI, but doing nothing aside from running a simple HTTP server. This short test made the tech press proclaim it as the future of Windows, a “new kernel,” a “text-based Windows,” and so on. It’s none of these. It’s not a kernel at all, in fact. Rather, it’s a set of various components as well as the entire Windows NT executive. It could be booted with as little as 25-40 MB of memory.

The MinWin (Also: Server Foundation) project started when Windows developers realized that the server core is not separate from the true core of Windows. Yet the advantages of a kernel that can be dissected into smaller parts are not limited to the world of servers. Before MinWin, the server core was slimmed down to the point where any added application could make the system positively unstable. Furthermore, it’s not scalable or testable at all. That’s when Microsoft began mapping out every single dependency of Windows system parts. This helped find a way to stack up the kernel, rearrange APIs, and create a clean separation within the OS.

Imagine that you take Windows and cut out the core with scissors. You cut away everything you think is not needed to run the basic operations of a server. That’s the server core. There will be threads or dependencies left dangling, though. The problem begins when this succinct kernel calls for a function, and then looks for something that’s not there anymore. This would result in a severe system failure. Windows PE is the same, for that matter. However, as Windows grows, it becomes wholly unsustainable. With each new release, one would have to cut out the core at a different line. MinWin is a solution for that problem. By moving around APIs, the developers were able to define the layer at which MinWin is cut out, completely isolating it from the rest of the system. It’s possible to boot it and test it separately. Since there are no more dependencies, Windows developers are able to innovate the pieces in MinWin, which Mark Russinovich calls Cutler’s NT. That’s principally just the NT subsystem and executives, as well as networking, bundled in a compact mini-kernel.

Windows 8 and Server 2012 will be the first releases to fully integrate the WinMin kernel, as opposed to Windows 7, which used only parts of it. According to IT World: “In its essence, MinWin is the effort of reducing the Windows core to its absolute minimum by reducing all dependencies. Windows 8 will likely be the first OS to fully implement and use MinWin (unlike Windows 7, which seems to use only parts of it).” Also according to the report, there are nearly 6,000 references to MinWin in an internal Windows 8 build. MinWin is the core of the Windows operating system that deals with the kernel, hardware abstraction layer, TCP/IP, file systems, drivers, and other core system services.

In a way, Windows developers are reverse-engineering their own product to better understand it. Since Windows 3.1, the OS has become overly complex and unnecessarily big by supporting countless legacy systems. MinWin is the result of years of research into the internal workings of Windows. With the help of the resulting dependency table, developers are now able to effectively slim down the Windows core without disrupting the DLL subsystem — this will greatly benefit Windows Phone 8, too. Right now, MinWin is about 40 MB on disk, while Server Core is 1.25 GB. MinWin is 100 files big, while all of Windows consists of 5,000 files. Windows 8 MinWin can contain thousands of files.

In Windows 7, this has already come to fruition on a basic level. There is a new DLL called KernelBase. Here we can see a first implementation of MinWin as the all-encompassing kernel32.dll has been sliced into smaller pieces. “This is visible in Windows 7 because of new DLLs. There’s KernelBase, so Kernel32 is one of these DLLs that needed to be re-factored, we call it, so some parts of the Kernel32 API did not belong in the kernel and some parts did.” Mark Russinovich explains. MinWin is like a book of guidelines to understanding dependencies in Windows and to find a way of restructuring, not rewriting, the system to make it better applicable to customized settings.

Windows Phone, as always, has been the black sheep on the smartphone market. Its biggest problem is no quality control on any of the devices out there. The iPhone operates within a controlled environment. Both the hardware and software are developed by the same manufacturer. Either Microsoft releases tighter rules on which devices may license the Windows Phone platform, or it simply makes its own smartphone. The Nokia Lumia series is definitely a good start in the right direction.

Yet the question many people ask is how all of this comes together. The third part will explore the sum of all these parts.