Much ado has been made in the recent months about the impending death of <insert name of MS UI stack here>. This week, at BUILD, Microsoft has finally stepped up and shown us what their view of the future is. Note that, in their architecture diagram, the current "desktop" technologies are represented as a peer. Included in the right side is Windows Forms, which of any .NET technology has long been exaggerated as dead; and yet it is still alive.

The point is, despite all the "future is Metro" talk by other analysts (e.g., Mary Jo herself), the fact remains that these are peer technologies, and Microsoft is not "killing" anything in the right side. In fact, there is no such intent expressed implicitly or explicitly.

That's not to say, of course, that nothing has changed. That's not to say that we can or should ignore Metro/WinRT (duh!). But there seems to be this common knee jerk reaction when a new technology is released to say that the current ones are now dead or somehow not worth investing in further. That reaction just doesn't reflect reality.

As impressed and (mostly) happy as I am about the direction expressed in the Win8 stack, we need to keep in mind that we are still in the early stages, still in gestation. The baby isn't even born yet, and once it is born, it will take time to grow up and mature. In the meantime, we have these mature, stable, currently released technologies that are great to build on.

I think it's great that Microsoft has released this stuff early. I like that about them better than other tech vendors. Although they've been more tightlipped about this than any other tech they've released, the fact remains we have plenty of time to plan, prepare, design, prototype, explore, and ultimately build for the new stack. In the meantime, we can still safely invest in the current technologies.

The future is uncertain. That is the nature of the future. Devs need to quit unrealistically asking Microsoft to guarantee them the future of technology. We know that it would be bad business for Microsoft to kill off these current technologies; so bad, we should feel it as a positive guarantee that they are here to stay for any future that we should be currently planning for. We will always have legacy. Someday, the Win8 stack will, I assure you, be legacy.

The things that remain constant are:

Understand the needs of your application context.

Understand the capabilities, strengths, and weaknesses of the various technologies you can build on, including current investments.

Understand your team's capabilities, strengths, and weaknesses, including current investments.

And choose the technology stack that makes the most sense, best balancing all these considerations, realizing that you won't make all the right choices (in retrospect) and that this is just life as a software professional.