For developers, new niches in Microsoft's new platforms
The Windows third-party developer ecosystem, carefully cultivated by Microsoft, has long been one of the most vibrant communities of its kind, adding value and innovation to the core Windows platform. Trusted third-party components can speed the development process, cut costs, and ultimately make the difference between project success and failure.
Windows is so pervasive in the technology industry that it's likely that almost every commercial developer has done some sort of Windows development at one point in time. Through the years, third-party tools, frameworks, and libraries have blossomed around the popular Windows-based technologies of the day. Today, it's blossoming again around Silverlight and the cloud.
Other areas of the Windows ecosystem include application design and code generation (IBM's Rational, for example), SharePoint tools, SQL Server modeling and development tools, and Windows server management. Tools help make developers successful, and Microsoft itself, by design, is far from the only vendor for native Windows application development. Let's explore this in greater detail.
Microsoft has always been a leader in user interface design, often creating Windows widgets (called Controls) for its products, then making them available to developers through the Windows Software Development Kit. Examples are the toolbar, with its associated tooltips and, more recently, the Ribbon interface. However, with special support for native custom Windows control and ActiveX control development, Microsoft also has fostered a third-party Windows widget ecosystem.
Early vendors such as Sheridan (acquired by Infragistics) offered specialized custom Windows controls. These widget libraries helped fill niches, target specific industries, and plug gaps in Windows' own toolkit. This meant that Microsoft wouldn't need to bear the burden of providing all of these widgets and controls, and third-party application developers were offered options through the very ecosystem that they were a part of.
This ecosystem has grown beyond single UI-based solutions and now extends to full libraries. The Boost C++ Libraries, which support the C++ Standard Template Library and other up-to-date C++ standards on Windows, is an example. In addition, communities such as Codeguru.com have grown to provide an avenue for developers to offer their libraries for all facets of Windows development to other developers within the ecosystem. This includes enhancements to the .Net framework, Windows Presentation Foundation (WPF), the Windows Phone 7 Software Development Kit, and Silverlight.
The Open Source Question
Microsoft has resisted the open source movement in terms of its crown jewels: Windows and the Office suite. Even Visual Studio has remained closed with commercial licensing, though the relatively limited Express edition is available free of charge. This doesn't mean that open source tools, compilers, and IDEs don't exist for Windows. IBM's Lee Nackman claims that the open source Eclipse IDE, along with the choice of name, was created to target Microsoft and, specifically, Visual Studio.
Eclipse is known as a Java development environment, but combined with other open source frameworks, it supports native Windows application development. For example, the Minimalist GNU for Windows (MinGW) project provides a complete framework and set of open source tools for native Windows development. It contains no commercial libraries, but fully supports and depends on Microsoft's own libraries, such as the MSVCRT.DLL C-Runtime for Windows.
Microsoft's decision to make the runtime easily accessible in this form was intentional, and it has allowed for the further growth of the developer ecosystem. As a result, Microsoft can boast support for open source Windows application development without having to release and support its own software with open source licensing. Regardless of how you feel about Microsoft's strategy, it does result in a win-win scenario for both Microsoft and developers who want open source tools.
For developers, the resulting open source market for tool and IDEs has lowered the entry costs for Windows development, increased mindshare among students, and cultivated startups around Microsoft technologies. The result is quicker and cheaper market solutions for third-party developers and an increase in Windows-based technologies being deployed in data centers.
Beyond The Desktop
Let's look beyond the classic desktop-server world of Windows and consider Microsoft's efforts to rally developers around its mobile technologies, rich Internet applications, and cloud computing platform.
The Windows Phone Marketplace is a huge step forward in Microsoft's support for the Windows Mobile ecosystem. This is one area where Microsoft is far behind the competition, which many consider inexcusable given how long its mobile technologies have been in the market. As for limitations, application development is limited to Microsoft's XNA or Silverlight 4 frameworks, while the development API still doesn't provide access to all of the phone's capabilities, such as Sockets.
To help drive its ecosystem in the face of stiff competition from Google, Apple, and RIM, Microsoft has made some of the development tools free, such as the integration of Expression Blend with Visual Studio 2010 Express. Developers can use the resulting toolset to design Windows Phone-friendly user interfaces, along with the code that makes them functional, that can be deployed as Windows Presentation Foundation or Silverlight applications.
Microsoft CEO Steve Ballmer announced at the Consumer Electronics Show earlier this month that there were 22,000 registered Windows Phone 7 developers, about 5,500 third-party applications, and around 100 new applications being launched each day. In terms of usage, customers are downloading a new Windows Phone 7 application each day, on average.
The door is open for third parties to create widgets, libraries, and data integration tools that make the environment even more powerful. And since Microsoft has made its portion of the tool chain free, it's certain to get it into the hands of developers more quickly; this presents greater market opportunities for tool vendors.
Increasing this opportunity is the fact that Silverlight isn't a platform-specific technology. In fact, it's not even Windows specific. The Silverlight runtime, along with browser plug-ins, exist for Apple Mac OS X, Linux, and the Symbian mobile OS, in addition to Microsoft's Windows and Windows Phone platforms. And since browser support includes Google's Chrome OS, Silverlight should run on Google's Linux-and-Chrome-based Chrome OS.
As a result, a heterogeneous third-party tools and developer ecosystem is popping up around Silverlight. Microsoft is embracing the fact that this ecosystem, for the first time, will extend beyond Windows and include tools and libraries for rival platforms, as well. However, much like Apple's iOS developer IDE, Xcode, runs only on Mac OS X, Microsoft's revenue may be tied largely to the success of its Visual Studio line, which runs only on Windows.
Opportunities For Windows Developers
1. Controls And Libraries There's a market for widgets and enhancements to .NET, Windows Presentation Foundation, Windows Phone 7 SDK, and Silverlight.
2. Open Source Projects like Minimalist GNU for Windows provide open source tools for native Windows development
3. Mobile Expression Blend for Visual Studio 2010 Express can be used to design Windows Phone-friendly ULs, which can be deployed as WPF or Silverlight apps.
4. Cloud Computing Microsoft's cloud is fairly open for integration with tools and software from other vendors.
5. Tablets Microsoft has introduced touch capabilities with Windows 7. Whether it will tailor Windows Phone for tablets remains to be seen.
In terms of cloud development, vendors such as Alpha Software, with its Alpha Five platform, are taking advantage of Microsoft's relative openness for integration with tools and software from other vendors. Although not purely a tools play, the openness that Microsoft is supporting opens the door to the heterogeneous deployments that other vendors have been proclaiming for years. The bet is that this strategy will overcome the "one-stop-shop" approach of companies like Oracle and IBM. Both strategies have advantages for customers--one-stop typically offers better integration, deployment, and support, while a heterogeneous approach avoids lock-in--yet the single vendor approach offers clear advantages to the vendor selling the integrated solution. It's yet to be seen how the open, heterogeneous strategy can be made into an advantage financially.
The market for tablet and slate devices is growing. In fact, it's growing at the expense of netbooks and notebook class computers, which has the potential to further erode Windows' market share. For the past two years, a bevy of tablet computers has been demonstrated at CES, some of which run Windows. Unfortunately, Windows Tablet edition hasn't progressed much since 2002, when Microsoft experimented with pen computing.
Today's Windows-based tablets are little more than the desktop version of Windows made to run on a touch-screen device, resulting in a less than optimal user experience. However, Microsoft has introduced touch capabilities in all editions of Windows 7. The features included are based on the gestures API and touch UI enhancements introduced with Microsoft Surface, which are directly available to third-party developers, but is this enough?
Now if only Microsoft would tailor its Windows Phone platform for tablets, as opposed to shoehorning desktop Windows into these devices, it would potentially expand its ecosystem well beyond what it is today, as its tools and strategy would better address all markets--desktop, Web, cloud computing, netbooks, smartphones, and tablets. Time will tell if there's any chance of that happening.
The opportunity is there for third-party vendors to find niches associated with Microsoft's Azure cloud platform, Silverlight RIA approach, and Windows Phone technologies. Microsoft has a track record of profiting from a thriving third-party ecosystem, and if anyone can find a way to achieve ROI from a heterogeneous platforms approach, Microsoft has the most potential.
The road won't be easy--after all, this strategy didn't work out well for Sun Microsystems. But one thing is clear: The opportunities for third-party vendors around Windows-based technology are greater than ever.