noopkat / electric-io

⚡️🌋🌔 The cutest IoT dashboard of your dreams ☁️
MIT License
284 stars 37 forks source link

Define browser support #121

Closed kleinfreund closed 5 years ago

kleinfreund commented 5 years ago

We should define which browsers we want to support with electric-io. This can stay rather broad; for example, we could list the 4–5 most common browsers and state which of their versions we support. I don’t think we have any kind of analytics data for electric-io so we don’t know for sure which are the most common browsers for electric-io in particular.

Why do we want this?

It allows contributors to use modern language features with confidence [I just looked up how “confidence” is spelled. Nobody’s perfect]. For example, if someone were to contribute some CSS changes, would it be okay for them to use custom properties?

underscoredotspace commented 5 years ago

There is already a browserslist inside .babelrc. However, we're pretty much ignoring it since it suggests we support Opera Mini, which (I'm not even going to look at caniuse) we certainly do not support.

IE11 is not working due to the bundle being built with arrow functions. This is the first error that occurs, my guess is that even if we were to build without es6 features there will be other issues.

As Electric IO is such a niche app, it is my opinion that we should use the last 2 years query in browserslist which currently returns:

and_chr 73
and_ff 66
chrome 73
chrome 72
chrome 71
chrome 70
chrome 69
chrome 68
chrome 67
chrome 66
chrome 65
chrome 64
chrome 63
chrome 62
chrome 61
chrome 60
edge 18
edge 17
edge 16
firefox 66
firefox 65
firefox 64
firefox 63
firefox 62
firefox 61
firefox 60
firefox 59
firefox 58
firefox 57
firefox 56
firefox 55
firefox 54
ios_saf 12.2
ios_saf 12.0-12.1
ios_saf 11.3-11.4
ios_saf 11.0-11.2
kaios 2.5
opera 58
opera 57
opera 56
opera 55
opera 54
opera 53
opera 52
opera 51
opera 50
opera 49
opera 48
opera 47
opera 46
safari 12.1
safari 12
safari 11.1
safari 11
samsung 9.2
samsung 8.2
samsung 7.2-7.4
samsung 6.2-6.4
kleinfreund commented 5 years ago

I would prefer an even younger list of browsers; however, the deciding factor is ultimately going to be actual users of electric-io. Let’s see what the next Sunday brings. :)

rhianvanesch commented 5 years ago

The last 2 years query seems reasonable to me, if @noopkat agrees!

If we decide not to support IE11 (still 2% usage globally) then I think it would be good to make sure we have a note in the project README about supported browsers, and also a message in the app to let users of older browsers know they won't be getting the full experience (or possibly any experience, if we stop transpiling/polyfilling for those browsers).

noopkat commented 5 years ago

I agree with all of this. Let's go with last 2 years for now. Here is a checklist of things we need to do to close out this issue:

underscoredotspace commented 5 years ago

PR #123 solves this issue 🎉