Freecodecamp: Official browser support

Created on 22 Sep 2020  路  5Comments  路  Source: freeCodeCamp/freeCodeCamp

Right now we recommend Chrome and Firefox on /news/support, but we transpile for more than that: https://github.com/freeCodeCamp/freeCodeCamp/blob/dd7fba4558f5a0c4b2dc35ebd919c22921c0b0df/client/.babelrc#L12

Should we officially support, say, Chrome, Firefox, Edge, Safari and Opera? If we do, we can tailor our browserlist to that and also our Cypress tests.

Whatever we decide to support, I think we should make our tooling reflect that.

Most helpful comment

Thanks Twaha, that makes sense.

I've taken a look at our analytics and they're similar to the ones Nicholas posted, so ignoring Safari would be ignoring quite a lot of users. That said, it seems sensible not to claim we support it when it's likely to be buggy (for the reasons you outlined).

How about this: transpile for Chrome, Safari, Firefox, Edge and Opera i.e. the top 5 (in that order)? Then we can update the support page as and when we're confident a browser works well enough. At the very least we should wait until we Cypress test a particular browser.

I'll leave this open for a bit in case people want to weigh in.

cc @raisedadead

All 5 comments

Except Firefox almost all browsers are Chromium under the hood so supporting multiple browsers should be a big problem. The only browser I want to drop from the list is Safari.

That lefts us with -

  1. Chrome
  2. Firefox
  3. Edge (The new Chromium one)
  4. Opera
  5. Other Chromium Browsers

My rationale for including Safari was just that it's pretty popular. If we can support it, that would be good. Could you expand a bit on why you'd prefer to drop it?

It would appear that, according to WikiPedia, Safari is still fairly popular:
image

I'm not sure if we can view browser statistics for our /learn platform specifically, but I'd be concerned about dropping support for an OS default browser.

My main complain/concerns with Safari was -

  1. Many weird CSS issues (especially since we are going to be using CSS Flexbox and Grid moving forward)
  2. Can't test e2e due to Cypress not supporting it (it's in the road map though :thinking: )

For the above mentioned reasons, I think supporting Safari would be a painful experience since we'll have to not only find weird fixes for weird Safari bugs but also we can't test them with Cypress meaning either manually testing it or shipping broken feature to prod.

(Sorry for the very late reply. This somehow slipped under my radar.)

Thanks Twaha, that makes sense.

I've taken a look at our analytics and they're similar to the ones Nicholas posted, so ignoring Safari would be ignoring quite a lot of users. That said, it seems sensible not to claim we support it when it's likely to be buggy (for the reasons you outlined).

How about this: transpile for Chrome, Safari, Firefox, Edge and Opera i.e. the top 5 (in that order)? Then we can update the support page as and when we're confident a browser works well enough. At the very least we should wait until we Cypress test a particular browser.

I'll leave this open for a bit in case people want to weigh in.

cc @raisedadead

Was this page helpful?
0 / 5 - 0 ratings