Monday 26 September 2011

Daily Review #8: What's the future for WinRT?

The Daily Review - 26th September 2011
Photo © Yukchong Kwan | Dreamstime.com

What's the Future for Windows RunTime?

Most Build Conference attendees have now had their first weekend at home post-conference. They are diving into the bits they were given in the Windows 8 Developer Preview, and the first rumblings of discontent have started to appear, with 'I can't believe they left this out' being a common refrain that's starting to pollute the Twitterstream and blogosphere.

Most of what developers are struggling with - the APIs removed or changed to create a more performant Windows RunTime environment - had in fact already been covered in Krzysztof Cwalina's excellent 80 minute Build session A .NET Developer's View of Windows 8 Application Development.

This session really should have been one of the 'Big Overview' sessions given on the first day of the conference, rather than the final day 'Chalk and Talk' session (changed at the last minute) it was set up to be. Despite its low visibility, the video of this talk really should be mandatory viewing for every developer before they're allowed to even open up the Developer Preview of Visual Studio 11!

One amusing side-note to the 'small room/last day' circumstances around the delivery of this session, is that almost every single sentence Cwalina utters has been blown out into a full-blown blog entry by one MVP or another. Which, to my mind, says more about the state of the Microsoft Echo Chamber than any real value that such blog posts provide. I mean come on you MVPs (and wannabe MVPS) who are guilty of plagiarism: you brown-nose each other like crazy, but now you're not even acknowledging the original source of your information?!. Shame on you!

If you can't wait for the transcript of that talk (which I am aiming to make available for download early next week) go check the video now!

Those who've had a good 12 or 24 hours play with the new bits are already homing in on the huge gulf between the 'sexy' Metro apps and the 'old-school' Windows 7 apps that run in the so-called desktop environment. It seems most want Metro for the desktop, despite clear early announcements from Microsoft that for Windows 8 at least Metro is not intended for Line of Business apps.

As has been pointed out in previous Daily Reports, several folk don't buy into this story (see previous 'Must Read' link from Ward Bell as one of the better argued examples).

I'm one of them!

The lack of Office in the preview (and indeed any kind of mention of it at Build) seems to be the justification for taking the 'Metro is just a new toy OS for tablets, disguised as part of a supposed upgrade OS' approach for many commentators.

But it seems Office on Metro IS being considered. The day before Build Steve Ballmer gave a press briefing where he indicated that Microsoft were 'still thinking' about how Office would fit in with Metro. Given they've had a year to play iPad catch-up it doesn't sound like Office is going to remain a non-Metro app for long to me if they're STILL thinking about it.

Especially when you're trying to convince the Enterprise market that is your bread and butter that what you've got is way better than the iPad, and far more suited to business. Businesses want Office!

The big Metro push at Build has lead to a lot of speculation about the future of Windows RunTime (aka WinRT) - the core of Metro and the new development environment that Metro developers have to get to grips with, but which currently can't be used to develop apps for the desktop environment.

Clearly in its preview form WinRT is an early release of something that's quite some way from being ready for prime time (although in much better shape than many, including me, had anticipated).

But with most likely a year to go before it needs to be ready to ship, is it possible Microsoft are planning to actually have WinRT available for desktop apps too? Available even before RTM?

Some folks (including me) are hoping so!

Jeremiah Morrill sums up the whole situation perfectly in an excellent blog post Windows 8 "Don't worry. Nothing has changed for traditional desktop development." And that's the problem.

In that post Jeremiah points out that the developer seems to have two options for WIndows 8: a 'fast and fluid' experience with Windows RT, or a 'slow and clunky' experience with a UX framework like Silverlight or WPF. Not surprisingly he wants a 'fast and fluid' XAML framework on the desktop, and that means WinRT.

