Modern Apps or Desktop? The Answer May be Spelled W-E-B
Can Microsoft successfully straddle the fence between Windows desktop and the mobile app age? And what should you do about it?
In the financial markets, people are fond of saying "don't fight the Fed." In the Windows development market, we might say "don't fight the Red(mond)." So as Microsoft continues to put more emphasis on the Modern/Windows Store touch-first environment in Windows 8 and Windows RT, the question arises: should .NET developers continue to develop for the Windows desktop?
The Windows desktop has history and heritage to it, and that gives it the kind of staying power that is very hard to defeat, even if Microsoft wanted to. Meanwhile, the signs of such deprecation are there: The Windows 8 desktop is barely evolved from the Windows 7 one. Microsoft field personnel are being heavily tasked with making sure as many apps as possible are added to the Windows Store, with $100 bounties offered to developers to stoke the progress. It sure seems like the writing's on the wall for the Windows desktop, and it's in Microsoft's handwriting.
Is it really that simple, though? Is it Windows Store apps or bust for .NET developers? Does an answer of "no" fight the Red?
If there were ever a time to realize that Microsoft is not one monolithic organization, this is it. In Redmond, the Windows Division has long wielded massive influence. With Windows being one of Microsoft's two big cash cows (Office is the other), that just makes sense. But that doesn't mean WinDiv has absolute power. The Server and Tools Business is influential too, and the Business Solutions Division (which includes Office) calls a lot of shots of its own.
Microsoft's divisions aren't provinces -- they're states. They each have their own laws and cultures, and yet remain loyal to the corporate parent and its greater strategy, just as state leaders rally patriotically behind Federal interests on the international stage. Divisions aren't just loyal to company strategy; they help shape it. So if you're trying to determine what Microsoft will mandate next, take a look at what its divisions are doing now to forecast the emerging consensus strategy.
The Windows Division is pushing developers towards native client development, but Windows supports two native models, with the company and the market at odds over which one should prevail. That will take a while to shake out, and it makes sense to look to the other Microsoft divisions to break the tie. And with the Server and Tools Business, and the Business Division, pushing toward platform independent Web technology, that would seem to be the safe bet, and a smart one, for developers as well.
Native (Platforms) are Restless
Does this mean native is dead? Hardly; iOS and Android have proven that people still love their native apps, a lot. The real issue is that Web technologies are certain to be relevant for a long time and the native platform game, after having been stable for more than 20 years, is encountering upheaval that hasn't resolved yet. To which platform should you allocate more investment: the one that's volatile or the one that's stable? The latter would seem more sensible in the majority of cases.
Andrew Brust is Founder and CEO of Blue Badge Insights, an analysis, strategy and advisory firm serving Microsoft customers and partners. Brust is also a Microsoft Regional Director and MVP; an advisor to the New York Technology Council; and co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press, 2012). A frequent speaker at industry events, Brust is co-chair of the Visual Studio Live! family of conferences and a contributing editor to Visual Studio Magazine. Brust has been a participant in the Microsoft ecosystem for over 20 years, and has worked closely with both Microsoft's Redmond-based corporate team and its field organization for much of the last 15. He is a member of several "insiders" groups that supply him with insight around important technologies out of Redmond. Follow Brust on Twitter @andrewbrust.