Microsoft’s recent move to disband the Expression Studio suite, and discontinue some of its component products, is the latest example of a retrenchment that is returning the Developer Division (DevDiv) to its roots. Understanding that history will help make sense of the last couple of years of DevDiv moves, whether you think they make sense or not.
If you go back to the early 90s DevDiv had a fairly straightforward charter. Its job was to create tools and technologies that attracted developers to the Microsoft platforms. Pretty much Compilers, IDEs, and wrappers to make the underlying platform (i.e., Windows) more accessible. From a business perspective DevDiv was designed as a Cost Recovery business. That is, to keep it from becoming a drain on overall profits it was expected to break even. In the high growth rate 90s, and with overall sales of development tools a relatively small part of Microsoft’s revenue stream, Microsoft could absorb a 0% margin on its development tools without harming its corporate bottom line.
By the mid-90s DevDiv found itself focused on two new areas, Enterprise and Web development. On the Enterprise front DevDiv was (and is) subject to the same economics as other businesses (like SQL Server) in that Enterprise-oriented features are very expensive to develop but yield only marginal increases in unit sales. If you want to continue to break even that means you have to either raise your prices or introduce tiered pricing (or both), or sell the capabilities separately.
Web development had a similar effect in that vastly increased engineering resources were required, outstripping the ability for unit volume increases to keep DevDiv at break even. The net impact on this was for there to be continually increasing attention on the higher priced editions of the tool set (which by the late 90s was lumped into a Visual Studio family).
But Web development would eventually have an even larger impact. The first big change was the introduction of .NET Framework and the Common Language Runtime (CLR). The CLR had been proposed as early as 1994 (and maybe earlier), but it wasn’t taken seriously until the emergence of Java and its runtime as a serious platform competitor. The .NET Framework created a conundrum for DevDiv as it represented its own platform rather than simply being a wrapper for underlying platforms. This set up a competition between DevDiv and other parts of Microsoft (certainly Windows, but also Windows Mobile, Office, SQL Server, etc.) for ownership of the platform being promoted to developers.
The Web also allowed another platform competitor to emerge, Adobe. Adobe’s Flash, AIR, and Flex represented another serious threat to Microsoft’s platforms. Applications written using them were platform independent, and Flash itself had gained enormous market share as the only practical way to create rich media experiences on the web. Moreover, Adobe’s business model was the exact opposite of Microsoft’s. Whereas Microsoft provided development tools primarily in order to sell runtimes (e.g., operating systems), Adobe gave away runtimes in order to sell tools. Adobe also specialized in entering the application lifecycle much earlier than Microsoft, establishing dominance in the design tool space.
Silverlight (with CoreCLR) and the Expression line of tools were established as a counter to the Adobe platform and business strategy. This both flipped the business model on its head (give away runtime, make money on tools) and created new tensions between DevDiv as platform provider and DevDiv as creator of tools to attract developers to underlying platforms like Windows.
Meanwhile, as Java adoption by Enterprises picked up, Microsoft faced the dilema that IBM (Rational) and others were providing toolsets that more completely addressed the Application Lifecycle (ALM) than did Visual Studio. Whereas many of these elements had previously been independent of the platform, if they existed at all, they now had ties to specific platforms. This further drove Microsoft to expand its Enterprise (and large development team in general) tools offering.
As Microsoft’s growth slowed, DevDiv’s engineering expenses grew, and sales of development tools became a substantial revenue stream, DevDiv became a more noticeable drain on Microsoft’s margins. To reduce the drain DevDiv would have to move beyond pure cost recovery to actually making money. That added to the focus on ALM and Design Tools, where competitors like IBM and Adobe had created huge price umbrellas.
The result of all these developments was that DevDiv increasingly appeared to be its own Tools and Platform business rather than being focused on its original supporting role. And then came the iPhone. Yes, the iPhone was going to start the ball rolling on what I believe events of the last two years shows is DevDiv’s return to its traditional role.
One of the first things to note about the iPhone was that Apple made development tools available for free. At the same time Microsoft was requiring mobile developers to purchase one of its premium versions of Visual Studio such as Professional. For Windows Phone to succeed Microsoft was going to have to give away tools for mobile development. Second, Apple eschewed any kind of plug-ins for the iPhone browser and designed the rules for the App Store to ban generic runtimes like those of Adobe. As it turned out the iPhones huge success would end Adobe’s run at becoming a platform vendor.
To compete with the iPhone not only would Microsoft have to move mobile development from the Professional edition to the free Express edition, by basing its development platform on Silverlight it would have to make available a free version of the Expression Blend design tool as well. Alternatively Microsoft could have created a separate, less powerful, design tool for Windows Phone. But there was neither time nor desire to do so. Expression Blend was a powerful way to give the Windows Phone development environment a leg up over Apple’s.
Apple’s blocking of Adobe’s runtime, the rise in HTML5 as a viable alternative to Adobe Flash, and additional platforms deciding to block plugins put the nail in Flash’s coffin. And took Silverlight down with it. Silverlight as a cross-browser/cross-platform capability was now neither strategically necessary nor even possible.
Then came Windows 8. With Windows 8 the Windows team reaffirmed its position as the platform. Instead of the .NET Framework being the platform for apps on Windows 8, its job is as a wrapper to enable the creation of managed code applications for the Windows Runtime. DevDiv also reinvigorated its efforts around native code (i.e., C++) development in support of Windows 8’s app platform. And Expression Blend once again ended up in a central role for app development, pushing it from Expression Suite into editions of Visual Studio.
There have also been leadership and structural changes within DevDiv. How much of the leadership change can be attributed to a retrenchment from a “Tools and Platforms” business back to a focus on a role supporting Microsoft platforms such as Windows is hard to gauge. But I’m betting that has played a significant role.
So now we get to the recent Expression Studio changes. Without Adobe as a platform competitor a lot of the business justification for Expression evaporated. There is no free runtime in order to sell tools business model. Expression Blend has already made its way into Visual Studio, making it superfluous to have a second suite built around it. While Microsoft once was a leader in basic website design and HTML editing with FrontPage, its Expression Web successor doesn’t seem to have moved the needle. Visual Studio has always been the tool for more sophisticated website development, so putting all the focus there instead of splitting it with Expression Web makes sense.
That leaves Expression Design as the one area that Microsoft is really just exiting. I don’t know how successful Expression Design had become, but frankly I think most designers just continued to use Adobe’s tools. Expression Blend was and is critical because it straddles the design/development disciplines. But further you get from development the less the tools really are tied to any specific platform. So with Adobe no longer a significant platform threat there is less pressure to try to unhook designers from Adobe’s tools. Another way to look at it is that in the long history of coopetition between Microsoft and Adobe the pendulum has swung more towards the cooperation side.
I’m sure there are questions about what all this means for other areas, like development for Microsoft’s servers and its efforts around ALM. I might comment on those in future postings but it would be too much speculation for this one.
The bottom line when you look at DevDiv over the last couple of years is that the days of it focusing on tools and its own platform as a business are over. It has returned to its classic charter of being a supporting player responsible for attracting developers to Microsoft’s platforms such as Windows, Windows Phone, Windows Server, Azure, SQL Server, etc. That’s the context you have to use in understanding any of its recent or future announcements.