Promoting the Open Web, and Platform Competition
Robert O’Callahan wrote a post last week about Mozilla’s historical promotion of the open Web over proprietary platforms. There were some things in there that I agreed with strongly, although some not as much.
Robert, as I read your view, the competition has changed from WPF, Silverlight and Flash to iOS and Android, and “accordingly, the features the Web needs to catch up on are mobile focused.” Although I absolutely agree that the web needs to be “knocking down barriers that make mobile app developers write native apps instead of Web apps,” I think it is a mistake to think that the web should narrow its competitive focus to mobile. Mobile is just a placeholder for computers that are embedded in your daily life, and don’t cost $1000+, and aren’t chained to a desk. It’s not about making phone calls. It’s about being highly interactive, with lots of integration with the real world via sensors and outputs. (There’s a whole 5-minute diatribe here about why the iPhone became popular – skipped for brevity’s sake. Let me know in comments if you want me to expand.) This isn’t a different Web; it’s just a more integrated one. The Web platform is supposed to be good at scalability, so scaling to these needs should be a strength – and I DO think we need to expose APIs to those device capabilities.
The Web platform’s competition here *IS* all proprietary stacks – WPF, Silverlight, Flash, iOS, Windows Phone, Windows, Metro, MacOS, and yes, Android. That doesn’t mean I hate all those stacks, or that I think they’re ebil – I just want the Web to be a viable competitor to them. When some developer somewhere starts building the NEXT Angry Birds, I hope it can be in the Web platform to begin with, and won’t need to be ported to those other platforms.
(As an aside, Robert, I was curious to see you give kudos for Microsoft for moving towards a standards-based platform in the same post as lambasting Google for the Chrome Store. You understand although you can write Hello World for Metro completely using standards, more complex apps are likely going to be heavily dependent on the Windows Metro Runtime APIs, right?)
I was somewhat amused to see you say “We also need to send a clear message that browser-specific app stores run counter to the open Web,” when Mozilla itself has one of the earliest (and wildly successful!) browser-specific app stores - https://addons.mozilla.org/en-US/firefox/. You can say “that’s just addons,” but looking at apps like XulTris, it’s hard to agree with that argument. I get (and agree with you) that the point should be to not silo web platform applications inside a single-browser tower, though.
To be clear – I’d like to see the Angry Birds web app work across all browsers, including being offline-accessible. I’d like to see offline GMail and Google Calendar work across all browsers, too. On the flip side, I think it’s pretty natural that there are going to be vendor-specific app stores – if for no other reason that users can get varying levels of confidence (or different assurance, or just different brand identification) from downloading an app package from Google, or Mozilla, or Amazon, or whoever. And yes, that “package” may be a link, not a JAR file, but there has been store-specific level of vetting of the application that users will find useful. I think the real question is “Could you use the Google app store from Firefox?” – personally, I’d like to say yes (modulo the browser add-ons, of course). We’ve got a ways to go there, certainly.
Robert, I’m not sure where you got “Google is explicitly telling its developers to target Chrome-only at first and support other browsers as an afterthought” – the link pointed to the Dash (Dart) “memo”, which says “Developers who can focus solely on Chrome can expect…” in essence saying “we can get this stuff into Chrome; we can’t push it to other browsers, but we can support a cross-compiler to JS.” I don’t read that as a whole lot different than any other new feature that turns up in one browser first, and goes through a lot of work before it might (or might not) be adopted by others. I think either Dart (nee Dash) will be successful as an attempt to build a wildly more productive runtime, and it will turn into a real open standards part of the web platform, and other browsers will build their own implementations of whatever it becomes as it is tossed into the open development pot – or it will inform the current efforts on Harmony, et al to goad more aggressive improvements into the current efforts. (Or it will be a complete flop, and sink without a trace. I doubt that, but I wanted to feed the trolls.) Personally, I would bet more on the informing-current-efforts-and-goading-further-improvements path, but that’s based on my history. (WPF was, after all, an attempt to learn from the Web platform and do it better.)
I’m concerned that you seem to think only Mozilla, and maybe Opera, have no vested interest in the success of a non-open-Web platform – mostly because the convolutions and double negative of that statement imply that others (Google in particular) have no vested interest in the success of the Open Web platform. I have to disagree, if that’s the implication. Yes, Google has Android; I would be a happy, happy person if the success of the open web platform placed Android into obscurity. If anyone at Google wants to fire me for that, I’ll be happy to go. And in fact, I would say Google has a very vested interest in the success of the shared open web platform, with a more solid business model behind that interest than most. If I didn’t feel that way, I wouldn’t have come to work here.
Today, in the short term, there are certainly features that are browser-specific, that enable cool applications. I hope those features will become part of the shared open web platform – and that’s what I plan to do here. If certain features don’t merit becoming part of that shared platform, for the most part I’d expect them to die on the vine*.
But to get back to the core point – if someone at Google is telling web developers across the board to target Chrome only and only support other browsers as an afterthought, I’d like to know who, so I can go kick them in the (figurative) nuts. Unless that message is actually being said by someone, I’d like to keep the focus where it needs to be – on figuring out what we need collectively to push the common Open Web platform to be competitive with all the other platforms out there, and on evangelizing building (cross-browser) web applications built on that Open Web platform.
PS: *Remind me to post something on vendor prefixes. This was already getting long.
PPS: Which also reminds me – if there’s something any of you WANT me to post about, let me know. I’m free, in case you didn’t hear.