Editor's note: Welcome to .NETRocks Conversations, excerpts from the .NET Rocks! weekly Internet audio talk show. Hosts Richard Campbell and Carl Franklin chat with a wide variety of .NET developer experts. This month's excerpt is from show 705, with Billy Hollis and Rocky Lhotka, who offer their thoughts on how Windows 8, WinRT, and the Metro UI will impact .development of both mobile and line-of-business applications in the .NET world.
Carl Franklin: Welcome to The Tablet Show, ladies and gentlemen. This is a new venture with Richard and I, and quite frankly we are astounded at the sales of iPads and Android tablets and looking forward to Windows 8 tablets. The excitement is surpassing that of traditional PCs. In terms of sales alone, Apple is expected to have sold 28 million iPads by the end of this year.
Richard Campbell: And I just saw that the Samsung 7 Series, which is the BUILD tablet, more or less, is available for sale for $1300 at the Microsoft Store.
CF: Yes. So it's a good time to have a show that's dedicated to this form factor. We have actually started another show called The Tablet Show, and you can get that at thetabletshow.com.
So you're a .NET developer, [and you're] probably mostly concerned with WinRT/Metro and all of that stuff. But you may dabble also in iOS and Android. We've asked Rocky Lhotka and Billy Hollis to come on the show and sort things out for us.
Billy and Rocky, we asked you here because you have some incredible history with .NET. You also have products that are going to be affected by Metro. So I guess we want to get both of your opinions, sort of a general opinion about what [WinRT/Metro] means for .NET developers. Billy, why don't we start with you?
Billy Hollis: Well, I've talked to probably a dozen or so clients since the middle of the BUILD conference and on, and there's a fair amount of variability in the way they've taken it. But I think the general conclusion that is held pretty widely is that Metro, Windows 8 in general, won't affect typical corporate development for lots of business applications for a while, except specifically in the mobile space. So that if you're looking at a typical business, there is some percentage of things that might be optimized for mobile, and it would certainly increase the productivity of the people in the company if you could move to mobile.
But that varies from business to business, from zero percent to 30 percent, 40 percent, in a few restricted cases, maybe even higher. Let's say it probably averages out somewhere in the 5 to 10 percent range for that segment of line-of-business. So canonical examples might be nurses walking around the floor getting patient data; it might be someone walking around a warehouse getting inventory data. For those kinds of scenarios, Windows 8, the entire tablet space, is a great fit. These people in many cases were seriously considering adding iPad to their repertoire of platforms, and now they're looking at whether they can delay that in order to use Windows 8 slates instead because that's a more natural fit for most of their developers. But except for that space, the universal opinion among these folks is we're going to keep doing our regular line-of-business applications the same way we have. We don't see a need to even look at Metro and WinRT seriously for them yet.
CF: That's a good place to start. Rocky?
Rocky Lhotka: Well, my take is similar, I suppose, in that I spent a fair amount of time talking to various customers about the same things. I'm not convinced that the reactions are quite the same as what Billy's portraying. Certainly the range is wide.
There are people that are extremely excited, and there are people or organizations that are extremely fearful about preserving their existing development investments in WPF or Silverlight. I think Billy is correct that at an organizational level a lot of people have listened to the talk and hopefully have a better understanding of what's going on and then are, in fact, saying well, it's a business decision. We probably are not going to rush to the Metro UI with our business apps except for dashboards or other very isolated scenarios that are really good for touch. But the more technical the people are, the more excited they tend to be in terms of why this whole Metro UI and the new system services available from WinRT are pretty darn cool.
RC: I spent a lot of time and effort trying to build good dashboards for enterprises, really helping the user know what he needs to work on next--like what are the numbers inside of this business that are important. It seems to me Metro would naturally lend itself to that, that you decompose your applications so that they would have separate widgets for each role, say accounts payable, accounts receivable, and so on, and then on those widgets would be sort of the hint that, hey, you're overdue sending out your messages for overdue accounts payable, that kind of thing.
CF: Yeah. I kind of think that when looking at our existing applications that we've been writing, pretty much you can filter out anything that has heavy text data entry but not necessarily all data entry. Data entry can mean moving a lever, clicking a button, taking a picture, signing something with your finger, that kind of thing. But it's the heavy entering of text that requires really a keyboard to utilize the UI that is the drawback... I think everything else is up for re-imagining.
RL: Well, and I'm not convinced that even those apps are exempt here because Windows 8 is not just for tablets. It is easy to fixate on that because Microsoft gave everybody a tablet at BUILD, but Windows 8 is Windows for every PC on the planet plus for the tablets.
RL: And there is a jarring effect when you're starting an application and it drops you into the desktop mode. It feels like you're running an alien type of app.
CF: Or a virtual OS or something.
RL: It's a disconcerting sensation. I think that by itself will drive some level of demand for even heads-down data entry apps to run in WinRT. This has been one of the big discussion points inside of Magenic as we strategize around this, and I think terminology becomes really important because Metro apps are supposed to be all touch friendly. But you can build heads-down data entry-type apps on top of WinRT, and they might violate some of the Metro UI standards, but then again so does every game that's going to be written to run inside of WinRT. So if your computer and your users are all keyboard equipped, why wouldn't you write your line-of-business app to run inside of WinRT?
BH: I tend to take what Rocky said and explain it to clients by trying to keep a pretty clear separation between WinRT and Metro.
BH: Because WinRT is the API, it is the thing that Windows needs because the original Win32 API is well past its prime.
BH: Win32 came about in an era where we knew we had local storage, and that was the primary source of everything we worked with, and then we kind of bolted on some things. So WinRT is more about moving to that cloud model of where everything is and about having protection against malware and replacing the deficiencies of the Windows API. It says nothing about the kind of apps that run on top of that.
BH: Metro, on the other hand, is oriented around some specific scenarios. I think of them in terms of consumption scenarios, that their primary purpose is consumption--that you might do lightweight data entry. A nurse might enter a temperature when she goes in a room or something. But, as you talked about with dashboards and various other things, the primary purpose is consumption. So that means that Metro and the way it organizes things may very well not... we don't know how far down the continuum toward producing things and doing more heavy-duty creation that Metro will go. We know it won't go all the way to the end.
But the model I put in people's head is, look at your living room. Your living room is optimized for consumption. You have a stereo, you have a big-screen TV, and it has one model for how you do things. Now look at your kitchen. Your kitchen is optimized for production, [for] that you've got completely different organization schemes. You've got a lot more things in your kitchen that you have to store and organize because you need them at different times. An organization model for the living room isn't going to work for the kitchen and vice versa, so I think we may very well see Metro either expanded with more organization schemes going forward for more complex apps, or we may see at some point the ability for the more complex desktop apps to get their own sort of cover over WinRT, so that they don't have to go against Win32. I think in the long term, probably one of those paths is going to be needed because of Metro's consumption orientation.
RC: Guys, would you go so far as to say that Windows 8 is a consumer edition of Windows? That Microsoft is not really worrying about the enterprise this time around? They're just going to focus on trying to win the consumer at a new level?
BH: I would call it a consumer edition with the potential expansion into other editions later. Does that make sense?
RL: I don't think we know yet.
There's much more! You can find the full interview at dotnetrocks.com/default.aspx?showNum=705.
Richard Campbell and Carl Franklin (both Microsoft Regional Directors) are the voices and brains behind .NET Rocks! (www.dotnetrocks.com). They interview experts to bring you insights into .NET technology and the state of software development. They're more than dry technical interviewers--they have fun!