Justin James analyzes Microsoft's Windows 8 strategy and encourages developers to learn Windows Phone 7 now.
Three weeks ago, I attended TechRepublic Live 2011. One thing I like about the event is that I get to spend time with people on the non-development side of things. My job involves a lot of networking and systems administration, but when I get together with IT people, it is usually developers. At the event, I was able to chat with people from the other parts of IT, as well as thought leaders like TechRepublic's Jason Hiner, Mark Kaelin, and Bill Detwiler, who spend a lot of time talking to people in the IT trenches. One of the things that gelled for me when I was at TechRepublic Live 2011 is that I realized Windows 8 will be Microsoft's attempt at a Windows 95-like reimaging of what computing should be, and along the way it will initiate a complete rewrite of the development story.
In the TechRepublic post in which I looked at Windows 8 from the perspective of a developer, I was focused pretty closely on the technical details. In this post, I focus on the strategy that will make or break developers in the Microsoft ecosystem.
First and foremost, you have to understand that Microsoft believes desktop computing is an antiquated notion for all but a few specialized tasks. The company's strategy the last couple of years has been to rush full tilt at making the non-desktop computing experiences as good as or better than desktop apps. Here are the basic facts of the situation.
Windows Phone 7 is a conceptual beta
Windows Phone 7 (WP7) is Microsoft's most successful beta program ever. I do not mean that WP7 is a beta at a technical level; it is a well-produced, stable OS with a great UI for its intended purpose. Many pundits prior to the release of the Windows 8 Developer Preview were calling for WP7 to be scaled up to the tablet form factor, not for Windows 8 to be scaled down to tablets. Nearly every independent tech analyst I've read puts WP7 at the top or number two slot in terms of overall quality of phone OSs. That's impressive.
WP7 is a beta of the concepts of things such as the Metro UI and the development model. The lessons Microsoft learned by putting WP7 in front of millions of users, tens of thousands of developers, and a number of hardware makers have clearly played a huge role in the decisions made around Windows 8. If you want to know what developing for Windows 8 will be like, try developing for WP7. While the libraries have some differences, there are a lot of similarities, including the multi-tasking model.
The most important thing that Microsoft learned from WP7 is that with the right support from its community, they could wipe the slate clean on an established development model and a year later have an application market that is booming. I cannot emphasize enough how important this is and how I think it will color Microsoft's strategy for a long time. If you have a deep commitment to the current WinForms or WPF development models, you need to seriously evaluate that commitment in light of the WP7 lesson.
Clients are getting thinner
Many devices that are not corporate controlled PCs (tablets, smartphones, user-provided devices, etc.) are being used for work; in addition, users are now self-provisioning services for themselves via the public cloud. When you also factor in the high total cost of ownership (TCO) of the typical desktop PC and native applications, it's clear the IT department is being squeezed hard. As a result, more and more IT departments are turning to Web applications (both on and off premise) to provide the cross-platform, access-anywhere, zero installation required experience. This allows IT departments to save a ton of money. The real cost savings in the cloud aren't that you get rid of your data center, it's that you no longer have to support locally installed, easily broken applications.
On top of all of this, a variety of Web technologies such as AJAX, Web services, and HTML5 are adding up to an experience that, while not nearly as slick as a good WPF or Adobe AIR application, is "good enough" to meet common needs, and is much easier to develop than a client/server application. While the days of the perfect thin client aren't here yet (the most recent stab at this, Google's Chromebook, hasn't exactly been a success), clients are definitely getting thin to the point where many users don't use native applications other than Office, a multimedia player, and a Web browser.
Office 15: the wildcard
Office 15 (which may be out in late 2012 or early 2013) is going to be the true sign of what will happen here. 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.
Office 15 will clearly be the last traditional "desktop" version of Office, if it is offered as a "desktop" application at all. If Microsoft bites the bullet on Office 15 and goes straight to Office Web or Office Metro, the company will clearly be willing to nuke desktop apps completely. If Microsoft hedges its bets and delivers a native Office for x64 and Office Metro (or Office Web) for ARM, then we know the company is willing to give us a little bit of a gentle sunset.Read more about Microsoft's strategy.