Blogs

This Blog

News

Favorite Posts

Archives

ctodx

Discussions, news and rants from the CTO of DevExpress, Julian M Bucknall

BUILD Conference: impressions of Windows 8 keynote news

Like many people, I watched the keynote by Steven Sinofsky at BUILD remotely – I am not one of the on-site DevExpress crew this time. Rather than rehash what the keynote revealed (after all you can watch it again if you want to), I thought I’d summarize my immediate thoughts about what was shown, especially taking the viewpoint of a software developer who’d be interested in writing apps for Windows 8. Like us and all of our customers, in essence. I’ll therefore skip over much of the details about the consumer side of Windows 8, but be aware that Windows 8 comes with a new look-n-feel called Metro that mimics the tiles and interactions of Windows Phone7. The basic interaction with Windows 8 is touch, although mouse and keyboard will still work just as well. Also the “old-style” Windows look is still there (though obviously many apps have been updated), and there were many promises that every app that runs on Windows 7 will run on Windows 8.

Firstly, Sinofsky presented a bit of rah-rah stats, wrapped in a rather plain PowerPoint slidedeck. Sorry and all that, but Apple do this so much better. Anyway, it was interesting to know that installations of Windows 7 (450 million) have now surpassed installations of Windows XP, and that 542 million people regularly login to Windows Live. [UPDATE: As Ian points out below, the Win7/XP figure is about consumer take-up of the OS, and excludes business sales.] What this means with regard to Windows 8, I really don’t know. The take-up of Windows 8 – once it is released – all depends on cost (I doubt the $29 price of Mac OS X Lion would be used by Microsoft for instance) and what the story is regarding the upgrade process from Windows 7 to 8.

After a little while we came to possibly the most interesting slide, an “architectural” slide that showed that the apps that’ll run on Windows 8 will be split into two universes: Metro style and desktop.

Windows 8 Architecture diagram

The right hand side are those apps we create and use now, either native, .NET, or web apps in a browser. Interesting that they point out Silverlight especially. (And equally interesting that WPF was never mentioned in the keynote at all.) Of course, the .NET applications in this part include everything you are already writing and deploying right now for WinForms, ASP.NET, Silverlight, and WPF. This space (“Desktop Apps”) is certainly not going away.

The other side describes Metro apps especially: there is a common run-time for all Metro apps – known as WinRT, or Windows Run-Time – whether these apps be written in HTML5 with JavaScript, or XAML with C++ or C#/VB. (So, yes, it looks like native apps can have a XAML description of the app’s presentation layer.) It is obviously this part that is of most interest here at BUILD, and indeed the just released list of BUILD sessions is all about Metro, WinRT, touch, and the like. For me personally, the HTML5/CSS3/JS combo is perhaps the most interesting development environment for creating Metro apps and I’ll be researching that over the next few weeks.

So what’s a Metro app? Firstly it uses the native WinRT as a service layer for presentation, data, connectivity, and the like. Secondly it is a full screen app. (Paradoxically, there are no windows in a Windows 8 Metro app.) Actually, by “full screen” Microsoft apparently mean “full screen apart from a pixel-wide vertical strip on the right hand side” (used to slide in the “charms” panel, where the charms are essentially quick access icons for Search, Share, Start, Devices, and Settings). Thirdly it abstracts away the hardware to such an extent that it doesn’t really matter what kind of screen or device you are using, be it a slate/tablet or a PC, or be it Intel or an ARM chip (I’m a little unsure of what happens with regard to “native apps” in this scenario though). The other thing to realize is that Metro apps can register with the charms in the slide-in panel on the right (they indicate that they can fulfill a charm’s “contract”), so that the “joins” between apps from the user’s viewpoint are very much reduced. The user gets the impression of a unified set of apps even though they are in fact separate and have no knowledge of each other.

And how are these Metro apps created? For now, Microsoft are releasing a Developer Preview of Windows 8 that contains a preliminary Visual Studio Express IDE, plus an early beta of Expression Blend 5. Obviously a new full-featured VS should be in preparation ready for the release of Windows 8. The Blend designer comes with a standard set of Metro controls.