Jeremiah thinks that Microsoft might be holding back the news on WinRT on the desktop, for fear of creating even more of a backlash than has already been received from the huge swathe of Silverlight and WPF developers (or at least those who aren't MVPs happy to 'spin' the message). He points out that the backlash is there regardless, and Microsoft should just come clean on what the future holds so that developers can make the right decisions about which platform/technology to develop in.

I'm not sure I share his opinion that WinRT will be ready for the desktop in time for the ship date. But if Jeremiah is right then NOW would be the time for Microsoft to deliver a clear statement - the one that they promised in fact for Build, but then spectacularly failed to deliver on - about the future of Silverlight and WPF, instead of the smoke and mirrors around this nonsense about a .NET 4.5 point release and Silverlight 5.

Unfortunately, given the company's past record, that promised statement is not going to happen and no doubt the first news we'll get about the 'new world' of desktop development will be the day the beta or a release candidate ships.

In the meantime, companies will have to speculate, gamble and risk failure on the decisions they take with regard to the platforms they choose for development of the applications they are planning today, but intend to ship in the future.

Silverlight and WPF are clearly a "safe" choice for today, especially when Windows 8 won't even be available for another year (at least!). But, as is becoming clearer by the day, porting these apps to the new WinRT environment that Windows 8 users are likely to want, is nothing like the trivial exercise shown in that nasty 'take an old Silverlight 2 tutorial and port it to the new world of WinRT' demo given in the Build keynote.

Developers are advised to get fully up-to-speed on the ins and outs of the new WinRT world as quickly as possible, because the 'old world' is clearly living on borrowed time.

Guides to remove Metro from Windows 8 might just as well say remove Windows 8 from Windows 8

Build Session Transcripts

Yesterday, I said I'd be launching the first of a set of reviews and video transcripts from the Build Conference today.

Unfortunately events overtook me over the weekend and the first of these reviews and video transcripts will not now be appearing until Wednesday evening (UK time, Wednesday morning USA time).

Apologies for the delay. I won't bore you with the reasons as to why the date has slipped, suffice to say real work that pays the bills takes priority over the blog, which is a hobby!

I am still on schedule to produce the first Product Review ('Fundamentals of MEF' Video training course) that was also mentioned, which should hit the blog on Friday.

Lack of Observable Collection Should have been revealed at start of every Build session

Today's "Opinion" Links

Must Read! Windows 8: "Don't worry, nothing has changed for traditional desktop development." And that's the problem. (Jeremiah Morrill)
Don't be fooled by the 'me too' title. This is actually a detailed and insightful analysis of WinRT and where it sits in relation to the Windows frameworks that we have today.
Good Read! So what the heck is WinRT? (Marcel)
Don't be fooled by the 'me too' title. This is actually a detailed and insightful analysis of WinRT and where it sits in relation to the Windows frameworks that we have today.

Today's "Technical" Links

Good Read! Debug Your Metro Apps Remotely (Corrado)
The trick to getting this stuff working is to disable your local firewall apparently.
Good Read! How to Uninstall Windows 8 Developer Preview Completely (The Windows Club)
Step-by-step instructions on how to completely remove the Developer Preview if you've decided it's not for you.
Good Read! Breaking Change: Raising PropertyChanged with String.Empty in WinRT Windows 8 (Laurent Bugnion)
If you use an empty string for your PropertyChanged event notifications you're going to find your code is broken in WinRT.
OK Read! Google Image Search Client in WPF and C# 5 (Krishnachytanya Ayyagari, The Code Project)
Source code that shows how few lines of code are needed when you have the power of async await and lambda expressions.
OK Read! ReadOnlyDictionary in .NET 4.5 (IBloggable)
Mr Muran (I'd give you his full name but the About page for his blog post gives a 'server 500' error - that'll be an 'official' Microsoft-hosted ASP.NET blog then!) is excited about the new ReadOnlyDictionary in .NET 4.5 and shares his findings.
OK Read! Setting the Initial Rotation in a C# Metro Application (Derek Whittaker, Delicio.us)
The empty 'Application template' sets your Metro app to run in Portrait mode when the chances are that 99% of the time you want to run Landscape. Derek explains how to change this setting.
OK Read! Dealing with Types in WinRT (Laurent Bugnion)
If you haven't bothered to watch any of the Build videos, here's the first tip that came out of the main WinRT session: using the GetTypeInfo() extension method.
OK Read! Detecting Design Mode in Windows 8 (Laurent Bugnion)
Laurent's second tip from the Build session on Windows RT: how to test if you're running in design mode (it's changed!) so your designers can have some sample data to work with.
OK Read! Quick Tip: Select the Correct INotifyPropertyChanged in Windows 8 (Laurent Bugnion)
Laurent's third tip from the Build session on Windows RT: working out which Intellisense library to use for INotifyPropertyChanged. As I've pointed out in the comments I think Laurent's got it wrong with his 'Use the Windows namespace version' edict which is intended for Metro/RT apps only.
OK Read! Quick Tip: Killing a Metro Style App in Windows 8 (Laurent Bugnion)
Laurent's fourth tip of the day is all about the difficulty of killing Metro applications. He has a shortcut key combination, assuming you have a real keyboard.

Fast and fluid News

Don't forget that all the latest Windows 8 Metro links are posted in 'real time' on the Fast and fluid Twitter account.
The Fast and Fluid Podcast, covering all things Windows 8 related, will be launched in early October.

No comments:

Post a Comment

Comments may take some time to appear as all comments are moderated to avoid spam.