BUILD Conference: Recap and our commitment to you

20 September 2011

Unless you went on vacation last week to Machu Picchu (where there’s not even electricity, let alone WiFi), you will have heard about the BUILD Conference (or //build/ if you OCR the logo). You may already have looked at some of the videos of the sessions, or may have even downloaded the pre-beta Developer Preview bits and have started playing around with the OS and/or Visual Studio 11.

No matter what level you’re at with regard to Windows 8, Metro, or WinRT, there are certain conclusions you can make.

First of all, no matter what else happens, this is all in the future. You still have your current projects to start, implement, and complete for Windows 7 or for the browser. They are not going away in favor of something that’s going to happen a year from now. Even better, Microsoft have guaranteed that apps written for Windows 7 will continue to work as a Desktop app in Windows 8. So if you are writing something using WinForms and using our DXperience WinForms controls in order to create that great skinnable UI, you can rest assured that it will continue to work on Windows 8 as a traditional app. We’ll even have a Metro-themed skin in v2011 vol 2 to help you on your way (although it must be noted that there is more to a Metro app than a theme). And we’ll have proper touch support for you in the same release.

We’re excited about Windows 8 and all it entails, sure; but like you our normal work has to continue as we complete v2011 vol 2 and make plans for the new year. You can rely on us to help you with your current and future projects. We’re not abandoning WPF or Silverlight or ASP.NET or WinForms. In fact, far from it: they’ll still be a major part of the apps market in the next version of Windows. Indeed, it’s hard to envisage some of the apps our customers have shown us over the past year as anything but a traditional line of business (LOB) app: sometimes a high density of data on the screen is what’s required for a business to succeed. In essence, it’s not like the whole Windows apps market is going to suddenly go away in favor of Metro apps once Windows 8 is released.

So, in one sense, Windows 8 is going to be like Windows 7. In the other sense…

This is where it gets interesting, real interesting, real fast. I go back to the slide I showed last time. It’s quite simplified but it gets the point across.

Windows 8 Architecture diagram

(Click to enlarge.)

The right-hand side describes what we do now for Windows 7. We write ASP.NET or Silverlight apps to run in the browser, be it Internet Explorer or one of the others; we write native apps that target Win32 and that run as “thick clients”; or we write .NET apps using WinForms or WPF to also run as thick clients (and if we’re really avant garde, we do the same with Silverlight client apps running outside the browser). That’s the universe I described above and as you can see, no change. All of our code and our customers’ code built with ours runs there quite happily.

The left-hand side however is where the innovation lies for Windows 8. This side describes what it means, at least architecturally, to be a Metro app. There are the same kernel services underlying Windows (although this time, those services my be built upon an ARM architecture rather than Intel for slates and tablets). On top of that is the so-called Windows Run-Time, or WinRT. This provides services such as communications, printers and other devices, media, and so on. On top of that are the Metro apps themselves. As you may have heard these can be written in a “native” language like C/C++ or a managed language like C# or VB (both being able to use XAML as the presentation layer), or even a scripting language like JavaScript (using HTML5/CSS as the presentation layer).

For managed code developers, the really interesting thing that’s not actually shown here is that there’s the normal CLR and a .NET Framework specially for WinRT services. You do not use the platform Framework you are used to (for example, Silverlight or WinForms). Similarly for JavaScript apps: you do not use a browser (such as Metro IE10) to run them; instead WinRT provides the services needed. (The JavaScript interpreter used is the one in IE9 and IE10, which goes under the codename Chakra). As Mehul pointed out, you are not writing ASP.NET apps here, there is no server.

Metro apps are also different in another sense: the user experience. Metro apps are full screen. There is no visible operating system “chrome” at all, no windows, no title bars containing red X close buttons, no borders, no nothing. Metro apps really do use all of the screen. Content is king. (The OS does reserve swipes from the left and right for system-related operations, the left for a “back” function, the right to bring up the standard “charms”, Share, Search, Start, Settings, etc; and the app can reserve swipes down from the top or up from the bottom for an “app bar”, which is the new menu/toolbar in a sense.) Apart from the OS and app bar swipes, there’s a whole dictionary of gestures that Metro apps should follow like a small swipe down and release to select an item, or a longer swipe down to drag-and-drop the item.

And of course Metro apps are touch-first. They are designed to be used with a touch screen: the beauty of the apps and the fluidity of the animations come into their own when you are interacting with the apps by swiping and tapping with your finger. The infrastructure for Metro apps also enforces the requirement that apps communicate with each other to give the end-user a more integrated feel to the device they’re using (Microsoft called this a “web of apps”). No longer will you have to awkwardly use copy-and-paste in order to share data between apps; instead apps will subscribe to “contracts” which describe various interactions between apps (for example, the Share charm that shares data between apps is implemented through contracts and brought up through touch). And then there’s the requirement that Metro apps save their state quickly when they’re suspended (since apps are full screen, the system will suspend them when they’re not at the front), and most preferably that state must be saved in the cloud, so that if you start the app on another device it knows your current state and settings.

The great thing about Metro apps is that the new Visual Studio 11 comes with templates to create the standard look and feel in any of the major language groups. You want to create a grid-type Metro page with JavaScript? Select the relevant template and VS11 will create the necessary files and produce an empty app. The minimum you need to do, in essence, is wire up some content and your app accepts swipes and finger taps like all the rest. Perhaps your favorite language is  C# though. No problem, select the grid template on the C# page and you get the same empty app, it just needs some C# code to wire everything up.

Of course, if you’re going to write any code at all you need your favorite productivity tools. If you were following our tweets from the conference (or even reading our blogs here) you’ll know that we managed to install and demonstrate CodeRush running inside the Developer Preview of Visual Studio 11 at the conference. Again we proved that DevExpress is there supporting you in your development when you need us.

In conclusion, Windows 8 promises us developers a lot. We have a whole new way of interacting with our PCs, slates, and tablets and Microsoft are anxious for developers to start writing Metro apps. There’ll even be a Windows app store for those apps (which will be curated and, rumor goes, Microsoft will take 30% of the app’s price). Yes, it’s a bright new world and we certainly will be there in it: we intend to provide tools and components that will help developers write Metro apps. That’s the business we’re in after all, and it’s reflected in our name: Developer Express.

However, a quick note of caution, this bright new world is not quite here yet. Microsoft were at pains to calls the downloadable bits the Developer Preview; it’s not even a beta. All of us still have to put the bread on the table by writing the kind of code we’ve been writing for a while. DevExpress have the right tools and controls to help you complete your projects right now and we have some great new features coming up in DXperience v2011 vol 2. Stay tuned for more about these and also news about what we’re going to do with Windows 8. Our commitment to you is that you won’t be disappointed.

2 comment(s)
Cid Benac

Thanks Julian for this clarification. This is one of the best reports I've read so far. Something we can understand and rely upon, unlike lots of others that are pure speculations.

21 September, 2011
Cid Benac

Thanks Julian for this clarification. This is one of the best reports I've read so far. Something we can understand and rely upon, unlike lots of others that are pure speculations.

21 September, 2011

Please login or register to post comments.