It seems – and I emphasize “seems” – that it could even be fairly easy to repurpose a Silverlight application as a Metro app. One of the keynote demos was the conversion of a standard very lightweight Silverlight app by changing the “using” list to target some WinRT assemblies instead of the standard Silverlight ones and altering a couple of lines of code. I hasten to add that we really can’t extrapolate from that demo to say that the conversion of all Silverlight apps will be equally as easy: demos and example apps are chosen for their brevity and ease of presentation, not for their in depth look at some thorny business and presentation issues. (The same goes for desktop Silverlight apps to Windows Phone 7 Silverlight apps as well.)

Other bits and pieces: there’s going to be a Windows Store for your Windows 8 apps, be they old-style or Metro style; the new Reset-to-known-baseline functionality seems to work best with Metro apps; there’s a whole slew of information about seamlessly using the cloud (and SkyDrive and Windows Live) to store your settings and ordinary files. I would recommend browsing the keynote and skipping over the boring bits (it’s pretty long) to find out more.

Where does all that leave you? Well, for a start that was only the keynote; there are still four full days of sessions and keynotes to learn more. I and the team of DevExpress evangelists will be reporting on what we find out and how it affects you. We’ve got a whole series of exclusive interviews lined up with various people for our DevExpress Channel to investigate the ins and outs of Windows 8, WinRT, and Metro apps.

In the longer term, what can you expect from us? Well, first things first: all this news is really exciting but it’s all about an operating system and development tool ecosystem for which the only release date we can guess at is late 2012. That’s at least 12 months away and there’s still betas and release candidates to get through before then, all of which are liable to break code as the APIs are firmed up and bugs fixed. Until that point, your current and near term projects aren’t going away and neither are we. We’re already starting to blog about what’s coming up in DXperience v2011 vol 2 (and if you’re at BUILD itself, we’re in the exhibit hall where we can give you some sneak peeks) and we have a large list of new features to announce across all platforms: WinForms (remember, we just announced touch in WinForms! Prescient, us?), ASP.NET, Silverlight, and WPF. Just because everyone’s talking about Metro today doesn’t mean that all other development of traditional apps magically stops.

The next thing to realize is that we are committed to creating controls and libraries for WinRT and the new Metro interface. Like, duh. One of the biggest goals we have as a company is establishing feature and product parity across all the platforms we support, and that list of platforms will be increasing by one from today. And I’m not talking about warmed over controls moved from another, inappropriate platform; we’re going to be embracing the design philosophies shown at BUILD for our range of Metro controls. You can be assured that, when you are ready to start writing Windows 8 Metro apps, the experts at Developer Express will be there with you.

As for me, I’m going to repave an old laptop tonight with the Developer Preview of Windows 8 and putting in an expense requisition for a touch-enabled screen. There’s a lot I want to explore.

Published Sep 13 2011, 04:02 PM by
Filed under: , ,
Bookmark and Share

Comments

Nate Laff

It was an exciting keynote for sure. Unfortunatley, I wasn't there to get one of those awesome Samsung tablets! D'OH!

I have been suspecting the move to Metro and wasn't at all surprised to see them go "all in" with it. I think it's a great move on their part. As a happy Zune, Bing, and Windows Phone 7 user, I love the Metro design concepts. For the last year or so I have been dreaming up a simplified UI to live on top of my XAF app, that connects to the same DB, but more touch friendly and abstract away the management functionality that comes in the XAF app and just expost the "day to day" operations in this new WPF app. Like you said, it was interesting that WPF wasn't mentioned at all. Though the "immersive" Silverlight apps somewhat remove that need.

I'm happy to see your response to say, "Yes, we'll be there for this new thing" though I didn't think you'd say any less.

Now the question remains... as someone who has yet to really go all in with WPF/Silverlight ... where do you go? Do I just start learning HTML5? I never really learned HTML-- not my thing. Was a Winforms guy. So... what to do.

September 13, 2011 8:18 PM

Alex Hoffman

Exactly the summary of the keynote I've been waiting for.  Many thanks!

September 13, 2011 8:22 PM

Michael Proctor [DX-Squad]

Thanks Julian, I like Alex have been waiting for a summary of thoughts on the keynote.

I have yet to watch it, but looking at your summary and the architecture slide certainly does answer some initial questions regarding where HTML/JS sits in comparison to XAML, and the answer is side by side. There was alot of conjecture about a possible XAML to HTML/JS engine so everything was native HTML (which sounded scary). So interesting that there is 2 presentation layers within Metro which is seperate to the "legacy" desktop apps.

