Best Argument: Losing
Audience Favored: Losing (51%)
Developers remain a huge priority
Andrew Brust: From the early days of its C compilers and Visual Basic, to the introduction of the .NET Framework and on to Windows Azure, Microsoft has obsessed about developers, their languages and tools. And in the run up to Microsoft’s //build/ developer conference, it’s clear that developers remain a huge priority for Redmond.
Granted, rapid platform changes, secrecy around Windows 8 and Windows Phone, and a sometime tone deafness to what the rest of the developer world is doing have left egg on Microsoft’s developer face at times.
But the company has adapted to the new developer world, embracing the cloud and open source and contributing important new technologies to the developer community. Few give the company credit for such moves, because it’s much easier to stick to the old stereotype of the evil “M$” that’s hopelessly behind the times. In reality, it’s that very narrative that’s become obsolete.
It may not be popular to say so, but Microsoft is winning the battle for developers, especially in the Enterprise, and increasingly in the cloud and consumer worlds.
Developers need encouragement
Adrian Kingsley-Hughes: In order to foster a successful platform ecosystem, you need compelling "must have" apps; but in order to be able to attract the top developers to create those apps for your platform, that platform needs a big base of users.
That's the catch-22 facing any company bringing a new platform to market, and it is a problem that software behemoth Microsoft is facing on several fronts.
Microsoft, emboldened by the success that Apple and Google have had with their mobile platforms, chanced launching two new platform ecosystems in the form of Windows Phone and the app platform built into Windows 8. But the Redmond giant is finding that fostering a flourishing ecosystem is not just a matter of adopting an "if you build it, developers will come" approach.
Developers need encouragement, and a lot of reassurance, that their efforts are going to be rewarded; and so far, Microsoft is not achieving this.
Great Debate Moderator
It's time for our weekly Great Debate. This week's showdown promises to be hotly contested. Are you ready?
Let's get started.
I'm ready, too
First question please.
Great Debate Moderator
What is Microsoft's secret?
Microsoft won the war for developers on the PC and it gave Windows a dominant market position for over two decades. Was this all driven by IBM choosing Windows to become the PC's standard platform, or did Microsoft do something unique to attract developers?
Microsoft’s popularity with developers began when its tools became competitive. This started with Visual Basic (VB) and then Visual C++ (VC++) in the early 1990s, not with IBM’s selection of MS DOS as the PC’s operating system in the 1980s. Prior to the VB/VC++ era, companies like Borland (with Turbo C++ and Turbo Pascal), Nantucket (with Clipper), Fox Software (with FoxPro – a product Microsoft eventually bought) and Ashton Tate (with dBASE) were kings of the hill.
The key to Microsoft winning developer hearts and minds was creating good tools with high productivity and superior debugging capabilities, especially for the Windows environment, whose native C application programming interface (API) was very difficult to develop for.
Dominating the market
There's no doubt that Microsoft was in the right place at the right time.
That said, the Redmond giant was also in the fantastic position of fostering the development of an ecosystem at a time when there was little in the way of competition. Windows was, for a very long time, right at the top of the food chain.
No other company – not even Apple – managed to have much of an effect on that dominance, and Microsoft continues to reign supreme as the undefeated champion of the PC market. What Apple and Google did instead was create a new market, one for post-PC devices such as smartphones and tablets. And now developers are seeing more money in these markets than those under Microsoft's control.
Great Debate Moderator
Losing deveopers - why?
Since the dotcom boom, developers have been slowly but steadily shifting away from Windows and to the web as their development platform of choice. From that perspective, has Microsoft been losing ground with developers for over a decade?
More than one angle
As a matter of fact, from the perspective of the Web, the answer is no. But recognizing an important nuance is necessary to appreciate why: Any discussion of Microsoft’s popularity with developers needs to consider the question from two angles: that of the Windows Division, and that of the Developer Division (which is within the Server and Tools Business).
In other words, Microsoft can curry favor with developers in terms of its client platforms or in terms of its developer stack. Sometimes the two are in full alignment, but at other times they’re not correlated. As the Web has gained in popularity as an application development standard, Microsoft’s developer stack has gained in popularity too, even if Windows itself has encountered challenges.
Yes, but a bigger problem is that Microsoft's iron grip on the web – one which it achieved through effective control over Internet Explorer – lessened as soon as it had completion from the likes of Mozilla's Firefox and Google's Chrome browsers.
And this has been Microsoft problem for over a decade now, slowing giving up ground to the competition. And the more it loses ground, the more of a foothold other players get, and the better their chances of being able to create and foster new markets. And if those markets seem profitable, then the greater the likelihood is that developers will follow the money.
Great Debate Moderator
Reasons for success
Where has Microsoft succeeded with developers over the past decade and why?
Tools, tools, tools
Microsoft has succeeded in this past decade as it did in the one preceding it: by delivering solid tools. Visual Studio is a comprehensive integrated development environment (IDE), that pioneered the syntax color-coded editor, statement completion in the form of IntelliSense, comprehensive design-time data binding, integrated debugging, and a host of other industry standards that have been copied handsomely by the open source Eclipse project.
Microsoft succeeded in creating a widespread, stable, consistent, and highly open platform that could be leveraged by developers across the spectrum, from those wanting to distribute freeware or shareware, all the way up to enterprise software. There were no app stores, and no restrictions. Developers just developed, and then distributed their apps they way they wanted them distributed.
This situation was far from perfect. For example, the lack of an app store meant that there was no one central place where users could look for apps. Also, payment systems, licensing, and update mechanisms were terribly fragmented (I remember the horrors of reloading new systems!).
But despite these limitations, the software ecosystem flourished and the model essentially remained unchanged until post-PC devices started changing the way we buy and download software.
Great Debate Moderator
The enterprise effect
What about the enterprise? Microsoft has traditionally been strong in the enterprise, but aren't most enterprise developers now delivering their apps through the web browser, even if they are hosted on internal servers and not in the cloud? How has that effected Microsoft's relationship with developers?
Again, it’s extremely important to distinguish between the Microsoft developer stack and Windows itself. Challenges to the latter do not automatically erode the popularity of the former. In fact, Microsoft’s enterprise strength has, arguably, been due more to the productivity of its Web development tools than anything else.
Where Microsoft has faltered has been in the turbulence of its client development stack. The shift from classic VB to .NET Windows Forms was a tricky one…but it worked. However, the subsequent transition to Windows Presentation Foundation (WPF), followed by the crowning and dethroning of Silverlight, and the dual-track (HTML and .NET) development platform for “Windows Store” touch-centric apps, for Windows 8 and Windows RT, has caused dissonance and compromised developers’ trust in Microsoft.
For this reason, as well as the general riskiness of multiple co-existing native platforms and the evolution of HTML 5, the Microsoft Web development platform is probably Redmond’s most popular at this point, and that ties in very nicely to the company’s push toward the cloud with Windows Azure.
It's all about relationships
There is certainly a shift in the way that apps are delivered, but this has had little effect on enterprise relationships with developers. In fact, the bond between enterprise customers and developers is probably the strongest going.
Enterprise code – even small-scale apps – can be incredibly complicated, and a small fault can lead to downtime, which means lost dollars. Most savvy enterprise customers know this and don't take chances.
Great Debate Moderator
The apps effect
There's been a lot of hype about developers flocking to mobile apps in recent years. Has this been a zero sum game with a lot of web and software developers morphing into app developers or have apps been attracting a lot more new developers into the fold?
Windows Phone sleeper
It’s a combination of both, really. The advent of mobile “apps” versus enterprise “applications” has attracted new developers who have skipped past the enterprise market, but plenty of enterprises have native mobile app requirements too.
Without question, Apple has been the winner on the native mobile enterprise app front, with Android in 2nd place and gaining. Windows (including Windows Phone) has been the big loser.
But here again, the dev stack can succeed even if Windows is threatened. With the Microsoft Web stack, and its cloud platform (especially Windows Azure Mobile Services), Microsoft is wooing developers who have multiple platform targets on the client side.
Another phenomenon to watch is the growing popularity of Xamarin, which allows native Android and iOS apps to be developed using .NET and Visual Studio, with a substantial amount of code re-use across platforms. The MonoGame and Unity game engines, offer similar cross-platform capabilities from .NET code. The cross-platform C# play is like a sleeper cell for Microsoft .NET platform adoption; keep an eye on it.
Another sleeper cell is Windows Phone itself. More and more apps are landing there, and even if market share has been abysmal, critical acclaim has been high.
Quantity vs. quality
There's little doubt that there are more developers writing software these days then ever.
Partly this is down to the fact that it is easier to write apps for mobile platforms than it was for Windows, and partly down to the fact that app stores such as those run by Google and Apple make it easy for even small development houses – or even individual developers – to monetize their apps.
However, we are talking quantity here. When it comes to quality, the free-for-all that app stores are can mean wild swings. Some apps are good, others not, and customers have t rely on feedback from other customers who took a chance ahead of them to separate the wheat from the chaff.
Great Debate Moderator
Many have argued that mobile apps have been a complete paradigm shift for developers, beginning with the Apple App Store. Do you agree or disagree? Explain why.
Mobile apps, for the most part, monetize rather differently than conventional software has in years past. App stores level the playing field in terms of the distribution channel, giving small developers a platform that was previously unavailable. On the other hand, the prospect of being financially successful in the consumer app market is akin to making it big in Rock & Roll or professional sports: the reward is potentially big, but very few will make it.
Contrast this with the grounded, though well-paid, profession of custom software development, where revenue is often derived on a salaried or time-and-materials basis, and it’s a whole different ball game. For the Enterprise, it’s all about productivity and features. On the consumer side, it’s all about placement in the store and platform adoption. Enterprise developers care about the development experience and its efficiencies; consumer app developers care about the customer experience and number of copies sold.
The sweet spot, though, is the intersection between the two: Enterprise apps running on consumer smartphone and tablet device platforms. This combines new form factors with the pre-existing monetization models. Ultimately, I think this scenario will be the most important. Microsoft has good chances here, but it needs to maintain a cross-platform strategy. Tying its tools too closely to Windows devices probably won’t be a winning formula.
Yes and no.
The developer's work is largely the same, writing code and debugging problems.
What's changed is what happens once the developer is happy with the code and wants to push that out to customers.
First off, for Apple's iOS platform, the app store is pretty much the only choice for those looking to reach a mass market. This means jumping through Apple's hoops, and agreeing to Apple's 30 percent cut on sales.
Another shift has been price. Apps costing tens of dollars have been replaced by cheap apps, or even free apps monetized by ads.
Another shift has been to a 'pay once, update forever' model. This is a massive shift from the old model where customers would put their hands in their pockets on a regular basis for the newer version.
Great Debate Moderator
Why Apple and Android?
In the mobile app world, why have Apple and Android generated the most momentum, while challengers such as Microsoft, BlackBerry, Amazon, Palm, HP, and others struggled to generate interest--despite their strong relationships with developers in the past?
Apple was the first in-market to shift focus from features on the one hand to fit, finish and experience on the other. Windows Mobile devices pre-dated the iPhone by many years, but the iPhone was really the first mobile device that made it easy and fun to take advantage of smartphone technology. Android wooed OEMs with the prospect of free operating system licenses and, ironically, beat Microsoft at the multi-OEM, multi-device approach to the market.
Blackberry suffered from extreme hubris and refused to modernize until it was too late. Palm was a one-trick pony that found its own Palm V act too hard to follow. Amazon is doing just fine with its goal of selling Prime subscriptions (devices are quite secondary).
Microsoft’s prior failings in the mobile market have been due to groupthink and the resulting misread of the market. The company corrected this with Windows Phone, but now it can only succeed by playing the long game. I’d argue Microsoft has done better than anyone in addressing the iOS-Android duopoly. It’s just that Microsoft and Windows Phone will look unsuccessful until the day when all the contrarian effort pays off, and Redmond has to have the patience to get there.
The Catch 22
In order to attract consumers, you need good apps, but to get good apps you need to attract developers.
This is the catch-22 facing new ecosystems.
Apple got around this with iOS by launching the iPhone and then waiting for the device to gain popularity before adding an app store. But now consumers aren't willing to take a gamble on a new platform in the hope that apps will appear, and want great, compelling apps from day one.
This is Microsoft's greatest challenge with both Windows 8 and Windows Phone. It can't afford to hang around waiting for the platform to gain traction in order to attract developers, so it has to sidestep this by offering incentives to developers.
Great Debate Moderator
What do you make of the persistent reports that Microsoft has been paying developers and offering other incentives to get them to develop apps for the Windows Phone platform? Is that a wise strategy? Is it working?
The only thing that surprises me about these reports is that people find them to be scandalous. If Microsoft is in a distant third place, then developers can’t hope for any substantial revenue developing for Microsoft devices. Microsoft may argue that this will change once the critical mass is there, but even if developers could help Microsoft turn the tide, what would be in it for them? Microsoft needs to put its money where its mouth is and invest, or the app developers will pass it by. It’s the monetary penalty Microsoft pays for being late to the game with a viable platform.
Is the strategy working? Important apps, like Instagram, Sonos, and a host from Google, are still not available. But in the last several months Windows Phone has added banner apps like Hulu Plus, Pandora, Chase Mobile, United Airlines, TeamViewer, Temple Run, various Disney games (like Where’s My Water, and its derivatives), multiple Angry Birds titles, and others to its platform.
Windows Phone has also seen important refreshes to apps it already had, like Foursquare, OpenTable, Twitter, Rhapsody, Shazam and Yelp. Then there are the newly added “discretionary” apps, as I call them. These are the apps that are not crucial, but are nice to have – and they may be the best indicator of platform importance. New apps in this category include Fidelity Investments, E! Online, Sony Pictures’ MyDailyClip, and Domino’s Pizza.
Ironically, the best story around Windows 8 has been its apparent influence on momentum for Windows Phone. Window 8’s own momentum (and that of Windows RT) has been more modest.
Need for innovation
It make sense, but only if they keep an eye on quality. The people is that if you pay developers to create apps, most will take the easy route and Microsoft will end up with an app store filled with fart apps that it paid someone to develop.
Paying developers an incentive is a good way to attract their attention and get them to forgive the fact that the ecosystem is new, but an initial incentive doesn't encourage developers to either compete or innovate. Only a thriving ecosystem will do that.
Great Debate Moderator
Can Microsoft keep up?
The next big thing in web/software development right now is adaptive/responsive design that relies on standards and automatically adjusts web pages and web apps so that they will look great on any screen size and any device. Does this help or hurt Microsoft's chances with developers?
It helps, because it addresses the gap in native apps for Windows Phone and Windows 8/RT. But I don’t see that it’s fully taken root yet. Worse, most Web developers seem to target WebKit browsers (and I would include the Google Chrome’s Blink engine in that grouping), leaving Microsoft’s Internet Explorer 10 unable to render certain sites correctly. Since IE10 is the exclusive browser on Windows Phone and Windows RT, and is the default on Windows 8, Microsoft is still at a big disadvantage here.
Changing platforms problem
This is mostly a development platform issue, and if this is supported will by the SDK, it's not really a problem. After all, Windows developers have had to compete with varying screen sizes for years now.
The biggest problem facing developers is the rapidly changing platforms. Operating system fragmentation is a massive problem when it comes to post PC devices, and it affects developers profoundly in that they have to support a myriad of platforms, each offering different functionality.
Great Debate Moderator
Can Microsoft remain relative?
Much of Microsoft's traditional relationship with developers was based on it controlling the dominant computer platform of the previous generation. In a Post-PC world, how do you think Microsoft continues to remain relevant?
Chase the cloud
Two words: the cloud. Microsoft is certainly the underdog at this point, with Amazon Web Services dominating, but Redmond is making all the right investments and policy decisions here. The Windows Azure cloud platform supports both Infrastructure as a Service and Platform as a Services models. It’s also-platform agnostic, with official support for Linux virtual machines, and applications developed not just in .NET, but also in Java, PHP, Ruby, Node.js and Python.
Office 365 supports using the Office desktop clients on a subscription basis and offers Exchange, SharePoint and Lync on the cheap. Microsoft’s acquisitions of Skype and Yammer, while far from cheap, are adding significant value to these offerings. And the Office Web apps, available to both Office 365 and SkyDrive users, extend the reach of Office to all sorts of devices including Google Chromebooks, where they are surprisingly usable.
Honestly, Microsoft’s got so many post-PC plays in motion, the biggest problem the company has is that most people aren’t aware of half of them.
Scratch and claw
While Microsoft is trying to shape how PC software is delivered by bolting an app store into Windows 8, this doesn’t affect traditional methods of distributing software. And while we still see millions of PC sold every month, people are going to continue to developer software for Windows.
The real problem facing Microsoft is whether it can do with post-PC what it did with the PC and claw a dominant position. Given that it is lagging behind companies like Apple and Google, this seems unlikely, and this means that the Redmond giant is going to have to work harder that it has had to in a long time to attract customers, and keep them happy.
Great Debate Moderator
Your final verdict
Last question: What's your current conclusion: Is Microsoft winning or losing the war for developers?
Microsoft's got the ammo
All the dust flying around on the developer battleground has a tendency to hide the winner, and the company that’s winning today could still lose tomorrow. But in my opinion, the winning company is, in fact, Microsoft. Apple’s low on ammo, if not out of bullets completely. Android is fragmented and in any case dominated by Samsung, which threatens the other OEMS in the ecosystem. Blackberry, Mozilla and others will have a tough time gaining critical mass in the smartphone and tablet space.
Microsoft has a good strategy and a good game, and its own defeats of late have helped, by giving the company a badly-needed does of humility. If Redmond could just tone down its own internal politics and the corresponding turnover and drain in morale, it could win big. Without that transformation, its success is a little bit more a matter of chance. But its investments have been smart and its chances are good. So Redmond is winning. For now.
Microsoft is lagging
At the moment, it is not. The PC market suddenly grinding to a halt followed by a rapid shift in focus from the PC to post-PC devices has left the company scrabbling for a response.
And so far Microsoft's response has been weak. Windows Phone has not gained the traction that Microsoft had anticipated that it would, Windows RT adoption is weak, and the Windows 8 app store is still looking somewhat spare compared to the Apple and Google stores.
Microsoft still has a long way to go.
Great Debate Moderator
Both debaters scored points which will make my final verdict very difficult. Closing arguments will be posted on Wednesday and the winner will be crowned on Thursday.
Thanks so much for joining us. Don't forget to vote and leave a talkback.
The only reasonable strategy
Microsoft faces existential threats on multiple fronts. iOS and Android threaten Windows and the PC market in general. Open source NoSQL databases threaten SQL Server. Copycat, “good enough” productivity suites threaten Office. And mobile devices in general threaten game consoles, most definitely including Xbox.
Microsoft’s response -- whether you call it “Devices and Services” or “Three Screens and the Cloud” -- is about providing a consistent platform that works in multiple scenarios: Cloud and on-premises; PC, tablet, phone and TV; Web and native; enterprise and consumer.
Some would argue this hybrid approach yields too many compromises. My take is that it makes training and development efforts approachable, even in a world of sprawling, heterogeneous, indeterminate devices. My belief is this is the only reasonable strategy, and that’s the biggest reason why I see Microsoft is winning the battle for developers.
As Microsoft addresses developers at its Build conference this week, and readies a reorg for its new fiscal year that starts next week, we’ll know better if it’s continuing on the right path, or if it’s losing its nerve.
Lower hanging fruit
The key to having a successful platform is having a wide selection of apps in order to attract users. But in order to get those apps you need to get developers interested in the platform, and to do that the platform needs a broad user base.
It's a catch-22, and it is a problem facing any new platform trying to gain traction, and it is a problem that Microsoft is having with its Windows 8, Windows RT, and Windows Phone platforms. Developers are following the money, and -- right now -- the Apple App Store and Google Play store. These stores attract tens of millions of eyeballs, and millions more are being added monthly.
Microsoft, on the other hand, is having to work hard because of the huge head start that Apple and Google has, and is having to build new platforms from the ground up at a time when there are plenty of mature platforms for customers to choose.
Right now, Microsoft is losing the war for developers because there's lower hanging fruit that those developers can go after.
Momentum still gathering around mobile platforms
Andrew and Adrian did a great job of summing up Microsoft's assets, opportunities, and the challenges it faces in winning over developers to its platforms. The strong arguments from both of them and the fact that the public vote is almost dead-even shows what a difficult topic this is to unravel.
Ultimately, a lot of Microsoft's fate will hinge on which way the market goes. If it becomes a game that's more about native apps driven by mobile-centric platforms, then Microsoft is destined to lose more and more developers to Apple and Google. However, if the game shifts more toward a Web and cloud-based app platform, then Microsoft is likely to thrive with Azure as its centerpiece since the company has done an excellent job of making that a multiplatform powerhouse.
Right now, the momentum is still gathering around the mobile platforms, so we have to give Adrian the win. But, it's possible that there could eventually be a backlash and a move toward Web and cloud apps and Microsoft would be well-positioned to become a developer stronghold in that case.