Microsoft’s in-depth preview of its new Windows 8 operating system has some developers rethinking next-generation applications. While the sleek Metro UI and flexible Windows Runtime library (WinRT) inspired “oohs” and “aahs” when unveiled at September’s BUILD 2011 conference, there is still some heavy lifting to do by Microsoft and the developers who will be building Metro-style apps.
Not since the move from DOS to Windows has Microsoft made such a dramatic change to its user interface. After years of mouse-driven desktop experiences, the Windows 8 preview delivers an immersive user experience that’s optimized for touch (although it also supports mouse, keyboard and pen input).
The new Metro UI features 2D tiles on a full-bleed canvas. The tiles can be used as shortcuts to app functionality, or they can be fully functional apps that surface live content feeds such as weather conditions, pictures, friends’ status updates, and stock prices. The Metro UI has already been incorporated into Windows Phone 7 and Xbox, while Metro design language elements or design principles have appeared in other products over time, including Zune.
“The Metro UI is an important part of Microsoft’s identity,” said Todd Anglin, chief evangelist at Telerik. “It’s a focused play that makes Windows relevant to consumers, and it provides developers with a stronger visual language.”
.NET components love Metro
Although Microsoft was late to the smartphone and tablet markets, .NET component providers say that its contributions will more than compensate for its tardiness.
“The Metro user experience is leaps and bounds ahead of anything else out there, including iPhone and iPad,” said Jason Beres, VP of product management at Infragistics. “Apple defined smartphone and tablet user experiences; Microsoft is redefining them. Windows 8 is Windows reimagined.”
Miljan Braticevic, president and CEO of ComponentArt, agreed, calling Microsoft’s moves bold and innovative.
“It’s obvious that Microsoft is delivering a powerful development platform and UI paradigm that makes iOS and Android outdated,” he said. “The real estate use is far superior to other platforms because Metro uses all the pixels for content instead of buttons and toolbars.”
Julian Bucknall, CTO of DevExpress, is a fan of Metro’s look and feel.
“I like how you can drill down from a tile or have a live tile that’s being updated with information without you having to drill down,” he said. “It’s also nice to be able to move things by directly manipulating them rather than jumping back and forth between a mouse and a keyboard. For real work like writing, you still need a keyboard, but it will be interesting to see what new paradigms come out of this.”
Given the “touch first” design of Windows 8, Metro-style apps are envisioned as being small and specialized rather than large and feature-bloated like the desktop applications built for previous versions of Windows. Windows 8 also has a desktop mode that’s just a click away from the Metro-style start screen, which is wise since traditional desktop applications aren’t expected to change dramatically in the short-term, especially among business users.
“No one’s going to stop developing apps for existing platforms,” said Bucknall. “The platforms are still relevant, but developers may nevertheless want to develop new apps or target new hardware.”
While Metro apps may become an instant hit with consumers, developers nevertheless need to think of the use case, as Metro apps may not be appropriate in all circumstances.
“Developers need to understand Metro UI concepts and what they’re intended for,” said Telerik’s Anglin. “Metro isn’t a silver bullet, so not everything has to be shoehorned into it; otherwise you’ll get an inappropriate result.”
Developers building line-of-business (LOB) applications may want to consider the use cases for Metro-style apps and desktop applications in tandem as business users may well want a full-featured application on the desktop and a Metro-style app on the go.
Getting to know WinRT
“Spend time learning WinRT before making a commitment because you’ll need to understand what is and isn’t supported,” said Infragistics’ Beres. “A large, complex application will have to be reworked because it’s not as simple as a namespace change.”
.NET developers not yet familiar with XAML will have a bigger disadvantage than Silverlight or Windows Presentation Foundation (WPF) developers because they will have more to learn, component providers said. Although .NET developers can leverage their core knowledge, they will nevertheless need to understand the differences between the .NET framework and WinRT because they are not the same thing.
“In .NET, everything is sync and in Metro it’s async,” said Beres.
There are also some core changes to the algorithms that will require new coding. Developers who are already familiar with XAML will need to understand which services and namespaces are supported, how the threading has changed, and more.
“It’s clear that all Silverlight and WPF investments are relevant because there are no major new paradigms to learn,” said ComponentArt’s Braticevic. “To get ready for Windows 8 and Metro, keep plugging away at current XAML technology and keep close tabs on the previews and the beta.”
XAML developers also have had the benefit of feature parity between Silverlight and WPF, from Microsoft and some of the control providers. Telerik has been providing identical APIs, so developers can simply cut and paste Silverlight code into WPF, for example.
“XAML translates between Silverlight and WPF, but its future is uncertain,” said Anglin. “XAML will continue to live on the desktop and Metro, [but] WinRT changes how it runs.”
DevExpress’ Bucknall agreed, adding that the details matter.
“You can design controls and a UI with XAML, but the data interface is different, so you need to learn to talk to WinRT and understand how controls interact,” he said.
“Understanding XAML is extremely important to WinRT. If you’ve been developing WinForms applications and want to continue to target the desktop, you’d use the desktop version of Windows 8, but if you want to create Metro apps, the sooner you use XAML, the better.”
Although several component providers offer Silverlight and WPF controls, the controls are not quite right for WinRT because WinRT is not .NET.
“Microsoft drew a line: There’s WinRT and the .NET framework, and the two sides don’t talk,” said Beres. “That means developers and enterprises have to make a choice and consider the target market for an app because you can’t just design for the least common denominator.”
Beres also said he’s seeing a split among developers: Some plan to stick to desktop application development, while others are planning to build apps for the Windows Marketplace.
“Enterprises are not gushing about Metro and WinRT yet because there’s a five to seven year adoption curve,” he said. “Metro and WinRT are just another option. Early on, it’s not going to be Metro for some because of the adoption curve, but that’s not going to hurt Windows 8. Windows 8 is going to be on every new PC, delivering faster performance and better battery life.”
Those who make the move will be able to take advantage of a Microsoft stack that is common across the Windows 8, Windows Phone 7 and Xbox.
An interesting side effect of WinRT’s broad language support is that it changes the definition of a Windows developer.
“It’s clear that Microsoft wants to target professional and casual developers,” said Braticevic. “When you assess the platform, you have to be impressed with WinRT. It addresses the Holy Grail of having a runtime that’s used in the core Windows kernel, which you can program. At the same time, it offers abstraction.”
He also said that although the number of professional developers has remained relatively constant, the number of casual developers has been exploding to the point where casual developers vastly outnumber professional developers. Because WinRT makes it easy to accomplish things visually, it is well suited to the casual developer as well as the professional developer.
“The modern UI is brilliant,” said Bucknall. “It’s new and completely different. We’ve been programming deeply into Windows with Windows controls. Now you can program to the interface.”
Components retain value
Component providers have been an important part of the .NET ecosystem because they’ve allowed developers to deliver better-looking and better-performing applications faster. Although Windows 8 brings with it a new look and feel, component providers say the value they provide today will be the same basic value they provide tomorrow.
“If you buy our components, you get a set of interoperable components which can be themed together and it will all just work,” said Bucknall. “You arrange the screen using controls and write the business logic. The same will still be true in the future because you’re buying our expertise.”
Eventually, there comes a point when a developer is faced with a build-or-buy decision. Quite often when building a dashboard or UI, it becomes obvious that development time is better spent downloading, learning and customizing a third-party control rather than building it from scratch. Third-party controls are very popular among developers building business intelligence dashboards and data visualizations since their off-the-shelf functionality would be difficult if not pointless to replicate.
“A lot of UI functionality has been commoditized, and if you want sophisticated charting capabilities, you’re probably not going to take the time to build them,” said Braticevic.
While the value proposition of controls and control providers may not change, the design of the controls likely will in light of Metro.
“When you’re building for Metro, you have to build for touch; you can’t simply just port or reuse components,” said Beres. “We make high-performance grids and charts. We’ll do that for Metro, but it will fit into [Metro’s] ‘fast and fluid’ [design concept]. As always, we’ll continue to add value beyond what Microsoft provides. No matter what device or operating system you’re targeting, there’s always great value in the third-party ecosystem.”
Already, some providers have taken a first step toward Metro styling. DevExpress offers touch support as well as several Metro-inspired WinForms controls so developers can get the look and feel of Metro-style apps.
ComponentArt is providing on-the-fly HTML5 conversion for developers building dashboards and business intelligence front ends using Silverlight or WPF.
“Using Visual Studio 2010, you can build a XAML dashboard and target any mobile or desktop device,” said Braticevic. “There’s a lot of demand for that because people want to deploy HTML5 apps to iOS and Android devices. The problem is, the HTML5 tools are very primitive, lagging several years behind .NET tool sets. We allow you to use .NET charts, gauges, timers and navigators and take advantage of all the features in HTML.”
Infragistics offers HTML5 and jQuery controls. In addition, it is providing a Metro-inspired theme for all its UI controls. According to Beres, the company plans to roll out additional XAML improvements in 2012.
“We’ve built some things, but we want to see the beta so we can build controls,” he said. “What I love about Metro is that Microsoft didn’t just copy what was done for Windows Phone 7. They’re focusing on the tablet, making everything fast and fluid. For me, it makes the whole thing exciting, as if I’m a consumer.”
Telerik offers WinForms and ASP.NET controls that support Metro-like UIs . It also has an HTML5, jQuery-based framework for building modern HTML apps called the Kendo UI.
“The writing is on the wall,” said Telerik’s Anglin. “The Metro UI is the design style. You don’t have to wait to get it. You can use our WinForms and ASP.NET controls today. In the Q3 2011 release, we added touch for Windows 7 and panorama controls so you can slide tiles in WinForms. It looks like Windows 8, and at the same time customers know the technology they’re already using can be made relevant, which is good because the old stuff isn’t going away.”
Moving along with Windows
The component providers are currently pondering how Metro may affect their control offerings, but they’re waiting for the beta before they get too serious about future product directions.
“Unlike Silverlight, Windows Phone and WPF, there’s no shared code between WinRT and .NET,” said Infragistics’ Beres. “The component model is different, which is why we want to see the beta.”
Moving forward, component providers will continue to provide value-added capabilities that are not available natively in Microsoft products. However, since Windows 8 represents several dramatic shifts, the types of controls and tools they provide will evolve to meet the needs of developers and their end users.
“We have to look at all our controls to see which will remain relevant, what controls people would like, and what kind of user controls will be necessary to deliver the great user experience,” said Bucknall. “Microsoft [has] created basic controls like Tiles and ListBox, which you get with WinRT so we’ll have to think of new user paradigms which may open up new opportunities.”
Although the potential opportunity is huge, it is too early to say with confidence what new tool component providers will provide, because they’re not yet sure themselves.
“With Metro, it’s quick swipe versus hard data entry,” said Infragistics’ Beres. “In the beginning, Metro will seem more familiar to some in desktop mode, but the beauty of it is you can flip seamlessly back and forth.”
Component providers are nevertheless excited about the possibilities that may include new customer bases, control enhancements, and entirely new controls, among other things.
“The writing is on the wall for Metro/Windows 8/WinRT: No other technology is as universally supported as HTML5,” said Telerik’s Anglin. “Google, Amazon, Microsoft and Adobe are all on the same page even, and they’re competitors. It’s an interesting alignment that HTML5 is the singular platform for software development.”
Factors influencing innovation
Depending on a developer’s background, there are several factors that will influence his or her learning curve, including familiarity with user requirements for touch-based applications and knowledge of Metro, WinRT and XAML. While Metro-style apps will likely be more popular among consumers than enterprises, business intelligence and data visualization are expected to be sweet spots.
“Metro is not a platform for today,” said Anglin. “Data snacking, mashups, contact news feeds and casual games are not the same as desktop applications that require rich data input or calculations. Microsoft is very clear about this. There are 450 million plus copies of Windows 7 out there, so Windows 7 isn’t going away. If you need to support Windows 7, you better be sure you’re using the right software.”
While some see Windows 8 Metro apps as complementary to desktop applications, others say business application landscape may well evolve as a result of Windows 8.
“Unlike a regular workstation [running traditional applications] with a keyboard, mouse and big screen, Metro apps are touch-based. The UI paradigm for the desktop is inappropriate for Metro,” said ComponentArt’s Braticevic. “As an example, Microsoft Office will need to be reimagined because users will be accessing the application differently. Since Metro is really targeted at a smaller form factor, the UI and interaction represent challenges and opportunities for developers. Certain applications may change entirely.”
ComponentArt’s interpretation of evolving UIs and interaction models is evident in its TimeNavigator control, which allows users to visualize business data in the context of a particular point in time or within a chosen date range in a Metro-like, fast and fluid manner.
“We reimagined the typical UI for date ranges because if you’re using two calendars or tabs, it requires a lot of clicks,” said Braticevic. “With TimeNavigator, you can get the information you need in one swipe. And because the screen real estate is dedicated to the control, users can easily scan data and see patterns. As we move forward, it will be acutely important to be able to build immersive apps.”
Although it is not yet clear what the final version of Windows 8 will look like or what innovations third parties may add to the mix, there appear to be considerable opportunities to innovate as it relates to the use of tiles, the communication between Metro-style apps, user preferences, etc.
“When you’re building a user experience, you need to make it obvious what screen elements do or don’t do and how users should interact with them,” said Bucknall. “If the functionality a user seeks is not easily discoverable, or it appears that all screen elements will behave the same and they don’t, you’re wasting the end user’s time. Users need to know where and how to touch a screen, so you don’t want to confuse a user with tiles that look like they do something but they don’t, or vice versa.”
Bucknall also said that given the evolution of Windows, Visual Studio and Expression Blend, developers have had to develop a keen understanding of design.
“For the last several years, developers have had to learn to develop a designer’s eye. The problem is, they’re not designers, but they nevertheless have to understand what a designer is trying to achieve,” he said. “Whether you’re writing a Metro app or an iPhone app, you have to have a designer’s eye. You may need to have a designer create assets, but at least you can have a relevant discussion about what works and doesn’t work.”
The Metro paradigm is expected to spur considerable experimentation among developers who wish to adapt existing applications as well as those building completely new applications.
“Right now it’s too early to see a shift because so few people are beating on Metro,” said Beres. “Once the general population sees the beta, companies will start thinking about the types of applications and experiences they want to deliver that differ from desktop applications. Metro on the phone is so different from anything out there.”
While Metro is targeted primarily at tablets, it easily scales to very large multi-touch screens as well. If or when touch makes its way to mainstream desktops is a point of debate. Some smartphone and tablet users are beginning to touch their desktop screens out of habit, a new reality that hardware manufacturers like Dell and Lenovo are trying to exploit.
Yet, while touch is ergonomically sound for smartphones and tablets, it is far less practical as the primary mode of input on a desktop screen. Will Metro ring in a new era? The short answer is not immediately and not in isolation.
For now, developers have more than enough to think about as they ponder whether or not to build Metro applications, and if they do, how the applications can be best designed to meet the real needs of end users. In the meantime, component providers suggest developers familiarize themselves with WinRT and XAML if not HTML5.
“HTML5 developers have the best chance of developing least-common-denominator applications,” said Beres. “You can write a rich HTML5 app today that will run on IE10 and WinRT without big changes.”
Bottom line, Microsoft is making a bold step forward with Windows 8 that will open up new opportunities for developers and component providers alike. While some fear the changes ahead, others are looking forward to the updated playing field with great anticipation.