As an occasional science fiction writer and would-be prognosticator, I'm always happy to see my predictions come true. Windows 8 has met a good chunk of my expectations as a developer and I'm excited. (Apologies for borrowing Windows 7's slogan, but it feels more appropriate here somehow.)

I'm happy that XAML and Blend are ensconced as the one true way to slick UI design, even for unmanaged/native developers. I'm glad of what I've seen of the now grown up, sleeker and svelter WinRT. (I remember a much ganglier, unfinished version that was promised for and subsequently cut from Longhorn/Vista. The years seem to have matured the project well from what I've seen thus far. I can't recall how much of what I remember of Vista's nascent WinRT was confidential at the time, but presumably if I remembered any of it better than hazy supposition and half-memories the statute of limitations on that confidentiality has expired.) I'm glad to see that the "Metro" design sensibility is indeed converging across devices as I had expected would happen.

Today's most recent pleasant surprise, the first I have heard of this and buried in plain sight in the Live SDK post on Building Windows 8, was that Windows Live Messenger will support XMPP for developers that wish to interoperate with it. One fewer walled garden in the IM space is great for everyone, and XMPP is the only standard to support...

It reminds me of a conversation I had during my last interview cycle at Microsoft in January 2009. I believe the statute of limitations for discussion about it has expired as well. I want to bring it up not to fester old ego wounds but instead to gloat. Microsoft (like most everybody nowadays) doesn't shed much light on its interview process, and I doubt I will never know what exactly went wrong that cycle. It certainly was easy at the time to blame my own nervous mistakes. However, the most probable answer was simply that I interviewed with the wrong group at the wrong time: more specifically, I think I interviewed with a very wrong product manager at the wrong time for my development background and opinions.

The PM name will be withheld due to forgetfulness and a poor attempt to try not to burn bridges that never existed more than any attempt to protect the undeserving, but he worked somewhere high within the chain of command of Windows Live Messenger. We seemed to disagree on several big opinions, and while that's not supposed to be a "game killer" in an interview cycle I'm sure it happens all the time. I remember that he didn't seem to have much interest in XMPP/Jabber, when I curiously inquired something about it. More importantly, we were on drastically different sides of the native versus managed code "war". I'm not sure why or how I ended up interviewing with a C++ ├╝ber alles die-hard, but that is what happened. (I'm sure that's mostly my fault for not communicating well enough what sort of group I was looking for to the recruiter working with me, but that's a previous life time.)

From what I gather Windows Live at the time I interviewed was an interesting microcosm of the war as a whole. Microsoft certainly has its internal politics, as any large company would, and in some ways I'm sure I was somewhat fortunate for being such an "innocent" casualty of the war, in that all I have is a spectator's view of events.

Here's what got my goat during the interview: the interviewer was looking for someone to revamp/rewrite Live Messenger's aging set of (C++) UI widgets... with more easily aged internal and proprietary C++ widgets. I (rightfully so!) pointed out my opinion that XAML and Blend were the present (in 2009), not just the future. (The Live Mesh of the time, may it rest in peace, was a XAML-based application and was great from this user's standpoint.) It was my opinion then, as it is now, that it was a waste of good resources to reinvent (poorly) what Microsoft's Dev Div was paid the big bucks to build for external customers. I think I was more circumspect at the time when I mentioned this opinion, but I'm sure the point came across. It probably did cost me some "points" during the interview. I'm sure I'd do things differently now, given the hindsight, but I also feel that my opinions then have proven themselves more than prescient now.

I'm glad that the native developers have been offered strong XAML support in Windows 8 and are very strongly encouraged to use XAML for good, compliant Metro apps. Windows development will probably never be one big happy family (I'm looking at you VB6 apps that refuse to die), but I am happy that one more set of tools (XAML and Blend) are getting relatively well encouraged as best practices across all development tools and all platforms. Less time spent in reinvention is a good thing for everyone. More knowledge sharing and cross-pollination between managed and native stacks is great, too.

I feel a pang of regret that I sat out on the sidelines of the "war" inside Microsoft and missed whatever opportunities I may have had to contribute to "my side" of the war, but I'm glad for the feeling that "we won", whoever we were. Windows 8 looks like a stronger product for having been born during that war, and I look forward to its release.