Well, Microsoft has finally unveiled what is commonly known as Windows 8. If you have been learning Kung Fu in a secret Tibetan monastery or yak fishing off the coast of Antarctica, you may have missed the announcements this week and the blizzard of opinion and talking heads pronouncements. To some, it’s the death knell of Windows, to others, it’s a brave and bold move. Whatever your take, one thing is clear, the Metro UI represents a dramatic step forward for Windows applications.
First of all, let me make it clear that the Metro UI is not the only UI that you can use in Windows. It’s a great choice for Tablets, and if you’ve used a Windows Phone, you’ll know just how useful it really is (I love my Live Tiles), but if you want to use a non-touch UI, you still have the Aero interface to provide that familiar gooey goodness. What the new version of Windows represents is a step out to other processors and technologies; a move beyond Wintel, and this has to be good news for all concerned. As a developer, the exciting thing is that I should be able to write software that targets tablets, phones, and PCs all from the same environment.
Indeed, Microsoft’s biggest problem still seems to be that it isn’t communicating this information effectively. They get so excited about all the new stuff that’s coming, they don’t mention the existing stuff; after all, why should they? They assume that people realise that they aren’t cutting their own noses off, and forget that people remember the history of failed tech. Let me assure you, from conversations I’ve had, and from talking to those in the know, your technological investment is safe. Your apps may look different in the future, and respond to different inputs, so you may need to learn some new APIs, but that should excite you, not frighten you.
Finally, let me quote the great Jeremiah Morrill:
“Anyways, why is everyone so surprised about the announcement? People have been saying this was going to be a feature of Win8 for at least 5 or 6 months
I think it’s important to remember what Ballmer said in his Swiss keynote. That Win8 applications can be written using C++, C#, and JS. He was very careful to not mention a framework, only languages. Now there are is a lot of “Will it run Silverlight?” or “Will it run WPF?”. Microsoft will respond with “Yeah, it's Windows”. This is true. They did demo Win8 also running “traditional” applications.
I think we should be asking: What technologies can I use to make these new immersive Win8 applications?
The other question I would ask, mostly to devs is, “Does this new thing perform better than Silverlight/WPF at making fluid user interfaces?” If so, besides backwards compatibility, what advantages do Silverlight/WPF have over this new thing? Will Silverlight (or WPF) still be an island of richness, or an island of relative choppiness and CPU tax?
One thing I can say for certain is XAML is part of the Microsoft DNA. They have promised us our investment in XAML is safe, over and over. What I’m not certain about is, what is our investment defined as? Knowledge/familiarity or our actual code? Will there be a solid upgrade path, or will we be left dumping old code? My advice is we should all be patient until Sept. There’s just too many questions that cannot be answered with a Win8 demo that wasn’t geared for devs.”
Possibly the wisest words you’ll hear on the subject.