Windows optimize

How WP7 prepared Microsoft and developers for Windows 8

Justin James analyzes Microsoft's Windows 8 strategy and encourages developers to learn Windows Phone 7 now.

Microsoft's strategy

Microsoft has been getting more focused on the enterprise and server side of things. While Windows desktop and Office licenses may be the bulk of its income stream and will be for the short term, Microsoft is quickly moving to make its money on the various server licenses. Think about it like this: Is it easier for Microsoft to sell a $10,000 license for a Datacenter edition of Microsoft and practically give away the client OSs or to try to sell 100 licenses at $100 each? With the former, Microsoft makes money when use goes up, as opposed to the latter which depends on the number of users going up. With the outsourcing and automating going on, do you really want to tie your business strategy to user count?

Microsoft has known for some time what HP just figured out: While there may still be a lot of profits to be made in desktop computing, there won't be soon. As companies shift more to Web applications, paying $100 or so for a Windows license doesn't make much sense. After all, many typical users are not using any locally running applications other than a Web browser, something like iTunes or some other media player, and perhaps Office. In addition, few people use more of Office's features than what Office Metro (in WP7) or Office Web (in Office 365/SharePoint) have. Combined with SharePoint on the server side, locally running Office is becoming less compelling for any business that does not depend on specialized macros or Office plugins. There hasn't been a compelling Office upgrade in at least a decade, because the feature set 10 years ago was more than ample for the average person (who could actually get away with using WordPerfect 5.1 if they wanted).

Windows Vista was Microsoft's last real stab at reviving desktop computing with the traditional model and wedding it to the future. If you don't believe me, look at the development-related techs that came with it: WPF, sensor access, pen input (for the slate and convertible PCs Microsoft was pushing), the Aero UI, and more. This was followed by the Silverlight initiative, which was Microsoft's final attempt to impose its own standards and ideas onto the Web. Both Vista and Silverlight failed to meet Microsoft's goals. Other than ditching WinForms for WPF in some cases, streaming video, or making internal-use-only line of business apps in Silverlight, neither set of technologies really took off. WPF and Silverlight didn't spark interest in creating new, unique, and beautiful desktop or in-browser apps.

WCF, LINQ, and to a lesser extent Entity Framework have done very well. After those technologies started to move, Microsoft pushed ASP.NET MVC hard. For a long time, I saw ASP.NET MVC as a "me too" technology (which it is, incidentally), but now I see how it fits into Microsoft's strategy. Between ASP.NET MVC and Microsoft's big commitment to jQuery, the company has made it much easier for developers to produce AJAX-based applications delivering a desktop-like experience. In addition, Microsoft has given us IIS Express and SQL Server Compact Edition for a "no install" deployment of Web apps, which is huge for cloud deployment to Platform-as-a-Service providers. In addition, it gives developers the chance to embed SQL Server and IIS into their applications, so they can deploy Web applications in a standalone mode to clients.

Bottom line

Windows 8 is a bold vision from Microsoft; the company is asking developers to start from scratch yet again. As Andrew Binstock points out on Dr. Dobb's, other Microsoft pushes for full reboots of development had really compelling arguments behind them, such as the shift from DOS to Windows or 16 bit computing to 32 bit computing. Where's the compelling rationale here? To be honest, developers are already making the move. Web apps have been exploding lately. I don't know many developers who are starting new projects as desktop applications. Web apps give you superior reach, especially to those pesky mobile users who are soon going to be penetrating the desktop arena.

Microsoft is already acknowledging the concerns around the Windows 8 Start screen. The changes in Windows 8 go far beyond the Start screen -- they are essentially a deep and pervasive shift from desktop applications to mobile apps in the development model. Again, if you want a sneak peek at what Windows 8 development is like, go look at WP7 development. The signal that Microsoft is giving us is loud and clear: if you need sophisticated applications, write Web apps; if you want easy-to-use applications, write Metro/WinRT apps. Microsoft doesn't want you writing desktop applications.

I keep hearing people say, "oh, they won't cut backwards compatibility." Maybe, maybe not -- remember what Microsoft learned from WP7. Microsoft may be willing to not invest much in making legacy applications play nicely with Windows 8. Microsoft would certainly be delighted if everyone moved to Metro/WinRT, because that would bootstrap the ARM application environment nicely.

If you want a wide open marketplace, Metro/WinRT is a great place to start developing. The truth is, even if Windows 8 tanks or takes off slowly, you are often better being the only fish in a small pond than a small fish in a giant ocean when it comes to app markets.

In an upcoming post, I will focus on exactly what technologies and concepts are important for starting to develop Metro/WinRT apps.

J.Ja

Also read: 10 ways Microsoft can make Windows 8 a game changer

About

Justin James is the Lead Architect for Conigent.

19 comments
adornoe
adornoe

hypotheticals. I wouldn???t be surprised if Office 15 was essentially Office 365. I wouldn???t be shocked if Office 15 was either an offshoot of Office Mobile as a Metro/WinRT application. I would be even less surprised if Office 15 was the Office Web stuff from Office 365, perhaps beefed up with some sort of local deployment or in-house deployment to placate security concerns. There's a lot of "ifs" and guesswork involved in there, and most of it stemming from your expectation that WP7 is the jumping off point for most other things to come. One thing is for sure, and that is that, a company takes the good and improves upon it and implements it in other areas where it's warranted, and that's true with WP7 and all other software that Microsoft and other software companies get involved in. However, guessing on the future from a current state, is not always correct. Windows 8 is meant to be "a do it all package in all form-factors", and what works well in one format is not necessarily the best for all the other formats. The cloud, which is what you're hinting at for the future of most of Microsoft's offerings, may not be allowed to take off, if all of the potential problems inherent within the paradigm are not "fixed".

