In today’s post Eich highlights the advantages, and more prominently the disadvantages, of closed source web applications; Flash is held up as a prominent example, with Microsoft’s platforms not far behind. His ultimate point is that Firefox and its alternative-browser kin are in a position to provide support for platforms that can compete with existing RIA tools.
Eich concedes that single vendor control of application platforms (e.g., Flash) creates a stable environment for developers that is attractive at first glance, but goes on to say that such control eliminates the opportunities that are created when application developers (and even end users) are afforded the opportunity to affect the evolution of those platforms at the most basic levels… which is exactly what happens with Open Source projects.
While the post reads at first like OSS cheerleading, Eich is looking for feedback — he wants to hear from other developers and users how Firefox can best take a leading role as a platform for RIAs (via the
canvas object) and other emerging web technologies.
…So I repeat Eich’s closing question: what do you think can and should be done with Firefox for the sake of RIA innovation?
- #1 On March 14th, 2007 1:30 am Brendan Eich replied:
> Eich concedes that single vendor control of application platforms (e.g., Flash) creates a stable
> environment for developers that is attractive at first glance….
Actually, I did not concede that as axiomatic — I pointed to powerpoint and word-doc lack of cross-platform interoperation as proof that single-vendor is *not* sufficient to ensure a “stable environment for developers”.
And I am far from an OSS cheerleader, but thanks for trying to echo my request for feedback. What is wrong with TypeKey that you had to fork my comment thread over here? Mail me if I fail to see a comment here, if you care.
- #2 On March 14th, 2007 7:04 am Rick Curran replied:
Basically any form of browser function that isn’t supported by all mainstream browsers (IE, Safari, Firefox, Mozilla / Firefox and variants) potentially creates a problem with innovation.
You just end up with the same old ‘This site best viewed in…’ scenario which isn’t a good thing whether it’s caused by closed source browser projects or open source projects.
- #3 On March 14th, 2007 7:50 am enefekt replied:
What’s the difference betweening forking software and comments?
- #4 On March 14th, 2007 10:10 am Brendan Eich replied:
Rick: or with WHATWG’s approach, the new function can be used in ways that gracefully degrade, or better yet, have compatibility glue, on other browsers that lack native support for the new function.
Since there will never by perfectly synchronized releases of new browsers adding function only where it is specified by cross-browser standards, there may be some sites that work better, or at all, in one browser. There’s no way to make progress in the browser otherwise. This is not the same situation as the old mid-90′s “This site best viewed in …” nonsense.
enefekt: forking comments is a lot easier ;-).
- #5 On March 14th, 2007 11:01 am John Dowdell replied:
“such control eliminates the opportunities that are created when application developers (and even end users) are afforded the opportunity to affect the evolution of those platforms at the most basic levels”
hmm. Restaurants usually have a “closed kitchen”, where customers do not make their food themselves, yet restaurants somehow remain governed by customer requirements.
I think we’ll have a blend of approaches in the world’s publishing capability… doesn’t need to be one style vs all others.
(I’ve been a little confused by the original essay (the title itself feels adversarial), but if the core is “In which directions can we improve Firefox?” then I’m all for it. Memory management on the Mac would get my vote for top-priority item.)
- #6 On March 14th, 2007 11:17 am Kelson replied:
Following up on the WHATWG issue, even when one browser introduces a new feature on its own, as long as it’s fully and openly specified and isn’t encumbered by IP restrictions, nothing stops other browsers from implementing the same feature in a fully-compatible manner if it the feature catches on.
In essence, that’s what happened with Safari introducing the CANVAS element, though IIRC there’ve been some slight changes as it’s gone through WHATWG, Opera, and Gecko.
On a related note — and feel free to remove the link if you think it’s inappropriate — I posted some similar thoughts on this issue a while back at Why do we need web browser diversity?
- #7 On March 14th, 2007 11:21 am enefekt replied:
So we’re talking about applications here right? Not HTML content documents with a splash of interactiviy mixed in?
If I’m designing/developing a premimum application and experience from the ground-up, ideally why would I want to worry about graceful degradation, synchronizing conflicting browsers? Or why ideally would I choose to have a branded browser chrome looming over my app?
I think this discussion should be about runtimes, not browsers. What are they? Flash Player, XULRunner/Gecko, Adobe Apollo, WebKit, WPF, WPF/e. Which ones are cross-platform, have the best experience for the developer and user? Which ones have the best support and deployment strategy? Which ones do the users trust? Which ones just work and have proven themselves?
I like working with Adobe and Mozilla technology. But I think there’s too much focus on the browser itself being the answer to everything.
- #8 On March 14th, 2007 11:29 am Brendan Eich replied:
JD: we’ve been around and around, I think you understand my blog’s point. Open content standards that facilitate user innovation are not the same as a closed content standard and a fixed-point single-vendor runtime with no extension mechanism. I am starting to think you play dumb sometimes :-/.
enefekt: can you really get your app users to download yet another runtime? Law of least effort favors the browser, if it can host your premium application (does that include gmail or greader? Yahoo! webmail?).
- #9 On March 14th, 2007 11:57 am Karl G replied:
If I’m designing/developing a premimum application and experience from the ground-up, ideally …? … ideally … ?
Thats simple, the world isn’t ideal. You use a browser because people already have it open when they visit your site and thus it provides the lowest barrier of entry. As a bonus, the browser provides a familiar environment for the user where they know that they’re in control. Until something comes out that replaces the browser (Apollo is trying…), the browser is the place to be.
- #10 On March 14th, 2007 12:14 pm James Tomasino replied:
…that such control eliminates the opportunities that are created when application developers … are afforded the opportunity to affect the evolution of those platforms at the most basic levels…
I have to agree here with the point that John Dowdell made in comment #5. The nature of a single vendor control does not eliminate opportunity for community feedback and interaction. While it does keep individuals from direct source control, that is not the only way in which users “affect the evolution of those platforms.” The responsibility for development lies with the vendor, but these big companies don’t exist in a vacuum. Responsible vendors welcome user feedback and often poll or invite questions at conferences just for that purpose.
And sorry to say …, the big innovations don’t come from the big dumb companies.
In this quote (from Brendon Eich’s blog post) is what I fear to be the crux of the fallacy. The fact is, big dumb companies who are out to make money from their off-the-shelf software do make very big and valuable innovations that help not only to drive the open source community (in efforts to keep up with major features and interoperability) but also create an easy method for newcomers to the industry to break in quickly and easily by using simple packages with precise documentation.
Far from championing closed source development, I do defend it as a necessary method for revenue and a boon to the industry. On the same token, open source development is also completely necessary and welcomed. Without the dedicated efforts of this community, many bloated vendor applications would fall stagnant without competition or voiced criticism. The two methodologies are both quite vital to the development of the web today.
So, to answer your question of which is better for the web: both.
- #11 On March 14th, 2007 12:50 pm enefekt replied:
can you really get your app users to download yet another runtime?
Depends on a few factors:
1. Does the user already have the runtime?
2. Is the experience of obtaining the runtime streamlined? (Mechanism, download size, etc.)
3. Does the app make it worthwhile, does it provide enough value to the user?
if it can host your premium application
Thats the question, what determines that? The user experience, requirements, and specifications of the app, or the limited functionality of cross-browser support? Which ones give you greater freedom to design for the user?
(does that include gmail or greader? Yahoo! webmail?)
I use Mail.app for email/gmail. And since news reading is tightly related to browsing documents, I use Safari’s RSS reader.
That brings up a good point though. Do your users expect a version of your app to run in the browser? If so, can you reasonably provide the desired experience in the browser alone? If not, what features go into a “light” browser-based version, and which features go into the “full” version? And how can you best reuse development resources across the two? (.Mac provides a webmail interface, but it doesn’t provide everything I can get from Mail.app)
You use a browser because people already have it open when they visit your site and thus it provides the lowest barrier of entry. As a bonus, the browser provides a familiar environment for the user where they know that they’re in control. Until something comes out that replaces the browser (Apollo is trying…), the browser is the place to be.
Exactly! The browser has some serious limitations. We shouldn’t be limiting our thinking to just it. The barrier of entry question is answered above.
- #12 On March 14th, 2007 1:02 pm Brendan Eich replied:
enefekt: “light” versions should be the only versions. The 37signals guys have some good rants about this. Any .Mac crippling vs. Mail.app is just bogus product differentiation :-P.
Ok, I overstate my case above. But so do you — in fact you assume your conclusion. There’s a trade-off between working in the browser and requiring a new runtime. It’s not all smiles and sunshine, for developers or for users, going the latter route. It may be winning or losing depending on a lot of factors.
If over time the browser remain too limiting and proprietary or other runtimes grow more popular, we’ll know the trade-off resolved in the way you assert. But we are not there yet, and Mozilla and other browser vendors are innovating. So the race goes on.
- #13 On March 14th, 2007 1:42 pm enefekt replied:
It’s not all smiles and sunshine, for developers or for users, going the latter route
Not saying it’s not without pitfalls and dangers.
we are not there yet, and Mozilla and other browser vendors are innovating
Straight up. And I’m not promoting one tech vendor over another.
But what you say here strikes on a good point. “Mozilla and other browser vendors”, Mozilla is not just a browser vendor. They have lots of cool projects, calendars, email clients. All outside of the browser! I like to view Mozilla more of a platform vendor.
But will Firefox 3 be distributed on XULRunner or not? That would be a slick runtime distribution scheme! I like XULRunner and have bult multiple apps with it. But on the Firefox3/Gecko Feature List, the “Firefox on XULRunner (and shipping XULRunner platform)” item is only given a P3 priority, and the comments read:
“In Progress; we can ship without it”
- #14 On March 14th, 2007 1:50 pm Brendan Eich replied:
enefekt: the XULRunner-based apps (Songbird, Joost) all roll their own, with platform additions. We anticipate versionitis and under-use of any standard XULRunner shipped under Firefox 3. I’m not sure where that plan sits, but to me it looks like a malinvestment. Our platform wins have always been in service of particular apps. Pure platform companies fail (MS has Office as well as Windows, and they’re diversifying). Platforms are great, but not in isolation.
- #15 On March 14th, 2007 3:06 pm enefekt replied:
We anticipate versionitis and under-use of any standard XULRunner shipped under Firefox 3. I’m not sure where that plan sits, but to me it looks like a malinvestment.
I’ve been kind of getting that general feeling from the Moz folks. And yeah, wasn’t suggesting platform only. Focused product development is a necessity.
It will be interesting to see if Adobe Apollo succumbs to versionitis and under-use.
- #16 On March 14th, 2007 3:11 pm n00b replied:
Curious what people think is more responsible for the growth Web 2.0-style interactivity on the web: Mozilla and its products? Or Microsoft putting an XMLHttpRequest object into Internet Explorer?
I’d say the more important innovation came from what Brendan refers to as the “big dumb company.”
- #17 On March 14th, 2007 4:33 pm Karl G replied:
Mozilla and its products? Or Microsoft putting an XMLHttpRequest object into Internet Explorer?
Neither. It was MS not releasing a browser for 5 years. This allowed NN4 to die in peace and got everybody on the same verion of IE, the one post-browser-wars, so we pretty much got a clean start around 2002 or thereabouts (not that anybody noticed with the job market and whatnot).
This brings us to the dreaded “IE Effect” (or “NN4 Effect” if you’ve been around long enough). Specifically, you really can’t deploy a quirk unless you have a workable solution for 90%+ of the market, so you get the lowest common denominator.
I would really love to see MS join the WHATWG. Unlike most standardistas, I ascribe more authority to the WHATWG than I do to the w3c. They seem to move quicker, generate more tractable APIs, and things actually seem to get implemented in a reasonable timeframe. I’m sympathetic to the various vendor efforts and don’t think that they should quit, but without MS (or a de-facto plugin for IE alongside PDF and Flash) I really can’t make use of this stuff. To be honest, I’m expecting to see Adobe take a significant chunk of the web app space starting from multimedia and working down. How much depends on how well Flex/Apollo works.
- #18 On March 14th, 2007 10:27 pm Brendan Eich replied:
n00b: I’ll assume you are not just trolling, and point out that XHR was added for Outlook Web Access when MS gave Java the boot — before that point, OWA used a Java XHR-like class. So does Sun, another “big dumb company” (or perhaps an exception to the rule as I allowed?) get the credit? C’mon.
The Ajax renaissance, Web 2.0, maps.google.com, all of that came about due to multiple causes. Mozilla never claimed credit for more than Firefox, which took market share back from MS (not something you see much), caused MS to change its plan of record re: unbundled IE update prior to “Longhorn”, and helped accelerate the Ajax trend. As Karl points out, XHR took off after more than one browser supported it.
It’s simplistic to argue about what one cause turned things around. And yeah, my “big dumb company” generalization is (slightly) simplistic. There are smart people everywhere, including at big companies. Big companies do tend to suffer from O(n^2) communication overhead and worse political/human problems. The innovator’s dilemma is haunting even Microsoft, which is “the new IBM” according to some pundits.
I do believe that significant innovations in software come from individuals and small groups, and those generally operate outside of big companies, or via skunkworks projects within more enlightened big companies.
- #19 On April 26th, 2007 12:51 am Brian Donovan’s Descriptors » Blog Archive » Mozilla Corporation: the longer you wait, the harder you’ll make it for yourself later … replied:
[...] Mozilla Corporation: the longer you wait, the harder you’ll make it for yourself later … the XULRunner-based apps (Songbird, Joost) all roll their own, with platform additions. We anticipate versionitis and under-use of any standard XULRunner shipped under Firefox 3. I’m not sure where that plan sits, but to me it looks like a malinvestment. Our platform wins have always been in service of particular apps. Pure platform companies fail (MS has Office as well as Windows, and they’re diversifying). Platforms are great, but not in isolation.Comment #14 by Brendan Eich on ‘Which is better for the web: single vendor homogeneity, or OSS/Web 2.0-style innovation?’ [...]
Post a Reply
Comments are closed.