:)
:(
Ray Ozzie's Weblog




 

To Joel, on Platforms

Joel,

Your piece on platforms was quite interesting, and I hope that I can both shed a bit more light on my perspective and Groove's perspective, and perhaps catalyze further dialog. The fact that you find that we have an architecture "interesting enough to care about" says a lot to people here who have spent nearly five years pouring the best of themselves into it; thanks.

The first thing that I agree with is that one must recognize crisply whether or not one's core motivations are in the platform space or in the application space, for the reasons that you describe, and more.

I have a different historical perspective on some things, however. For example, you assert that NetWare's base problem was the unavailability of good development tools. Indeed I agree that a core problem was that it was difficult to write applications for the environment, but this wasn't something that could be addressed by superior and cheaper tools: rather, from my experience it was the non-preemptive, non-VM nature of the environment that made it incredibly rough for development by average mortals. In many ways, the very things that made it super-high performance were the things that made it a hostile environment to develop for. No amount of tooling can hide the base semantics of the system, nor should it.

Furthermore, related to the issues of partner conflict, conflict must be present in ALL successful platform businesses. As an astute investor once told me, "no conflict, no interest." If it's not an issue in the short term, it will be an issue in the long term. This is fundamental to the platform business model; failure to recognize this represents a failure to recognize the difference between a "platform" (e.g. Linux) and a "platform business" (e.g. OS X).

In a platform business, the very basis for the business model is by definition to maximize wealth creation by continuously optimizing the balanced distribution of value between the platform provider and the platform ecosystem. In the act of creating wealth for itself, the business entity must also concurrently ensure that its actions also build a healthy and stable ecosystem that is sustainably profitable to others. If, as you say, the platform provider fails in this balanced optimization and becomes too "greedy", the ecosystem will whither as value migrates from the edge to the center, and developers lose interest.

In other words, in building platform businesses, there is no question as to whether Apple or Microsoft or IBM or Lotus or Sun or Novell will have conflict with their ecosystem - they will, at some point, to some degree. If they don't, then they're certainly not leveraging their own platform asset to an appropriate level. When Netware and Notes were at their peaks, for example, they were generating ecosystem "drag-along" revenues of 6X-8X; that is, when Notes was doing about 500MM of product revenue, the ecosystem of application and solution providers was doing about 3B+ of annual revenue, of which Lotus' own (clearly conflicting with partners) consulting business was probably doing about 200MM.

Healthy platform businesses are optimized mixtures of platform margins, layered application margins, and layered professional services margins, along with a very very healthy ecosystem doing the same. Companies like IBM are masters at this - as Doc says, playing the platform business like a chess board.

With regard to platforms vs. applications, I think that we are pretty much in agreement: End-users see value in applications, and so they compensate the developers by buying them. Developers see value in leveraging platforms, but would always rather that the platform vendor be compensated by someone else in the value chain.  (We can argue about whether this is because of developers' strategic brilliance or their economic naivete, as some have in your Discussions, but it doesn't matter: that's just the way it is.) 

Since it thus takes applications to drive creation of a new platform's value chain, and since this can take some time, it can be critically important that the platform vendor itself take the lead in demonstrating the unique capabilities of the platform by building at least a few key applications on top of it. The Windows platform needed Microsoft Excel. The Notes platform needed Lotus Notes Mail. The Groove platform needs Groove Workspace.

With regard to your specific comments regarding Groove, let me take them one at a time.

First, a platform is useless if it doesn't expose its services in a form such that they can be easily consumed. I can spend hours telling you why Groove's "architecture astronauts" designed the platform's abstractions the way that we did, but suffice it to say that the goal was to give the developer a simple interface to transparent peer communications, persistence, security, synchronization, component management, etc., through a straightforward COM-based MVC programming abstraction on top of a "shared space" virtualization. The design and implementation process was brutal, but we finally came up with what seemed to us to be a straightforward model and application design pattern.

But when we released it, and many tens of thousands of developers tried it, it became painfully obvious that it was still way way way too hard. Incredibly powerful, unique, but difficult. And there are just so many developers and rocket scientists who have the motivation and confidence to invest in learning. So, we've spent a ton of time working on three concurrent paths to make life easier for developers: For tool-developers, deep VS.NET/WinForms integration so that it is immediately obvious, taking literally minutes to do the "hello world" framework of a collaborative tool. Second, native .NET CLR managed code support, so that app writers don't have to deal with code signing, etc., to deliver secure dynamically loaded tools. And third, for solution developers doing systems integration, we're exposing our tools' core functions to outside processes & computers via SOAP through a new and extensive Web Services framework. The bottom line is that we're making huge investments explicitly aimed at developer productivity, because obviously Groove's core unique asset is in its platform.

Second, you comment on our charging partners. You should be aware that it costs nothing to do development for Groove's platform. Download the GDK, use the devzone, and get going. You have no concept of how much we've invested and continue to invest in the devzone - it's huge for a company of our size. Do we have additional "pay for" partner programs? Absolutely. And we seek to provide valuable services through those programs; they're intended to be enablers, not obstacles. If the level of service that we provide isn't yet good enough, we regret it and will surely try harder. 

Third, you talk about "free runtimes", and talk about how early Windows came with a freely redistributable runtime. Yes, I'm very familiar with this, being one of the few who bundled Windows V1 and V2, with Notes. Redistributing Windows was indeed free, and also naturally required having an ISV OEM agreement in place with Microsoft defining the terms of the redistribution. In general, what platform vendors are most reasonably concerned about are things like 1) making sure that they aren't diluting their intellectual property rights while granting other such rights, 2) defining clear terms related to [lack of] support, 3) defining clearly that the platform vendor has rights to cancel the ISV OEM redistribution at will with a reasonable notice period, 4) ensuring that the ISV OEM is shipping a "real application" with the redistributable, as opposed to just a "shim" that just unlocks runtime use limits, and so on. In the Notes case, we shipped the Windows OEM floppies with the product until Microsoft canceled the program for all ISVs OEMs. The program had outlived its usefulness as Windows distribution became quite broad, and worse, was littering the world with a mixture of old Windows versions. We really didn't care at that point because it was perceived by that time to be acceptable for our customers to obtain through other channels - even if it ultimately cost them more.

