How does Metro affect .NET-based CMS systems?

Email LinkedIn
Tools

Guest post by Shaun Walker

Leading up to the BUILD conference on Sept. 10 in Anaheim, Calif., there was a fog of uncertainty, rumors, and speculation in the Microsoft (NASDAQ: MSFT) developer community related to Windows 8. And ironically, when the conference was over, there was still a fog of uncertainty, rumors and speculation. This is not because Microsoft did a poor job of showcasing Windows 8 and its sporty new "Metro" user interface; there were plenty of flashy demos, dramatic announcements and exciting presentations. What was lacking was a crystal-clear message of what the long-term impact might be for .NET developers.
 
Windows 8 is definitely an attempt by Microsoft to make some revolutionary changes to its flagship operating system. The fact that it sports a radical new graphical user interface inspired by Windows Phone 7 is the most obvious sign that Microsoft is getting serious about a future where mobile devices play a more dominant role. With touch-based navigation and keyboard as first-class citizens, it appears that Microsoft is preparing for a world that is becoming ever more comfortable with smartphones, tablets, and touch-enabled devices. The live tiles surface content directly to your desktop to provide a dashboard of the most relevant information without ever having to launch individual applications. Power users can still take advantage of traditional keyboard and mouse devices to interact with their favorite Windows applications. These are all wonderful advancements for end users, but what does it mean for developers?
 
Metro-style applications are a new class of application, which can be developed for Windows 8. They can be developed using a variety of different techniques, but they all share some common visual characteristics and behaviors. Applications can be written in XAML using familiar .NET techniques (i.e. Visual Basic or C#) or in standard HTML/CSS and Javascript. In each case, applications take advantage of a new Metro API referred to as WinRT, which provides UI consistency and simple asynchronous access to a rich set of system services. A packaging model also exists so that you can easily redistribute Metro applications. Redistribution will occur via an app store dubbed the Windows Store, which is operated by Microsoft and is fully integrated with the Windows 8 user experience. A certification process will ensure applications meet a basic set of benchmarks for quality and usability.
 
It's important to note that Metro applications are client applications, designed to run natively in the Windows 8 operating system environment. This could be on a traditional desktop or laptop, or on a more modern device such as a tablet. Most Metro application examples at this point appear to be highly consumer-focused rather than business-focused; however, there are no limitations to the types of applications that can be developed using the Metro-style. In addition to Metro applications, Windows 8 will still be capable of running legacy "Desktop" client applications that do not exemplify the new Metro look and feel. This provides a good compatibility story for organizations that have made a significant investment in current Windows application technology.
 
Windows 8 will also have support for browsing the Internet through a shiny new version of Microsoft's ubiquitous browser, Internet Explorer 10. There will be two versions of the browser; a Metro version that will not support plug-ins, and a Desktop version that does. The main point here is that the Metro version of the browser will not support Flash or Silverlight, and instead will focus heavily on delivering a great browser experience for HTML5 websites. It appears that Microsoft has taken a cue from Apple's (NASDAQ: AAPL) playbook, and it is one of the sensitive areas that has caused the most angst among the .NET developer community, as it appears to paint a discouraging picture of the future for Silverlight developers.
 
For server applications like DotNetNuke, Windows 8 does not appear to have much of an impact. This is because the user interface for web-based CMS applications are delivered through a standard web browser interface. And in the case of DotNetNuke, since it has never taken a dependency on rich client-side frameworks like Flash or Silverlight, it is insulated from the changes coming as part of Internet Explorer 10. However, Windows 8 does offer some exciting new opportunities for CMS developers. As CMS's continue to embrace more HTML5, CSS, and Javascript as native parts of their solutions, it gives developers of those solutions the opportunity to apply these same techniques to building modern Metro applications. And in the case of DotNetNuke, an enhanced API with a remote services layer would allow developers to create Metro client applications that consume and extend the capabilities of the CMS platform.
 
With the final release of Windows 8 not scheduled until late 2012, I am sure there will be plenty of additional information to consider as the date gets closer. In the meantime, I hope Microsoft steps up and provides greater clarification and guidance in regards to the how the .NET platform plays a vital role in Windows 8.

Shaun Walker is the co-founder and CTO of DotNetNuke Corp., the largest web content management system for Microsoft. A popular speaker and author, Mr. Walker has more than 18 years professional experience in architecting and implementing large-scale software solutions for private and public organizations.