Via mozillaZine. It appears that Firefox 1.5 will include support for a series of new JavaScript functions dealing with arrays. These extensions are outside of the Ecma-262 language specification that formally describes JavaScript.

Developers should note that (so far) only Mozilla supports these functions, so if you want to develop web applications that remain cross-platform you will still need write your own variants (not a hard task) or use a library (like this one or this one).

So despite what “MilleniumX” says, we’ve established that the goal of these new functions is not for developer convenience. I would argue that it makes our lives a little less convenient because we have to do feature-sniffing where we didn’t have to before.

No, the reasons that they’re doing this are: a) to improve JavaScript performance (an important goal) and b) to innovate in this space. I’m fully behind improving JavaScript performance, since it’s one of the language’s biggest drawbacks.

In general, I’m also for innovation, it’s what moves us forward. I’d just like to remind everyone that, unless you are Microsoft (which has a large enough user-base that developers could write code exclusively for that browser and still be moderately successful), innovations like this and Safari’s “canvas” (or even Microsoft’s “XMLHttpRequest” when it first came out) only become truly useful once the majority of web browsers decide to support it. In other words, your innovations are useless until the other web browsers accept (and adopt) your innovations.

It’s a tricky position: to innovate means you need to break away from your competitors and introduce something new and exciting. The problem is that the developers are developing products to be used with your product as well as your competitors. Thus, convincing developers to adopt your innovations is a slow and difficult process, especially when the developers need to do extra work to ensure cross-competitor compatibility. Unless, of course, you corner the market.

So what do you get for innovating? I guess you get the respect of the community and the ability to say “we’ve innovated here and here and here…”

[Editor’s Note: After clicking “Publish” I re-read the mozillaZine forum and this comment by “kotheus” struck me: “While this may not be overly useful to web designers to use in their pages, this sort of thing is extremely nice for [Firefox] extensions and other XUL applications”. Of course, “kotheus” is entirely correct and I have to admit that it did not occur to me in the first place.]

§138 · August 17, 2005 · Firefox, JavaScript, Software, Technology, Web · · [Print]

Leave a Comment to “Mozilla Tries To Innovate”

  1. Rob says:

    I was going to mention the XUL thing as well. That alone is a good reason to consider extensions like these. I could also see some of these functions being applicable in E4X – as I understand it XQuery can be used there. If they have to write the code and expose it for ECMA 357 then maybe it was worth the effort to expose it for Javascript as well. I’m just speculating here.

    I wouldn’t be surprised if other WhatWG members (Opera, Safari, et al) added these functions as well. I think that’s where the canvas tag came from. As long as developers use feature detection then they should be able to get some benefit on pages in any future browser that supports the functions.

    I agree though, it’s a tough call on when to innovate and when to immitate.

  2. Jeff says:

    Yeah i think you have to do a fair share of both. Immitate when the developers are clamoring for it and innovate on the side to get other competitors to immitate you.