In Groove's case, we have a very straightforward and somewhat similar model: We have an "OEM Adaptation Kit", and a product called the "Groove Platform OEM Edition". No, they're not listed on our Web site. You may have heard that Groove's platform is being integrated, bundled, and broadly distributed with an upcoming version of PTC's computer-assisted design products. Although not yet generally available, this is the mechanism by which PTC will integrate the Groove platform into their product.

The OEM Adaptation Kit includes a "silent installer" that is intended to be integrated with the ISV OEM's own installer, as well as sample code showing how an app can be installed at the "top level" (home page) of the transceiver UI as is Groove Workspace. It also includes the redistributable "gold bits" for the Groove Platform OEM Edition. But unlike Windows, whose "one app, no shell" limits were hard-wired equivalently for all ISVs, Groove's platform has the capability of being throttled in its functionality in a number of ways based upon the presence of certain data objects in the install script. Thus, depending upon an ISV's requirements, we can enable anywhere from "preview edition" free level of functionality all the way up to "professional edition" level of function, as negotiated. Although the OEM Adaptation Kit isn't yet generally available, we'd surely enjoy the opportunity to engage in discussions with those wishing to bundle Groove's platform with their application or solution.

Oh, and by the way: you mentioned Groove's $99 single user license when comparing to Blogger's $35. Not that they're at all comparable, but that's our professional edition. The standard edition of Groove is $49.

And I'm really not sure what to conclude with regard to your Notes comments. In Notes' era there was no channel structure comparable to the Web, and channels (to developers, to users) are and were everything. For our respective network software, both Lotus and Microsoft lusted after Novell's channels, and did the best to try to emulate and co-opt them. (Ultimately, that was the promise of the failed Novell+Lotus merger.) It's not at all clear to me what would have happened had we simply dumped a free runtime into the channels available to us: Notes is no Web, and the Web is no Notes. And, with all due respect, the Notes platform created businesses and careers for many developers, and created many tens of billions of dollars of value for its ecosystem, and I'm very proud of it. 100mm seats is about 99.9mm more than my Iris co-founders and I probably ever dreamed of in those pre-LAN days; even 1-2-3 hadn't yet sold 1mm seats at the time.

It's a different world now, and Groove's platform potential is far beyond that that could have been envisioned in the mid 80's. Afforded the opportunity to do so, it is surely our intent to create even more value through Groove - for our customers, for our ecosystem, and for our investors. I don't know if you view us as greedy, or clueless, or taking inept actions to choke off our own oxygen, but I can tell you for certain that we're trying our best to concurrently create a platform and an ecosystem around that platform, and to create direct application value for our customers, consistent with our ability to invest in the business and our knowledge and experience in this business.

Our customers love the Groove Workspace product; it's creating real value for them, right now, and they compensate us for creating that value. So long as steady market growth for our application continues to afford me the opportunity to do so, as it is right now, and as it has over the past two years, we will be able to continue to make steady and solid investments in catalyzing the growth of a platform ecosystem. It takes "energy" for an ecosystem to grow; investment is that energy.

But building an ecosystem is more chaotic than complex, and requires feedback loops. We have made mistakes, we will continue to make mistakes, and we're doing the best that possibly can to serve others within a variety of real life constraints. We're listening, we're learning, and we'd love to welcome others to join us on our journey. The opportunity is huge for those who can think and act a few years ahead of the curve, beyond the current model, and we're having a blast in doing so...


Click here to visit the Radio UserLand website. Subscribe to "Ray Ozzie's Weblog" in Radio UserLand. Click to see the XML version of this web page.  © Copyright 2002 Ray Ozzie.
Last update: 9/3/2002; 1:15:31 PM.