{"id":138,"date":"2005-08-17T13:20:17","date_gmt":"2005-08-17T19:20:17","guid":{"rendered":"http:\/\/blog.codedread.com\/?p=138"},"modified":"2005-08-17T13:20:17","modified_gmt":"2005-08-17T19:20:17","slug":"mozilla-tries-to-innovate","status":"publish","type":"post","link":"https:\/\/www.codedread.com\/blog\/archives\/2005\/08\/17\/mozilla-tries-to-innovate\/","title":{"rendered":"Mozilla Tries To Innovate"},"content":{"rendered":"<p>Via <a href=\"http:\/\/www.mozillazine.org\/talkback.html?article=7170\">mozillaZine<\/a>.  It appears that Firefox 1.5 will include support for a series of <a href=\"http:\/\/www.webreference.com\/programming\/javascript\/ncz\/column4\/\">new JavaScript functions dealing with arrays<\/a>.  These extensions are outside of the <a href=\"http:\/\/www.ecma-international.org\/publications\/standards\/Ecma-262.htm\">Ecma-262<\/a> language specification that formally describes JavaScript.  <!--more--><\/p>\n<div class=\"ads\"><object type=\"text\/html\" width=\"468\" height=\"60\" data=\"http:\/\/www.codedread.com\/gads.php\"><\/object><\/div>\n<p>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 <a href=\"http:\/\/www.nczonline.net\/downloads\/zArray1.0.zip\">this one<\/a> or <a href=\"http:\/\/erik.eae.net\/playground\/arrayextras\/\">this one<\/a>).<\/p>\n<p>So despite what <a href=\"http:\/\/www.mozillazine.org\/talkback.html?article=7170#2\">\"MilleniumX\" says<\/a>, 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.<\/p>\n<p>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.<\/p>\n<p>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 <span class=\"definition\" title=\"though shunned amongst web developers\">successful<\/span>), innovations like this and Safari's \"<a href=\"http:\/\/weblogs.mozillazine.org\/hyatt\/archives\/2004_07.html#005928\">canvas<\/a>\" (or even Microsoft's \"<a href=\"http:\/\/en.wikipedia.org\/wiki\/XMLHttpRequest\">XMLHttpRequest<\/a>\" 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.<\/p>\n<p>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 <span class=\"definition\" title=\"ok, the smart ones\">developers<\/span> 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.<\/p>\n<p>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...\"<\/p>\n<p>[Editor's Note:  After clicking \"Publish\" I re-read the mozillaZine forum and <a href=\"http:\/\/www.mozillazine.org\/talkback.html?article=7170#5\">this comment<\/a> by  \"kotheus\" struck me:  <i>\"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\".<\/i> Of course, \"kotheus\" is entirely correct and I have to admit that it did not occur to me in the first place.]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,38,25,11,28],"tags":[],"class_list":["post-138","post","type-post","status-publish","format-standard","hentry","category-firefox","category-javascript","category-software","category-technology","category-web"],"_links":{"self":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/comments?post=138"}],"version-history":[{"count":0,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/138\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/media?parent=138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/categories?post=138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/tags?post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}