Redmond Review

Innovation in the Margins; Adaptation in the Spotlight

It's been a real whistle-stop tour. Through rapid-fire demos between May 24 and June 6 at events in New York, California and Taiwan, Microsoft publicly disclosed its plans around the Windows Phone 7 "Mango" release, "Windows 8" and the next platform update to Xbox 360. And it wasn't just the sequence of dates that was coordinated. Audiences have seen that Microsoft's offerings across the "three screens" -- phone, PC/tablet and television -- are becoming unified in numerous ways.

By standardizing on the tile- and gesture-based panoramic Metro UI, the online marketplace business model and certain social-networking functionality, Microsoft is rationalizing its strategy in each screen category and conforming them to a strategy across all three.

That's noteworthy all by itself, but there's a specific piece of the strategy that's most uncanny: Microsoft is taking its wildly successful Windows and Xbox 360 platforms and remaking them in the image of their unproven young relative, Windows Phone 7. What does this say about innovation at Microsoft and what does this mean for developers?

Small Is Beautiful
At first blush, it's hard to believe a smartphone platform that's sold a few million handsets -- and will have maybe 30,000 apps by the time this column is published -- could be setting the trends for Redmond's desktop OS and game console juggernauts. But let's turn this on its head: Maybe Windows Phone 7 has been influential because of its small market share.

Microsoft's success with products like Windows, Office and SharePoint have made it more conservative and arguably less innovative. Meanwhile, changes in computing are threatening the relevance of those franchises. Microsoft needs big change, but has been unable to risk disrupting its traditional revenue streams to get there.

Within that seemingly bleak situation has emerged a possible solution. In areas where Microsoft's revenue is small, the company has the freedom to be innovative. There's aspirational pressure to do something new, and a lack of financial pressure to do things the old way. That lets smaller markets act as labs, of a sort, where Microsoft can experiment and innovate. It lets the big corporation dare like a small company. And when a change works with users, as Windows Phone 7 and the Metro UI have, Microsoft can bring the change to its bigger platforms, such as game consoles and PCs.

Developers Need Change Too
On the developer side of things, we have similar innovation challenges. As the Microsoft .NET Framework turns 10 years old, it has an entrenched status that inhibits its ability to change and stay relevant. In the face of industry trends like dynamic languages, multicore and parallel computing and RESTful services, is .NET learning new strokes, or is it just adding features and libraries that help it tread water? Most likely the latter, but Microsoft can't do a complete reset on .NET any more than it could obliterate Windows and Office.

Again, Redmond must preserve an important franchise, but somehow respond to market changes that threaten it. So here, too, maybe Microsoft needs small markets in which to incubate breakout solutions.

Where will that laboratory be for the Microsoft dev stack? It seems like the cloud and Windows Azure are candidates. While the foundational technologies in Windows Azure are Windows and .NET, there's also a culture of cross-platform tolerance that's healthy and encouraging. We're seeing innovations, like Service Bus Queues and Topics, show up in Windows Azure AppFabric, and we may see them move to Windows Server AppFabric subsequently. The cloud is also having a positive impact on Microsoft's speed of iteration and release.

The Windows 8 "Tailored" app area may be another incubation opportunity. Certainly support of HTML5 and JavaScript as first-class technologies represents a departure from old thinking. But we may yet see Windows 8 app dev incorporate the developer tools and languages we've used with Windows 7 and earlier versions. That could provide a platform Microsoft developers love and Web developers from outside the .NET world find attractive and exciting. If it did, it would show us that speculative efforts into smartphones, the cloud and tablets -- where Redmond has been an underdog -- were the path to revamping conventional efforts on the desktop and in the enterprise, where it has been the top dog.

Sometimes a detour is necessary to reach a destination. That may be Microsoft's lesson here, and it may be the lesson for .NET developers too.

About the Author

Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube