--
You received this message because you are subscribed to the Google Groups "intervention-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to intervention-d...@chromium.org.
To post to this group, send email to interven...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/intervention-dev/df88e440-d641-40a5-81e1-cc61c1f17346%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/intervention-dev/CAJcfO450yAs8anXJY7%2B0stF0ZBj3B3HUSydXzj0utz8Gy8J6jQ%40mail.gmail.com.
On Thu, Oct 8, 2015, 6:31 AM Ilya Grigorik <igri...@google.com> wrote:
Practically speaking though.. We still have some plumbing to do to get the intervention delivery stuff in place, so this all may be moot -- as in, we'll have font-display before said intervention?
ig
On Wed, Oct 7, 2015 at 9:44 AM, 'Dru Knox' via intervention-dev <interven...@chromium.org> wrote:
Eventually, we offer these font-display options as the escape hatch: if you don't want your fonts to be intervened, you can make sure they're well compressed, preloaded, and then set them to block. The goal, as it should be for most interventions, is that our intervening slowly fades into the light as the ecosystem improves.
Thoughts?
Perhaps, a simpler(?) alternative idea would be to use these signals to determine if it would be righteous to intervene:
You are not even trying => intervene (3s timeout from page load start).
You are doing your best, keep the existing 3s timeout.*
On Tue, Oct 6, 2015 at 11:59 PM Kenji Baheux <kenji...@chromium.org> wrote:
Forking to discuss an intervention idea that came out of "bail out early from web fonts if we know that we'll hit the 3s timeout" (recommend reading for context).
tl;dr: I tried to walk through what the proposal would mean. My conclusion: this seems overly complex to grasp for a developer and IUC, this is targeting the future (font-display: block) = unknown. Shall we just wait to learn how it will be used and the performance implications before considering any intervention?
===============
Kinuko:
"- If font-display: block is specified I'd expect UA waits at least for some secs before showing fallback font. For this one I like the idea of waiting for 3 secs but not from when the font load is started but from when the page load is started (so that if user already waited for long s/he doesn't need to wait further), way: fall back sooner on slow network but not on fast network."
Bryan:
"+1 to not waiting more than 3s from page load rather than 3s from font load.
Ojan:
"If we did this, maybe we don't need to do anything special for 2g/3g?"
===============
I think that the rationale behind this intervention is that with some efforts, one can achieve the same rate of "text displayed with a web font" while minimizing the impact on page load by virtue of offsetting the timeout. Let's walk this through.
My interpretation
"when the page load is started"
A reasonable interpretation is probably: "as soon as the document owner has the opportunity to do something":
on first bytes received (because one could use HTTP link rel=preload)on first bytes from body received (because one could use <link rel=preload> in head)
"3s timeout"
I imagine that in practice this would mean "3s OR ready to paint associated text, whichever comes last.
Afterall, there is no point in timing out if we are not ready to paint the associated text.
"if font-display: block is specified"
This pegs the UA into a mode that potentially limits its ability to optimize the user experience.
If one cares so much about a given font to the point where it can negatively impact the user experience, it seems fair to hold that person to higher standards when it comes to mitigate the downsides.
"Higher standards"
use of Link rel=preload (HTTP or element) to kick the font request asap.
reasonably small size => implies WOFF2 and subsettingPerhaps, a simpler(?) alternative idea would be to use these signals to determine if it would be righteous to intervene:
You are not even trying => intervene (3s timeout from page load start).You are doing your best, keep the existing 3s timeout.
Is this reasonable?
HTTP link rel=preload headers implies the ability to configure the server which might be tricky at times.<link rel=preload> elements seems relatively reasonable.expecting WOFF2 also seems reasonable (e.g. tooling is available, major font services all support it).this assumes that 3s of network when the page load is starting is roughly equivalent to 3s of network after all render blocking assets have been dealt with (the point at which the UA decides which web fonts it will need). I'm not sure this is a fair assumption.cons: losing the opportunity of doing dynamic subsetting (e.g. dynamic selection via unicode-range or dynamic subset generation via JS)
Edge cases
What about font-display: block fonts that are added/discovered later? Seems obviously wrong to base their timeouts around page load start.Exception to the rule?Fonts in cross origin iframes: should have their own state.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/intervention-dev/CADWWn7VwiaTK_rU-RbJ4BYCzZ31PSCiayc%2BYxb-m58oA2YUYOA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/intervention-dev/CAFWCB1kPKWM2sbR90sZkyTEPRKGj3_6ET7Td-0CKXZNxLaEFyQ%40mail.gmail.com.