Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Firefox Mozilla Software Upgrades News Technology IT

Firefox: In With the New, Out With the Compatibility 366

snydeq writes "Mozilla's 'endless parade' of Firefox updates adds no visible benefit to users but breaks common functions, as numerous add-ons, including the popular open source TinyMCE editor, continually suffer compatibility issues, thanks to Firefox's newly adopted auto-update cycle, writes InfoWorld's Galen Gruman. 'Firefox is a Web browser, and by its very nature the Web is a heterogeneous, uncontrolled collection of resources. Expecting every website that uses TinyMCE to update it whenever an incremental rev comes out is silly and unrealistic, and certainly not just because Mozilla decided compatibility in its parade of new Firefox releases was everyone else's problem. The Web must handle such variablility — especially the browsers used to access it.'"
This discussion has been archived. No new comments can be posted.

Firefox: In With the New, Out With the Compatibility

Comments Filter:
  • by Harshmage ( 1925730 ) on Thursday March 29, 2012 @03:47PM (#39514361)
    Use the ESR version and don't stress about major version changes until November-ish.
  • by Kobyov ( 1020024 ) on Thursday March 29, 2012 @03:52PM (#39514425)
    http://www.mozilla.org/en-US/firefox/organizations/ [mozilla.org] It's great really, makes the updates much more like the 3.6 era, when they did things sensibly
  • by The MAZZTer ( 911996 ) <.moc.liamg. .ta. .tzzagem.> on Thursday March 29, 2012 @03:55PM (#39514483) Homepage
    Mozilla is actually changing to an "assume it works" model where addons will be enabled and version compatibility information will be ignored, since most addons will still work fine. They might only enforce it for major updates or something. So you won't have to do this for much longer.
  • works for me (Score:5, Informative)

    by Pretzalzz ( 577309 ) on Thursday March 29, 2012 @03:57PM (#39514515)

    None of the extensions I use break with 'every' revision. Most I don't even think have needed to be upgraded from 8.0 to the current 13.0a2[Aurora], and it updates Firefox essentially every time I restart Firefox. It makes me think TinyMCE are the one's doing something wrong.

  • by Anaerin ( 905998 ) on Thursday March 29, 2012 @04:10PM (#39514689)

    The only reason there would be a compatibility problem is if programs/scripts/modules/whatever are using user-agent identification to determine what features are available. This is (and always has been) a very bad practice - You check to see if the functions (or alternatives) are available, rather than checking against UA. That way you don't have to continually update scripts to maintain compatibility with the latest versions. When when browsers start supporting new functions coded in, those functions just work. When deprecated functionality is removed, the check for that particular function fails and the code moves on to another branch.

    For example, rather than the following:

    function getXMLHTTP() {
    if (navigator.appName == 'Microsoft Internet Explorer')
    {
    var ua = navigator.userAgent;
    var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
    rv = parseFloat( RegExp.$1 );
    if (rv try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
    catch (e) {}
    try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
    catch (e) {}
    try { return new ActiveXObject("Microsoft.XMLHTTP"); }
    catch (e) {}
    } else
    return XMLHTTPRequest;
    } else
    return XMLHTTPRequest;
    }

    Which uses nasty browser detection to try and cope with IE 8 and below, you should use:

    function getXMLHTTP() {
    if (XMLHTTPRequest) return XMLHTTPRequest;
    if (ActiveXObject) {
    try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
    catch (e) {}
    try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
    catch (e) {}
    try { return new ActiveXObject("Microsoft.XMLHTTP"); }
    catch (e) {}
    }
    throw new Error("This browser does not support XMLHttpRequest.");
    }

    Which nicely checks to see both if the newer/proper XMLHTTPRequest Javascript object exists, and if not, tries to use the latest ActiveX object (Necessary for IE 8 and below), while only using the "ActiveXObject" function if it is available. It also means that if MS put out a version of IE that falls back to the ActiveX Object route, this code will still work with it, whereas the first will not. It's a minor example, true, but it's an example nonetheless.

  • by Moses48 ( 1849872 ) on Thursday March 29, 2012 @04:14PM (#39514755)

    Good solution as their rolling releases will have bugs pop up from time to time. The tinyMCE issue was a BUG in FF and has been resolved in the nightly build. See the source: https://bugzilla.mozilla.org/show_bug.cgi?id=737784 [mozilla.org]

  • Re:It's a madness (Score:4, Informative)

    by SJHillman ( 1966756 ) on Thursday March 29, 2012 @04:20PM (#39514823)

    Some pointless comparisons.

    Numbers below are rounded off, does not include beta versions (including pre-1.0). Also, my math is probably off.

    Internet Explorer - Averages new version every 21 months
    First Version: IE1 - August 1995
    Current Version: IE9 - March 2011

    Firefox - Averages new version every 9 months (every 1.7 months since version 4.0)
    First Version: Fx1 - November 2004
    Latest Version: Fx11 - March 2012

    Chrome - Averages new version every 2.2 months
    First Version: Chrome 1 - December 2008
    Latest Version - Chrome 18 - March 2012

    Opera - Averages new version every 17.5 months
    First Version: Opera 2 - April 1996
    Latest Version - Opera 11 - December 2010

    Safari - Averages new version every 18 months
    First Version: Safari 1 - January 2003
    Latest Version: Safari 5 - June 2010

    Lynx - Averages new version every year or so
    First Version: Lynx 1 - sometime in 1992
    Current Version: Lynx 2 - sometime in 1993

    I threw Lynx (actually currently on 2.8, June 2010) on there because it's proof version numbers mean nothing anymore.

  • by LordLucless ( 582312 ) on Thursday March 29, 2012 @04:32PM (#39514967)

    You might not have heard of it, but if you've ever typed a comment on a site with a richtext editor, you've probably used it (it or CKEditor)

  • by AliasMarlowe ( 1042386 ) on Thursday March 29, 2012 @04:33PM (#39514977) Journal

    Of course, you don't have to worry about having any features then, either.

    Not necessarily. I use Opera as choice 1 and Chromium as choice 2 (both on the Windows laptop at work and the Linux laptop/PCs at home). Both have adequate anti-scripting and ad-blocking support.

  • Re:Crazy Idea (Score:4, Informative)

    by b4dc0d3r ( 1268512 ) on Thursday March 29, 2012 @04:41PM (#39515075)

    TinyMCE is not a plugin, it's a script library. Like jQuery. The bug is in FireFox, and probably would have been there regardless of the release schedule. IF they don't test releases with TinyMCE, they would not have noticed a regression.

    It was confirmed as a bug in FireFox, and the newer versions of TinyMCE work around it. The relevant comment is:

    // Wait for iframe onload event on Gecko

    I'm pretty sure TinyMCE is cross-platform, as much as it can be when each browser can add bugs (or at least unexpected changes in behavior).

    What I haven't searched for is whether the onload event order for iframes is documented in a standard, or by convention. Either way, if you write to the standard and the browser doesn't, your plugin looks broken.

  • Re:Boo Hoo (Score:4, Informative)

    by _xeno_ ( 155264 ) on Thursday March 29, 2012 @05:04PM (#39515381) Homepage Journal

    This is one of my main issues with the rapid-release stuff, that it's impossible to get bug fixes without getting unwanted new features.

    Or the best type of Firefox feature, the new bug!

    There's a new bug in Firefox 11 that prevents tabs from reloading on startup correctly. Unfortunately it's caused by a new "feature" that's designed to restore tabs from startup more correctly.

    Essentially, when Firefox 11 starts and reloads tabs from a previous session, Firefox 11 will now fire some JavaScript events that are only supposed to be fired due to user interaction. Except it A) sometimes fires these events when it shouldn't at all due to a race condition and B) is now automatically firing an event that should only ever fire due to user interaction with the webpage. Thereby completely breaking webpages that assume that events fired by a user interacting with the webpage only ever fire when the user intends to interact with the page. And not because some developer at Mozilla decided to randomly fire JavaScript events for no readily apparent reason.

    Unfortunately this is a "feature" and therefore will not be fixed. Because Firefox is supposed to do that, as of Firefox 11. Despite the fact that, as far as I know, no other browser ever fires events in that fashion.

  • by VGPowerlord ( 621254 ) on Thursday March 29, 2012 @05:24PM (#39515657)

    people bitched that there add-ons were getting disabled for no reason due to version compatibility checking, so they removed it. Now people are bitching that there add-ons are breaking?! How it this mozilla's fault? you got what you wanted! It is the add-on developers responsibility to either enable compatibility checking, or test there add-on before each new version.

    besides, why would you even need an add-on like tinymce? If your website requires a Firefox add-on for full functionality then YOUR SITE is broken. Don't blame the add-on, and definitely don't blame the browser when things go wrong. Joomla and wikipedia can do it without problems! do it right or STFU

    tinymce isn't an addon. tinymce is a JavaScript library for making a standard HTML textarea look and act like a RichText text box.

    Which is why it breaking is a Firefox bug.

  • by cpu6502 ( 1960974 ) on Thursday March 29, 2012 @09:21PM (#39518067)

    I've come across a number of websites that don't work with Opera Browser unless I change the setting to "mask as firefox". Then the site works. The problem wasn't Opera; the problem was the website not recognizing the browser, and therefore sending some old broken page.

    You asked for examples. Yahoomail is one. Facebook is another. Had to change the Agent-ID to "mask as firefox" to get them to work.

  • by makomk ( 752139 ) on Friday March 30, 2012 @05:01AM (#39520331) Journal

    Chrome on the other hand will quite happily use 20 GB or more of RAM...

  • by Intrepid imaginaut ( 1970940 ) on Friday March 30, 2012 @05:55AM (#39520543)

    I have over 90 tabs open for weeks on end in firefox, memory usage rarely if ever goes past half a gig.

Thus spake the master programmer: "After three days without programming, life becomes meaningless." -- Geoffrey James, "The Tao of Programming"

Working...