I would like to propose a revisit of the browser support topic. As we adopt new technologies, it is becoming more challenging to support older browsers. I would like to hear your opinions if it is still necessary nowadays.
Why I am opening this? I have dropped PhantomJS in my open PR and as @ohadlevy pointed out, it would basically mean we are dropping support for older browsers, because no CI would test it and developers are usually on new browsers.
Please vote and if you may, share insight to support your vote. Thanks!
It would not, it always boils down to developers being aware for what platform they are developing. And I believe PhantomJS has to go anyway as its development is down for too long.
But given PhantomJS is implementing old standards and no modern quarks are supported, it is very likely to discover extensive usage of unsupported client code (usage of modern quarks). It is by no means cross-browser testing, it is just “old browser” testing.
It is the best we have now though, so removing that is just making us less confident about promised compatibility. It makes sense to revisit that promise as part of the process and if we want to still keep it, let’s find other means of assuring it.
Just for the record, Red Hat Satellite 6.4 supports the following:
1.4. Supported Browsers
The following web browsers are fully supported:
Firefox versions 39 and later
Chrome versions 28 and later
The following web browsers are partially supported. The Satellite web UI interface functions correctly but certain design elements may not align as expected:
Using the most recent version of a major browser is highly recommended, as Foreman and the frameworks it uses offer limited support for older versions.
The recommended requirements are as follows for major browsers:
For me a support for Firefox before Quantum (version 57) should still be functional, because this version has broken the Addon-API and perhaps I am not the only one switching over to forks like Basilisk.
From customers perspective: There are still some having Internet Explorer as default browser per company policy. Some would be happy to have an excuse for using a different browser, but some are not allowed to do so. I think it is a very small number, but if not really required I would not want to loose support for it.
I believe the aim is to say something like “no more than year old version”. Or just back us up with some outer tooling on the topic - like I am suggesting http://outdatedbrowser.com/en could be good lead for that.
I understand though, that we need to hear the minority here as even 2% of users with IE10 deserves to be heard and shall be thought about.
I believe we should define our support more dynamically as the situation is changing rapidly as saying >= 57 or IE >=10 is pretty easily outdated.
Today we had a discussion on the topic and pretty reasonable solution araised: Get a banner“Your browser is about to be obsolated and its support discontinued.” in a 1.22 and lets direct those users to some form where we will collect the voices for keeping support with version of desired browser and keep it there hanging for one or two versions.
Disclaimer: this was not my idea, but I do not recall who’s idea it was
For that banner we do need to set a target. Given that 1.22 is already RC1 and we have yet to open the discussion this is a somewhat ambitious goal IMHO.
Another thing to consider is that a lot of Red Hat customers might have different requirements. These are not directly part of upstream discussions but rather represented by RH developers.
To answer my own question: it’s the Firefox ESR version which is currently Firefox 60.
Please come and comment on how to setup the obsolete versions (what to support) of browsers here or in the PR.
In the banner I’m referencing the https://forms.gle/VL8H5Cby2LWZMhn69 google form. Please help me get it better as well and if you got an idea, what account use for it (it is in my account now - not good), would be great as well.
Just to add some data, I had a look at the website analytics. Caveat emptor - website users are not the same as the users of Foreman itself. That said, I think they should be broadly comparable.
Here’s the breakdown for the traffic in the last 30 days:
Total: 14,500
Share
%
Chrome
9,065
62.62%
Firefox
3,081
21.28%
Safari
1,162
8.03%
Internet Explorer
480
3.32%
Edge
228
1.57%
Opera
160
1.11%
'Mozilla
72
0.50%
Samsung Internet
65
0.45%
Safari (in-app)
58
0.40%
Android Webview
40
0.28%
I have no conclusions to draw, I just thought it might help inform the debate
just to add another voice in this direction:
While I absolutely agree that supporting old/outdated/highly unpopular browsers might be a high effort for the effect, most people using those with an application like Foreman are the ones that are bound by corporate policies/restrictions. There are still some companies out there where using IE/Edge in the version provided by the respective Windows is required by corporate policies. Also, a lot of companies take quite some time to rollout updates of any kind, including browsers. In companies with the policy is to use Firefox you usually have to work with ESR releases like @Dirk already mentioned, and you are not guaranteed that the Firefox you get is the latest ESR because that might not have been approved yet by testing/security/whoever.
I have no particular experience with companies using Apple or Chrome.
Based on my experience, I would recommend that at least the last to ESR releases of Firefox and IE/Edge versions of all non-eol windows versions should be considered “support-worthy”. I would guess that a similar policy might be the right path for Chrome and Safari, but due to my lack of experience with those (especially in coporate environments) I might be mistaken.
What I can definetly tell is that a cut to harsh (i.e. to recent) can be a hard K.O. for some bigger businesses. In such an environment, you often have no choice over the browser you use.
We try to, at least in dev/testing, but we also do our best to stay up to date in production (though, we failed at this for some time now and are currently working catching up).
To be honest, I was also not aware of the detailed support policy for Firefox ESR releases, I just looked that up and had to realize that the overlapping period between a new ESR and the EOL of the old one was shorter than I thought.
My whole point was in fact that the decision to drop support for certain versions or even browsers should not be done lightheartedly. Especially dropping support for whole browser families (like e.g. some options in the poll mentioned) is something that might cause a lot of trubble for some companies.
I completely understand that supporting unsupported browser versions is a task not worth upholding for an extended period of time, but at least all currently supported versions of major browsers (including the ones bundled with major OSes) should be the target to shoot for in my opinion.
After some time, I believe there is no clear consensus, but I would say I feel something like:
Let’s support FF/Chrome only, but ensure it is not completely broken for older browsers.
I wouldn’t like to keep deprecated unsupported project (PhantomJS) around just for that reason.
I have found pretty complete list of VirtualBox VMs with IE browsers[1], but I got no idea how to leverage them to ensure everything is working, we could agree it being a reviewer’s responsibility to ask, if suspects the browser support impact and developer’s to test, but it is far from ideal.
Any ideas how to ensure we work on IE/Edge without PhantomJS?
If I look at the poll, I see it’s 50:50 for chrome+ff vs evergreen browsers (regardless of IE). I’d say the safest option is to keep the list, just bump versions. The informing banner could go further and suggest IE and Edge is deprecated, if we hear a lot of concerns, we can keep the support.
But looking at our coverage with integration tests, we can’t rely on results for IE even for just Foreman core. Maybe we can tell that menu, taxonomies selector and few pages work. If we start using chrome, it’s not a big difference and we’ll need to continue relying on users reporting issues in other browsers.
So I’d prefer if we get rid of PhantomJS regardless.