MinWin strikes back
Economic downturn invites enterprises to define their goals anew. In this day and age it's crucial to have a road map and strictly adhere to it. Microsoft is doing some soul-searching, thus restructuring their presence in various markets.
Today especially it has been snowing relentlessly; a true white Christmas will come to Germany perhaps. However, the falling snow reminds me of the economy. Imagine the snowflakes are everything bad that has happened on the global market. They'll melt eventually, though. So the economy will surely recover, perhaps swifter than anyone might expect. A little optimism doesn't harm in dark times, because after every crisis triumphs ensue.
Just a few days ago, on Tuesday, Microsoft China admitted to stealing code from Plurk (a microblogging site). They have made their theft known. Last month, similar accusations were raised against its Windows 7 USB/DVD download tool. It started when Windows 7 Secrets co-author, Rafael Rivera, alleged that Microsoft had illegally used open source code. In their official statement they admit to using the code in question, but without doing it intentionally. They accept responsibility, since they did not catch it as part of their code review process. Paul Thurott comments that "one instance of theft is still theft, people. Now that Microsoft has admitted to what it did, I hope the rest of the doubters see the light as well."
In the first part of this editorial series, I said that inconsistency is the biggest hurdle Microsoft needs to overcome. Now I would like to elaborate and point out these incongruities, beyond just the old icons in Windows Vista. By arguing that aesthetics play a large role in deciding what computer or software to buy, some may mock me for my simplistic approach. However simple it may be, it's not simplistic.
A few months ago the world looked on as Microsoft was preparing to take over Yahoo. For some unexplained reason that merger didn't work out. In the spring of 2008, Microsoft made a $47.5 billion hostile offer to buy Yahoo, but after a four-month combat, Microsoft abandoned the offer. In July 29, 2009, the two companies announced a more limited deal. A partnership in Internet search and advertising is created in an attempt to confront the industry powerhouse Google. Yahoo operating income could increase by $500 million a year, based on higher search traffic and ad revenue, and a substantial drop in R&D.
Coincidentally, Newsweek predicts 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 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 will 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 Vista produced, has distracted the Redmond giant. They have 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. One minute Microsoft decides that it wants to cash-in on the music player market; a good three years later, the Zune HD, although having received fairly positive reviews, fails to gain a foothold. Surely the risk of an international flow is high, but Sony took a risk too when they released their overpriced PS3 in November 2006. At launch every unit was sold at an estimated loss of $250. Recently, Sony cut manufacturing costs by 70%. Risk assessment plays a critical role in becoming a market leader. The Zune would do much better in Europe, than it has so far in the U.S., but in congruent business plans have limited the Zune platform. The Nintendo underdog Wii is a good example of how risk can pay off.
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 "those who 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 very heart of Microsoft: Windows.
Microsoft has acknowledged its mistakes during the Vista development. In the months preceding its RTM date, in the 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. Add to that an insufficient briefing of hardware vendors; and the result was many 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 is. Time has come for a refurbishment.
The latest Redmond OS is still kernel version 6.1 so not to break compatibility, and to prevent the driver chaos of the pre-SP1 Vista era. Yet, underneath the unchanged numbering, is 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 and test them 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, it was wholly incapable of producing one that is independent from a NT core. Microsoft is good at one thing, while completely ignoring something else.
As Mark Russinovich points out, the real problem is 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 OS 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 a set of various components as well as the entire Windows NT executive. It can be booted with as little as 25-40mb of memory.
The MinWin 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, rearranging APIs and create a clean separation within the OS.
Imagine 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 being 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 where 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.
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. 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 Mobile too. Right now MinWin is about 40MB on disk, while Server Core is 1.25GB. MinWin is 100 files big, while all of Windows consists of 5,000 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 understand dependencies in Windows and to find a way of restructuring, not rewriting, the system, to make it better applicable to customized settings.
Windows Mobile has always been the black sheep on the smart phone 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 Mobile platform, or it simply makes its own smartphone.
However that's the subject of the third and final part of this editorial series. Stay tuned. Read part one here.