I’ve been thinking: what would the world look like if Mozilla won? Perhaps something like this:
Users at home, at work and on the move are using their choice from a number of available operating systems on a variety of hardware and, on top of them, a number of web renderers, according to their preference. All of these stacks have good support for modern web standards. It’s possible and commonplace to write a web application which runs pretty much everywhere. Web apps have most or all of the capabilities of native apps. No one company has control of the web or the standards – standards are collaboratively developed using an open process. Users have one or many online identities, real or pseudonymous, and associated profile data, which they own and control independent of any company or organization, and which cannot be taken away from them. Every site supports that identity mechanism for interacting with it, and users can take their data easily between systems.
I think this vision of winning is widely shared across the Mozilla project. Most of us would like everything above (and a pony too :-)). I suggest that any differences of opinion regarding our future strategy are not about what winning looks like, but about how we get there, and avoid losing.
So, if that’s what winning looks like, what does losing look like? Clearly, if you invert all of the above, with closed systems, no choice, lagging and incompatible HTML engines, single vendor control of identity and so on, that’s clearly a loss. But I doubt it’ll be that clear cut. If we ‘win’ on some points and lose on others, how do we decide whether we’ve won or lost?
Here’s one plausible future scenario which looks to me a lot like being on the way to losing:
There are a variety of platforms and operating systems, but control of the single web renderer on each platform belongs exclusively to each platform vendor. On minor platforms with less clout they see the value of the web as a competitive mechanism (few people write apps specifically for those OSes), but on the major platforms, vendors prefer people to buy (monetizable) apps through the platform store. Standards are collaboratively developed, but no-one can force vendors to implement them. So, as vendors innovate in their native app APIs instead, the capabilities of native apps and web apps on those platforms diverge. This forces developers who want to use new platform features to write native apps, which (via network effects) entrenches those existing dominant platform players and hinders choice. People can still write web apps, and they run on most platforms – but only with whatever capabilities the vendor allows the web platform to have on each system, and the integration and experience is poorer. And occasionally gets worse, in the name of ‘security’, or some other excuse. There are solutions for portable identity, but API incompleteness makes it hard to give users a smooth experience using them.
The broad outlines of this situation are actually familiar – we’ve been here before. Back in 2001, Microsoft was the dominant force, and IE 6 the majority browser. They much preferred people to write apps for Windows (or for proprietary extensions in the browser) than cross-platform apps – they thought they’d seen off that risk when they stabbed Netscape and Windows-ized Java. (To some extent, monopolies legislation prevented them turning the screw more than they did.) Web apps were sort of possible, but the platform had nothing like the capabilities of native code.
Mozilla fixed that – by bringing innovation back to the browser on the dominant platform, by showing people there was a better way – first in usability, and then in platform features. We’ve vastly improved the capabilities of the web platform – and Microsoft has had to follow. Without us and our allies, there would be no web innovation.
Could we end up back there again? In a future, it might not be Microsoft – it might not even be a single company. (In fact, if Windows Phone 7 doesn’t take off, Microsoft may see open web apps as their way to compete, and become a convert!) But right now, in the mobile space, some vendors strongly control their platforms and renderers – and there may be others in the future. With only their browser available, innovators can only build things on the web that the platform vendor allows you to build – and it’s in the vendor’s financial interest for native apps to be a better experience than web apps. The long-term future for the open web and web-based innovation on these platforms does not look good.
If that becomes the norm, it looks like losing to me. How do we avoid losing like this?