Thoughts and Speculation: Windows 8 Announcements

Last week, Microsoft took the wraps off the new Windows 8 shell. Predictably, the internet has been filled with opinions and predictions.  I may as well add mine.

What we saw

I am very impressed with the new UI, the immersive nature of Metro style apps, the consistency between the phone and desktop UIs, all of it. There are three arguments in favor of the new presentation model:

It’s time: While there have been several improvements and refinements over time, the current shell is fundamentally similar to Windows 95. Revolutionary in its day, that was 15 years ago. Desktops were more prevalent that laptops. Tablets were primarily a research toy, not a production device. The term “Smart Phone” didn’t exist. The idea of connecting a TV to the internet made no sense.

Consumers (whether for business or personal use) have very different expectations than they did back then.

Consistency: Consistent user experience is very important. It enables users to leverage what they’ve learned in one application (or device) and apply it to new experiences. That doesn’t necessarily mean having identical experiences everywhere, but it does mean having a consistent experience everywhere.

Consumers want to leverage the same skills whether they are using a phone, tablet, desktop/laptop, surface, or TV screen.

But not identical: Having said that, I don’t see myself using a phone, a tablet, or my TV as my primary developer machine. The laptop is a much better choice. I want to type; I want a larger screen. I may even open a command shell. That means even though consistency is important, maybe even critical, respecting some differences that enables each device to utilize its own features best is also important.

The experience must enable applications (or apps) to leverage the particular capabilities of the device the user has right now.

Is this the right experience? Based on what I’ve seen so far, yes it is. It maximizes the screen real estate for an application, while minimizing the OS chrome of years gone by. It respects that fact that users will have several apps running, but will likely be giving one app the major focus.

Speculation for Developers

I’ve said nothing about the developer story. I really don’t know. You’ve undoubtedly heard discussions around C++ (or WinC++), and HTML5/JavaScript. Those technologies make sense, for different reasons.

C++ still has a larger developer community that any other programming language on the planet. With so much emphasis on .NET and managed code, the market seemed to forget that Microsoft has one of the major C++ compilers, and produces many familiar windows applications.

HTML5 and JavaScript are the hot new technologies, and are receiving tremendous buzz. Microsoft cannot ignore them, and it’s smart to announce support for them in the next version of Windows as early as possible.

It’s hard not to speculate and extrapolate on what those announcements mean. I want to defer that, because we really don’t know. But, I’ve been asked too many questions. What follows is pure opinion.

Personally, I don’t believe that .NET, C#, VB.NET, or managed code are going away, losing support, or even being pushed to the back seat. Those communities are too big, and they all have too many options to migrate if they do really feel that Microsoft abandoned them.

I didn’t mention Silverlight or WPF, because my opinion is that they will change. The new Metro-based shell is very different than the current Windows shell. It’s got different capabilities, different features, and will require different APIs. It’s reasonable to think that a new library for that new shell will look different. It’s a naming decision if it’s a new version of Silverlight, or WPF, or a new XAML based library. I do believe there will be a managed library that will enable developers to target the new shell on Windows 8.

I headed this section "Speculation” because these are my own opinions. I’ve heard nothing under NDA about the developer story around Windows 8. A search for “Microsoft” and the codename “Jupiter” gives you some of the resources for my thoughts.

Until there’s more announcements, that’s all we have. I expect to learn more at the Build Windows conference.

Created: 6/9/2011 3:56:26 PM

Current Projects

I create content for .NET Core. My work appears in the .NET Core documentation site. I'm primarily responsible for the section that will help you learn C#.

All of these projects are Open Source (using the Creative Commons license for content, and the MIT license for code). If you would like to contribute, visit our GitHub Repository. Or, if you have questions, comments, or ideas for improvement, please create an issue for us.

I'm also the president of Humanitarian Toolbox. We build Open Source software that supports Humanitarian Disaster Relief efforts. We'd appreciate any help you can give to our projects. Look at our GitHub home page to see a list of our current projects. See what interests you, and dive in.

Or, if you have a group of volunteers, talk to us about hosting a codeathon event.