Justin James
Justin James

"There's a lot of "ifs" and guesswork involved in there, and most of it stemming from your expectation that WP7 is the jumping off point for most other things to come." Yes, definitely a lot of guesswork and "ifs", but if you look at the Windows 8 developer preview and look at the documentation for developers, you'll see that there is no mistake whatsoever on that expectation regarding WP7 being the starting point. Just as WP7 development is a whole layer on top of the old Windows Mobile core, Windows 8 lays a *nearly identical system* (to the point where it seems to be trivial to remake WP7 apps for Windows 8... like changing DLL references and recompiling...) on top of the Windows kernel. J.Ja

adornoe
adornoe

looks of WP7 or the Metro interface. Metro might be "one" of the faces for new OS, but the internals would have to be a lot more accommodating to all the people who are used to a full-featured OS, like Windows 7 or Mac OS. Developing for WP7 might not be as complicated as developing for a full-featured OS, even if a lot of the work is intended for the "cloud" or internet-like applications.

Justin James
Justin James

The development model from WP7 goes far, far beyond the Metro UI. That's just scratching the surface. It's an fundamentally different experience. The Windows development model has been, "your code can do whatever it wants, except in these cases where it can't". The WP7 and Windows 8 model (with Metro/WinRT), is "your code can do these pre-determined things, that's IT". For example, in M/WRT, you *can't* just open any old file, you can open from the known, shared locations like Documents, or your application's private storage location. It is impossible to specify a filename outside of those areas to open. There is no registry access that I can see. And on and on and on. Yes, you can still write "legacy" applications that do these things, but they don't run in the Metro UI and they won't be able to run on ARM. Microsoft has, whether you agree with it or not, like it or not, drawn a line in the sand and said, "the only thing we're keeping from Windows 7 and before in terms of the development system are C# and VB.NET as languages, and XAML to define UI." J.Ja

nowagil
nowagil

just replace them by fundamentally broken web applications ;-) Enduser productivity of web applications suffers badly. This is another cost driver. Companies will eventually realize that. I am sure we will see the backlash, real GUI applications coming back in some form. The ubiquitious "apps" are just the first wave.

nowagil
nowagil

that's exactly it: a great UI for a phone. But for a computer??

nowagil
nowagil

with a market share below 1%? Hmm...

Justin James
Justin James like.author.displayName 1 Like

Because if you did, you would understand what I meant by "success". I never said it was a "success" in terms of market share or sales figures. J.Ja

nowagil
nowagil

I intentionally twisted your statement "Microsoft's most successful beta program ever" a bit. Even if Microsoft was able to put Windows 7 phones "in front of millions of users" the ultimate gauge for "success" is whether a majority, or at least a noticable portion, of the market found it compelling. Which obviously was NOT the case. Market surveys rate WP7 below 1% of marketshare.

Justin James
Justin James

"Under the hood" WP7 is Windows Mobile, in terms of the base OS that interacts with the hardware. What makes it WP7 is the entire UI replacing the old Windows Mobile UI and the new development model. Basically, WP7 is a container within Windows Mobile. The WP7 UI definitely does not scale well. It's not a screen size issue, it's an input style issue. It's simply too dependent upon touch. In the current Windows 8 developer preview, you feel this all the time, things designed for touch but the mouse just is not the correct substitute. Luckily, they have a lot of time to sort this out and get it right. J.Ja

nowagil
nowagil

some overhaul would have made it much better than iOS, Android and Windows Phone 7. "Getting it right" is all I am talking about. "right" means "meeting the needs of the users". Windows Phone 7 failed in this regard - though it is considered a good solution for its proper environment, i. e. smart phones. How can one expect that scaling it up to an environment whith totally different use cases would be a bigger success? Don't get me wrong: I am not lobbying against trying new things. Disruptive innovation is a must at times. And Micrsoft had been too weak in this area over the last years. Yet Windows 8, in its current state, seems just inadequate from the outset.

Justin James
Justin James

While Microsoft may have been a bit disappointed with the sales numbers, the folks at and around Microsoft that I've talked to in private conversations have all expressed the idea that sales are less important right now than "getting it right" so they can build long term. Remember, Windows Mobile pushed their competitors to the brink, but just because it was a "success" doesn't mean it was any good, and as a result, it was VERY vulnerable when better things came along. Look at Android's sales curve... at 1 year on the market, by all accounts it was a flop, a year later and it was steamrolling everyone. In Android's case, it took the right "must have" hardware (the original Droid) to kickstart it. J.Ja

oldbaritone
oldbaritone

WordPerfect jumped from version 5 to version 7?

xmetal
xmetal

I thought WordPerfect when I saw the title too, and was confused for a second (just a second though, as I knew they had released version 12 at least and it wouldn't make sense for Microsoft's Windows division to learn from version 7, or a desktop application, or would it? sucked me in).

Justin James
Justin James

... , but it's easy to miss, it's right under "Join the conversation!", you can subscribe via RSS or email alerts. J.Ja

CharlieSpencer
CharlieSpencer

You're right, it's very easy to miss, especially compared to the 'Alert me...' checkbox. You presented a couple of real paradigm changing positions. Like you, I'm very interested in what the next Office will look like. I've been wondering about that since I saw W8.

Rayyanahmed
Rayyanahmed like.author.displayName 1 Like

That seems good. That's what exactly I thought was going to be. An opportunity that Microsoft needs to seize.