At //build/ we learned that Metro is for content-centric “immersive” apps and Desktop is for data-centric “enterprise” apps. Jensen Harris said it in his 8 traits of great Metro style apps. Joe Stegman repeated it in his talk, Metro style apps using XAML: what you need to know. That’s the Microsoft party line and outsiders have been repeating it.
Don’t believe it. The real world doesn’t honor marketing boundaries. Expect to see data-centric applications appear on Win 8 almost from the moment of release.
Why am I so sure? Because the same divide has been crossed elsewhere. You’ll find business applications on the iPad today. Is the iPad any friendlier to enterprise apps than Metro? Tell me how … because I don’t see it. I don’t see any way to keep business applications out of Metro.
They tell us “Metro is optimized for immersive content-centric apps”. Well Viagra was optimized to treat hypertension. What’s your point? What is more “immersive” than a business application that fills the users screen for hours at a time?
I had lunch today with one of our long-time customers. They showed me their iPad port of their DevForce-based Windows Forms desktop application. It’s almost a complete port and they don’t foresee any barrier to finishing the job.
It looks remarkably like a typical Windows Forms app: the same gray background, same simple icons, same grids and forms over data, same tabbed interface. They made adjustments of course to accommodate touch and asynchronous server communications. There was no attempt to fancy it up; it doesn’t pretend to be a typical consumer facing iPad app.
Customer acceptance has been fantastic … because it does the job in a familiar way. We could talk about UX design all day and it wouldn’t change a thing. The UX app is exactly what users expect. And not just existing customers; the iPad version appears to be driving new sales.
What could keep them – or anyone – from porting to Metro WinRT? Three obstacles come to mind.
- Must deploy with the Windows Store
- Metro app certification
- Paucity of data-centric features
Our customer could leap these hurdles effortlessly.
Windows store deployment
I’m mildly concerned that there is no substantive enterprise deployment story. Ted Dworkin mentions it once in his talk, Introducing the Windows Store, before returning to the talk’s thesis:
We have an enterprise story that supports their unique needs … but fundamentally the Windows store is the only place that Metro-style apps can be acquired. (11:20)
I can hardly wait for that “enterprise story”. Big companies simply will not deploy their apps through a Microsoft store. I hope that Microsoft talks sensibly about an acceptable alternative – probably in the form of an enterprise store – within the next six months. I’ll take up this subject in a later post.
However, smaller companies may not be inhibited by the lack of private store. Our customer delivers its iPad client as a free app via the Apple store. Anyone could download it … but only their customers actually would. You can’t do anything with it unless you’ve first deployed the companion backend server; you acquire the server and pay for that server separately.
Metro app certification
Apple’s iOS interface guidelines run over 100 pages. Yet our customer passed Apple’s certification with a Windows Forms UI. Would it pass Win 8 Metro App certification?
It wouldn’t pass the Windows Phone certification which dictates fine points of UI style such as application navigation. We don’t have a software certification guide for Metro apps. But we have some clues sprinkled among the //build/ talks and we have the example of applications shipped in the preview.
My reading is that the Metro specs would not adversely constrain a business application experience – even if the application looked like a Windows Forms MDI application. I saw rules about screen and image resolutions requirements. I didn’t seen anything that dictated how I use the back button. I can’t have a child window; I can overlay the screen with some something that achieves a modal dialog effect. The keynote on Day 1 demonstrated conversion of Scott Guthrie’s Silverlight business app. I look at the Metro version of Internet Explorer and I know I can write a conforming business application.
Missing data-centric features
The Metro preview and sample applications emphasize content consumption. There are essential input controls such as textboxes, radio buttons, list boxes. But they appear to have forgotten about data grids.
if you follow this space, you remember that I dislike data grids; I think they’re a design cop out. That’s my opinion, shared by a tiny minority; the rest of you want your data grid … and you should have.
The Validation attributes in System.ComponentModel.DataAnnotations are missing as are related interfaces such as IDataErrorInfo and INotifyDataErrorInfo. Apparently, in it’s wisdom, Microsoft thinks that client-side validation of input is unnecessary even for consumer apps. I hope they reconsider before release but we’ve survived without them before and can do so again.
Why would you want to build a Metro Business App?
Metro apps will only run on Windows 8 (and later … if you’re the optimistic sort). I’m guessing Windows 8 won’t release until this summer of 2012. Most companies have not yet or have only recently adopted Windows 7; optimistically, a significant number get to Windows 8 late 2013. Most of us don’t write software today for first deployment in 2013.
The Windows 8 tablet is the wild card. If it has the hoped for reception in 2012 it could be a factor in driving Win 8 into the corporation … not as a replacement for existing desktops but as the viral alternative to the Apple iPad. We can dream, right?
If the Win 8 tablet is a hit, you’ll want to be on it … and not just in the blue “Desktop” stack. Some reasons:
- ARM tablets, with their better battery life, could dominate. Metro apps will run on ARM. Desktop? They will probably only run on power hungry Intel tablets.
- High performance Metro XAML in native code with GPU acceleration; Desktop XAML is managed code with more limited GPU support.
- Ready-to-wear Metro Visual Studio templates.
- Superior touch support and easier access to tablet hardware.
- Win 8 “contracts” for integration with other Metro apps and cloud services
- Better cloud integration facilitating “continuous applications” that move application state across devices as the user switches from phone to tablet to desktop.
- Ride the software platform that Microsoft is promoting and evolving.
- The “Hotness” factor … don’t discount it!
Those are big draws. Why should I toe the “Desktop for LOB” Microsoft line when I can sneak into Metro and party with the cool kids?
Get ready for Metro
Whoa, cowboy. This is the time to pay attention to Metro … and little more. Right now I wouldn’t take my business application beyond exploratory stage in Metro or WinRT.
How would I build production applications? I’d write them in Silverlight until the fog clears. I’d write with a Metro mindset. I’d isolate anything in Silverlight that isn’t in Metro – hide it behind a service interface - so I’d be prepared to swap out the implementation later.
See Brian Noyes high-level discussion of what this entails in his post, “Silverlight Developers have the smoothest road to metro.”
If I could I’d design all new screens to follow the Metro style guidelines. The Windows Phone 7 Metro style was crossing over to Silverlight design before Build; Win 8 should accelerate that trend.
If Metro is as successful in the consumer space as we hope, business applications will be written as Metro apps.
Fortuitously, I noticed that Rocky Lhotka agrees as he explains in "WinRT and business apps”.