|Software Plus Services and Developers|
|Jun. 16, 2008|
As part of its software plus services strategy, Microsoft is enabling third-party developers to build applications that access data from its user-facing Windows Live online services and is rolling out online services specifically for application development. These services offer access to valuable data, the chance to attract Microsoft's large base of online consumers, and lower costs through outsourcing. However, the technologies used to tap into each service vary, making it hard for developers to apply their skills across multiple services, and the instability of Microsoft's consumer online strategy and other factors mean an uncertain future for some of the services.
Reaching Out to Developers
Microsoft's success as a platform company is due in part to its legacy of providing inexpensive, easy-to-use development tools for those platforms and convincing a large number of independent developers and companies to use them.
In the last 18 months, Microsoft has accelerated its transformation from a software provider into a software plus services company, rolling out an array of online services for enterprises and consumers. Recognizing the historic importance of developers to its success, the company is taking pains to include developers in its software plus services strategy as well. It offers dozens of APIs and tools for developers to tap into existing consumer-facing online services (which generally use the Live or Windows Live brands) and is introducing new online services for developers, such as services for application-data storage.
However, the types of services available, the methods and costs of accessing these services, and the potential benefits for developers vary widely. In effect, each product team seems to have been issued a mandate to build (or open up existing) online services to developers, but they have been given little guidance or restriction on how to accomplish this task. Variations among services make it difficult for organizations to determine when and how to access any particular service, estimate how much Microsoft will charge them, and figure out the developer skills needed.
(For a chart outlining Microsoft's online services for developers, see "Overview of Online Services for Developers".)
One way to get a grasp on Microsoft's online services for developers is to divide them based on the type of benefit they provide, as follows:
Access Valuable Data
Microsoft's Live Search engine and Virtual Earth mapping engine employ storehouses of data that few companies other than Microsoft could collect: Live Search uses an index of more than 20 billion Web pages gathered by Web crawlers over three years, and Virtual Earth has detailed road maps, satellite photos, 45-degree aerial shots, and traffic conditions, among other data.
Microsoft allows developers to build applications that access the same data. In particular, Microsoft envisions developers creating Web-based "mash-ups" that combine data from these services with other information—for example, a real estate agency could create a mash-up of recent house listings from its own database, superimposed on a map from Virtual Earth.
Microsoft's main business goal with these developer services is to increase awareness of the consumer-facing services in hopes of attracting more end users and advertisers to them. However, because the data in these services was hard to gather, Microsoft believes this data is valuable to developers, and therefore it imposes charges for some uses.
Advertising will also play a part in Microsoft's revenue model for these services. For example, while Microsoft charges commercial developers to access Live Search results directly through an API, it allows Web sites to place a Live Search box on their sites at no charge. The reason: in the latter scenario, results pages display advertisements that are sold by Microsoft and generate revenue for the company.
Capitalize on Network Effects
Regular users of Microsoft's online services have useful information stored in these services, such as address books in Hotmail, contact lists from Messenger, and blogs or photos posted on a Spaces page. These services are extremely popular by online standards: Microsoft counts more than 280 million active Hotmail accounts, 240 million monthly Messenger users, and 120 million Spaces. While these numbers include some duplicate registrations and many casual users, it's nonetheless safe to assume that millions of people use these services frequently.
When users visit other Web sites, they might find those sites more attractive or useful if they can access information they've already stored in Microsoft's online services—without having to open a new browser window and navigate to the Microsoft services. In effect, Microsoft is letting third parties take advantage of the considerable network effects Microsoft has already established among online users. To this end, Microsoft has made dozens of APIs available that let developers make information from Windows Live services available to end users within non-Microsoft applications and Web sites.
Microsoft hopes that developer reuse of these services will drive more end users and advertisers to the Microsoft services. Consequently, developers can access many of these services for free.
However, to help cover its own costs, Microsoft imposes charges for heavy use of some of these APIs, and these costs can quickly mount. For example, if a site consistently averages 1.2 million unique users per month accessing the Contacts API, it will pay US$0.0625 per user on a quarterly basis, for a total of US$300,000 over the course of the year. (Precise charges are calculated using a fairly complex method that's explained on a licensing terms page.)
Lower Costs Through Hosting
The third—and newest—class of Microsoft online services for developers offers a fairly simple value proposition: organizations can save money that would normally be spent on infrastructure by giving Microsoft certain tasks associated with online services, such as maintaining sufficient data storage and bandwidth. These services are analogous to Microsoft Online—the Microsoft-hosted versions of popular server applications for large businesses and enterprises slated for delivery later in 2008—but geared specifically toward third-party application developers.
The first example of this class of service is Silverlight Streaming by Windows Live, which began public beta-testing in summer 2007 and allows developers to post Web videos and (eventually) interactive applications created with Microsoft's Silverlight technology, the company's competitor to Adobe's Flash.
To encourage developers to experiment with Silverlight, the Silverlight Streaming service is currently free, subject to restrictions on storage size and throughput in order to limit Microsoft's costs of running the service. In the long run, however, Microsoft apparently envisions Silverlight Streaming as a revenue generator: later this summer, Microsoft will begin a trial that places advertisements in hosted streams, and once the service is officially out of beta, developers will have to accept these advertisements or pay an unspecified fee for the service. (Microsoft might also enable revenue sharing, in which some money from advertisements is returned to the organization that created the video or application.)
Other services for developers include Windows Live Application-based Storage (which allows storage of some user-state and configuration data in Microsoft's servers), SQL Server Data Services (a separate data storage and query processing service geared to Web applications), and BizTalk Labs (for business-to-business messaging). These services are still in very early beta or "experimental" stages, and Microsoft is not charging for them, although this will probably change as they become more popular and stable.
Developers have some reason to be cautious before building applications on top of Microsoft's online services.
Microsoft's software development platforms in general are constantly evolving, but the effects of evolution in online services could be more severe. When Microsoft eliminates support for older APIs or developer tools (such as Visual Basic 6), applications built on the older platforms usually continue to function, even if Microsoft does not provide further technical or application support for them. The case with services is quite different: if a developer relies on a Microsoft-hosted service, and Microsoft makes a fundamental change to how it's implemented or eliminates it altogether, all applications built on that service will be affected immediately.
There are plenty of reasons to expect significant churn in Microsoft's online services for developers:
Consumer online strategy in flux. Betting on the continued existence and stability of Microsoft's consumer online services (Live and Windows Live) is inherently risky. The proposed Yahoo acquisition, although currently off the table, would have resulted in many duplicate services, and Microsoft might have eliminated some of its own—including services that third-party developers had built applications around. Even without the Yahoo acquisition, Microsoft's consumer online business has been subject to frequent shifts in strategy and leadership. As long as the business continues to lose money and fails to gain traction against Google, further upheavals are possible.
Overlap. Some of Microsoft's services for developers serve overlapping functions: for instance, Application-based Storage and SQL Server Data Services both provide data storage for applications, and Virtual Earth exists alongside the older MapPoint Web service. Eliminating such overlaps would save money for Microsoft, but might leave organizations facing a complicated migration path to the surviving service.
Technology shift. As Microsoft gradually builds out and improves its developer services, it is favoring popular Web technologies rather than Microsoft-specific ones. For example, developers can access many of Microsoft's newer developer-oriented services using Web technologies that are used by standard Web sites—an architecture sometimes known as Representational State Transfer (REST). This contrasts with the more complicated Simple Object Access Protocol (SOAP) and accompanying WS-* protocols that the company previously favored. If this trend becomes a mandate, implementation details may change for particular services, or older services may receive less attention or support.
Business model instability. So far, Microsoft has at least three different business models for developer services. It may offer them for free as promotional vehicles, charge developers based on usage, or display advertisements to end users. In many cases, the licensing terms for these services don't spell out the exact cost to developers, and they leave room for Microsoft to change terms—for example, to begin charging for a formerly free service. If a service becomes particularly popular or indispensible, organizations might find themselves saddled with unexpected costs or undesirable advertisements.
Some of these concerns might be addressed at the Oct. 2008 Professional Developers Conference, where Microsoft is expected to discuss its emerging online development platform in some detail.
The Windows Live Dev site at dev.live.com contains links to SDKs for the vast majority of developer services discussed in this article, as well as code samples, sample applications, blog postings, technical documentation, and licensing terms.
Microsoft's SQL Server Data Services site is www.microsoft.com/sql/dataservices.
BizTalk Labs is at biztalk.net.
Microsoft's overall software plus services strategy is outlined in "Software Plus Services Strategy Update" on page 23 of the May 2008 Update.
PDC 2008 information and registration are at microsoftpdc.com/Registration.