In recent times QA has expanded our automated cross-browser testing: we re-organized our builds, pointed the tests to beta labs wikis as well as test2wiki, and we've written a number of new tests. In the course of that a lot of our builds for Internet Explorer versions began to fail.
I've just cleaned up most of the build failures and discovered what I think are some interesting facts about support for older versions of Internet Explorer across the set of WMF features.
Not supported in IE6: AFTv5 by design VisualEditor by design UniversalLanguageSelector by design Interlanguage "Add links" feature known issue https://bugzilla.wikimedia.org/show_bug.cgi?id=49139 PageTriage by design PDF export broken: https://bugzilla.wikimedia.org/show_bug.cgi?id=49485 Page editing: degraded UI ACUX display garbled but functions, known issue
Not supported in IE7: VisualEditor by design UniversalLanguageSelector by design Interlanguage "Add links" feature known issue https://bugzilla.wikimedia.org/show_bug.cgi?id=49139 PageTriage by design PDF export broken: https://bugzilla.wikimedia.org/show_bug.cgi?id=49485
Not supported in IE8: VisualEditor by design UniversalLanguageSelector minor issue https://bugzilla.wikimedia.org/show_bug.cgi?id=49447 Interlanguage "Add links" feature known issue https://bugzilla.wikimedia.org/show_bug.cgi?id=49139
Not supported in IE9: AFTv5 broken for now https://bugzilla.wikimedia.org/show_bug.cgi?id=49445(AFTv5 has a history of IE9-only issues) VisualEditor broken for now https://bugzilla.wikimedia.org/show_bug.cgi?id=49187 Interlanguage "Add links" feature known issue https://bugzilla.wikimedia.org/show_bug.cgi?id=49139
One other interesting note: we have an effective test for GuidedTour (it has turned up regression bugs) that runs properly across all the browsers, so thanks E3 team.
On 06/13/2013 11:22 AM, Chris McMahon wrote:
In recent times QA has expanded our automated cross-browser testing: we re-organized our builds, pointed the tests to beta labs wikis as well as test2wiki, and we've written a number of new tests. In the course of that a lot of our builds for Internet Explorer versions began to fail.
Yes, IE is particularly an issue for this, since it often requires a fair amount of specific work. However, our browser compatibility requirements in general are somewhat in limbo. James Forrester marked the guidelines at https://www.mediawiki.org/wiki/Compatibility#Browser historical, rightly pointing out they were somewhat unrealistic (they didn't reflect what people could afford the time to actually do).
Now, we need something to replace them. This might be a case for an RFC.
Matt Flaschen
On Fri, Jul 5, 2013 at 3:07 PM, Matthew Flaschen mflaschen@wikimedia.orgwrote:
Yes, IE is particularly an issue for this, since it often requires a fair amount of specific work. However, our browser compatibility requirements in general are somewhat in limbo. James Forrester marked the guidelines at https://www.mediawiki.org/wiki/Compatibility#Browser historical, rightly pointing out they were somewhat unrealistic (they didn't reflect what people could afford the time to actually do).
Now, we need something to replace them. This might be a case for an RFC.
I'm reluctant to put a blanket policy on something like browser compatibility.
Browser compatibility really comes down to several separate things: * HTML/CSS/JavaScript feature support -- does the browser actually supply the things we need? * Bugginess -- do the browser features we make use of work as expected? * Feasibility of workaround -- can a little code fix it, or is there a fundamental limitation we're stuck with? (Crashing browsers are hard to work around except by disabling a feature, for instance...) * Cost/benefit of degrading/disabling the feature -- is the feature actually needed, or can folks ignore it or work around it?
These are going to balance out differently depending on the wiki feature, on the browser features it depends on, on what the feature does/is used for, and the relative ease of user workarounds like updating or using another browser.
In the specific case of VisualEditor, that project should have its own compatibility policy, which I would expect to be more stringent than the general read-the-text-on-the-wiki compatibility requirements (which accommodates all kinds of weird stuff like "no CSS support" and "JavaScript is disabled").
If we must set a blanket policy for MediaWiki, I think it should be pretty general, something like: * *current* release of all major browsers with 'evergreen' releases (Chrome, Firefox, Safari) * a chosen *subset* of major versions of IE * a clear expectation that some advanced features won't work with some versions of some browsers, and a sane policy for acceptable fallbacks?
Fallback examples: * VisualEditor -> editable source with preview button * drag-n-drop photo upload -> upload photo by clicking on a button * video -> still photo(s) * 3d rotating molecule viewer -> still photo of molecule * GPS -> geo-IP lookup * round corners -> square corners
-- brion
On 07/05/2013 06:44 PM, Brion Vibber wrote:
These are going to balance out differently depending on the wiki feature, on the browser features it depends on, on what the feature does/is used for, and the relative ease of user workarounds like updating or using another browser.
Agreed. I think we should set a go-to baseline, while allowing considered deviations (e.g. VisualEditor temporarily supporting no Internet Explorer version but having it as a part of their roadmap).
It's also important to set what browsers we absolutely won't crash or throw JS errors for (even if full functionality isn't there) (this should be automatically testable in most cases).
If we must set a blanket policy for MediaWiki, I think it should be pretty general, something like:
- *current* release of all major browsers with 'evergreen' releases
(Chrome, Firefox, Safari)
- a chosen *subset* of major versions of IE
- a clear expectation that some advanced features won't work with some
versions of some browsers, and a sane policy for acceptable fallbacks?
Agreed, that's kind of reflected in the current (deprecated) Class A/Class B, though it could be more clear, and people are not happy with the current actual versions (e.g. IE6+ being class B).
Another example:
search auto-complete -> search
Auto-complete is a feature people expect for "modern" browsers, but it's okay to just provide search for the others.
Of course, we should use feature detection to avoid throwing errors, and support extra browsers when possible.
Matt Flaschen
On 7/6/13 12:44 AM, Brion Vibber wrote:
If we must set a blanket policy for MediaWiki, I think it should be pretty general, something like:
- *current* release of all major browsers with 'evergreen' releases
(Chrome, Firefox, Safari)
- a chosen *subset* of major versions of IE
- a clear expectation that some advanced features won't work with some
versions of some browsers, and a sane policy for acceptable fallbacks?
Safari is a bit complex, because Apple forks stable branches for different versions of OS X, so it's not quite an evergreen browser. *But* these stable branches sometimes have significant back-end rendering functionality quietly backported into their point releases. That can make assuming the latest version of the rendering engine is everywhere close to correct, but not always. The currently maintained branches are 5.1.x (OS X 10.6) and 6.x (OS X 10.7, 10.8). The 5.0.x branch (OS X 10.5) is definitely on an older rendering engine, since it hasn't had a point release since 2011; its market share is declining but still has around 10% of Safari users.
-Mark
wikitech-l@lists.wikimedia.org