September 13, 2011 9:21 PM

Marc Greiner (DevExpress MVP)

Hi Julian,

Thanks for your blog, and please keep them coming, it helps us to better grasp these coming changes.

The Windows 8 keynote was very interesting but raised some questions. Here are mine:

1. I don't see the point of having javascript + html5 side by side to C# and XAML, as the Metro apps that it can generate seem to only run under Windows 8. Those Metro apps won't run on any other platform, not even other Windows browsers, even if built with javascript and html5. So what? Are we to expect any other good surprise?

2. Sure, the demo where Steven Sinofsky showed the easy port of an SL app to the Metro platform was made out of a small piece of code. But the principle remains: SL apps will be portable to Metro, with some minor changes, which is good. So developers can hope that your SL/WPF controls could be ported to Metro without a total rewrite. That also is good news for us, developers.

3. Will the ARM version of Windows 8 allow binary compatibility with legacy apps targeting Intel? I didn't hear anything about that. Did you?

September 14, 2011 4:45 AM

Julian Bucknall (DevExpress)

Marc: In reply to your questions:

1. You are correct. the HTML5+JS Metro apps will only run on Windows 8. They require WinRT which is exposed as special classes to JS (much as the Date class is in normal JS, for example). I guess the whole point is that traditional web devs will be able to write Metro apps for Windows 8 without having to learn C# or C++.

2. I think this is going to be one of those cases where we have to suck it and see on the Preview. It may be easy, it may not, or it may depend on the control itself. We'll certainly be experimenting over the next few weeks.

3. I don't know. My guess would be that pre-compiled apps targeting Intel won't run on ARM, but you'll be able to compile your Win32 C++ app with Visual C++ to target ARM. If your apps are written with another language, I would imagine that you'd have to await ARM compiler support for that language. Note I've also no idea what restrictions would be applicable, ie what parts of Windows are available under ARM and which ones are not.

Cheers, Julian

September 14, 2011 8:15 AM

Ian Smith 1

Sadly, you seem to have made the same mistake most other commentators made in stating that Windows 7 has exceeded installs of Windows XP.  Rewatch the video - there's a reason Sinofsky uses the word "consumer" and excludes "business" from his stats.  The same thing happened last year when Scott Guthrie reported that Silverlight was installed on "up to 70% of all internet connected devices" - people didn't "hear" the "up to" in their rush of excitement (despite the obvious nonsense in the claim being made). Microsoft use their words very carefully and there's a reason why the slide Sinofsky used talked only about CONSUMER take-up of Windows 7 vs XP.

September 14, 2011 8:48 AM

Julian Bucknall (DevExpress)

Ian: You are perfectly correct. I was over-reaching in my report. I've now corrected it. Thanks!

Cheers, Julian

September 14, 2011 9:01 AM

Sergio Hernandez

About point 3, not, it will not run x86 apps on arm, like Julian says you have to recompile , that sounds logical due to different machine code for different processors. You can read it here download.microsoft.com/.../Windows_Developer_Preview-Windows8_guide.pdf

Cheers

September 14, 2011 9:37 AM

Peter Thorpe

@Sergio I imagine you are correct but that PDF doesn't actually say it. There is always the possibility of some sort of visualization between x86 and ARM although I am guessing not as it would hurt performance too much.

September 14, 2011 12:49 PM

Darko Pecnik

Win8 in its current state is a joke, its like windows 7 with another widget like GUI on top, feels really clumsy to use with keyboard and mouse, i guess its probably allot better with touch, and the 28 apps you get are a joke, like an iPad, for kids.

If they iron out it for keyboard then maybe, other then that no business and enterprise will use it.

I really urge everyone to try it out.

September 14, 2011 1:23 PM

Fırat Esmer

Thanks for the news!

September 14, 2011 1:26 PM

Javier Arellano

Excellent summary Julian, thanks for helping us understand the new Metro.

September 14, 2011 3:14 PM

About Julian Bucknall (DevExpress)

Julian is the Chief Technology Officer at Developer Express. You can reach him directly at julianb@devexpress.com. You can also follow him on Twitter with the ID JMBucknall.
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, Silverlight, ASP.NET, WinForms, HTML5 or Windows 8, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2014 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners