Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-evaluate browser support on bedrock. #7389

Closed
5 of 6 tasks
alexgibson opened this issue Jul 8, 2019 · 5 comments · Fixed by #7554
Closed
5 of 6 tasks

Re-evaluate browser support on bedrock. #7389

alexgibson opened this issue Jul 8, 2019 · 5 comments · Fixed by #7554
Assignees
Labels
P3 Third level priority - Nice to have Papercuts 💸 Tech debt payoff

Comments

@alexgibson
Copy link
Member

alexgibson commented Jul 8, 2019

Description

The front-end team spend a considerable amount of time supporting older browsers, such as IE9 & IE10. We should evaluate how much traffic we still get from these old browsers, and whether or not the time invested coding for them is still a worthwhile investment.

Can we consider dropping first-class support for IE9 or IE10, and instead giving them the universal stylesheet we serve to IE8? Doing so may have the following advantages:

  • It enables us to ship code faster.
  • It enables us to use more advanced browser features.
  • It reduces the number of polyfills we need to bundle.

Bedrock's browser support matrix isn't formally documented anywhere (yet), but here's the current snapshot:

  • We deliver 1st class CSS & JS to:
    • All evergreen browsers (Firefox, Chrome, Safari, Edge, Opera etc).
    • IE 9, 10 & 11.
  • We deliver degraded * support to:
    • IE 8 and below.
  • Degraded support consists of no page-specific CSS or JS. Instead, we deliver basic semantic HTML, a universal CSS stylesheet that gets applied to all pages, and a universal JS bundle that only handles downloading Firefox (click a button, get a file), and Google Analytics. The only pages where we make an exception is for /firefox/new/ and /firefox/download/thanks/, which still deliver 1st class CSS to all browsers (but not 1st class JS).

💛 Success Criteria 💛

  • A recommendation is made on which (if any) browsers we can drop 1st class support for.
  • The decision is documented.

❗ Risks ❗

  • Dropping 1st class support for a browser can potentially impact download conversions.

Tasks

  • Evaluate IE9 and IE10 traffic. How do they compare to IE8, or IE11 levels of traffic?
  • Make a recommendation for which browsers we still need to deliver 1st class support for.
  • Add a "Browser support" section to the bedrock docs to document the decision.
@alexgibson
Copy link
Member Author

See also: #7390

@alexgibson alexgibson added the Papercuts 💸 Tech debt payoff label Jul 8, 2019
@alexgibson alexgibson modified the milestones: Technical Roadmap Q3 2019, Technical Roadmap Q4 2019 Jul 8, 2019
@ejregithub ejregithub added this to the S2/Q3: 20190722-20190809 milestone Jul 17, 2019
@hoosteeno hoosteeno added the P3 Third level priority - Nice to have label Jul 30, 2019
@hoosteeno
Copy link
Contributor

Excluding /new and /thanks, the /firefox page handles nearly 50% of all IE9/10 visits, and those visitors tend to be high quality (i.e. they don't bounce, the download at good rates). I suspect this is because the /firefox page probably outranks the /new page in some locales.

Soon, /firefox will be the brand home for all Firefox products. Broad distribution of a compelling experience there will continue to be valuable and may support non-download business goals.

The volume of traffic on IE9/10 continues to drop, but it's not insignificant now (appx. 2% of non-Fx sessions/conversions). Outside /new and /thanks, those visitors primarily hit /firefox and the home page.

Considering all that, I think we should remove these browsers from the list, but I'd like to explore a few mitigations from a feasibility/effort perspective:

  1. Could we include /firefox in the list of pages we except from the degraded experience?
  2. Could we give users having a degraded experience a quick explanation (with a download CTA)?
  3. Can we revisit the universal stylesheet to address specific issues that show up on e.g. /firefox/, to see if we can do anything to improve the degraded experience further?

@alexgibson, how would you rank those in terms of preference and ease?

@hoosteeno
Copy link
Contributor

I'd like the conversation about mitigations to continue. That said, I think we should continue offering first-class support to all evergreen browsers (Firefox, Chrome, Safari, Edge, Opera etc) and IE 11 and can offer degraded experiences to IE<11.

hoosteeno added a commit that referenced this issue Aug 9, 2019
@hoosteeno
Copy link
Contributor

This issue is ready to close, but I'm leaving open to continue discussion above.

@hoosteeno hoosteeno added the Needs Review Awaiting code review label Aug 9, 2019
@alexgibson
Copy link
Member Author

alexgibson commented Aug 12, 2019

@hoosteeno this is wonderful, thanks.

In terms of needing to support /firefox - considering the importance of that page now and in the future, I think we can justify considering it a special page like we do for /new and /thanks. Adding it to that list seems like a small consession, if it means we can drop the level of support for the rest of the site.

If you agree, then I think we can close this issue? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P3 Third level priority - Nice to have Papercuts 💸 Tech debt payoff
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants