Skip to content
By using Twitter’s services you agree to our Cookies Use. We and our partners operate globally and use cookies, including for analytics, personalisation, and ads.
  • Home Home Home, current page.
  • About

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @
  • Language: English
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English UK
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Have an account? Log in
    Have an account?
    · Forgot password?

    New to Twitter?
    Sign up
slightlylate's profile
Alex Russell
Alex Russell
Alex Russell
@slightlylate

Tweets

Alex Russell

@slightlylate

Chrome Project 🐡 & Web Standards TL; Blink API OWNER Named PWAs w/ @phae; probably making her ☕ DMs open. Tweets my own; press@google.com for official comms.

San Francisco, The Internet
infrequently.org
Joined December 2010

Tweets

  • © 2020 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • Imprint
  • Cookies
  • Ads info
Dismiss
Previous
Next

Go to a person's profile

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @

Promote this Tweet

Block

  • Tweet with a location

    You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more

    Your lists

    Create a new list


    Under 100 characters, optional

    Privacy

    Copy link to Tweet

    Embed this Tweet

    Embed this Video

    Add this Tweet to your website by copying the code below. Learn more

    Add this video to your website by copying the code below. Learn more

    Hmm, there was a problem reaching the server.

    By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.

    Preview

    Why you're seeing this ad

    Log in to Twitter

    · Forgot password?
    Don't have an account? Sign up »

    Sign up for Twitter

    Not on Twitter? Sign up, tune into the things you care about, and get updates as they happen.

    Sign up
    Have an account? Log in »

    Two-way (sending and receiving) short codes:

    Country Code For customers of
    United States 40404 (any)
    Canada 21212 (any)
    United Kingdom 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Ireland 51210 Vodafone, O2
    India 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italy 4880804 Wind
    3424486444 Vodafone
    » See SMS short codes for other countries

    Confirmation

     

    Welcome home!

    This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.

    Tweets not working for you?

    Hover over the profile pic and click the Following button to unfollow any account.

    Say a lot with a little

    When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.

    Spread the word

    The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.

    Join the conversation

    Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.

    Learn the latest

    Get instant insight into what people are talking about now.

    Get more of what you love

    Follow more accounts to get instant updates about topics you care about.

    Find what's happening

    See the latest conversations about any topic instantly.

    Never miss a Moment

    Catch up instantly on the best stories happening as they unfold.

    1. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      Because networks aren't perfectly fast, outbound requests go into a queue. The way Chrome prioritizes those requests is based on a bunch of heuristics. Did it come from a blocking script? High priority! XHR? Low priority. Etc., etc.

      1 reply 0 retweets 0 likes
      Show this thread
    2. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      Remember: HTML doesn't actually define a priority system, so this is all an exercise to the implementer and browsers do simulated annealing to come to roughly-good heuristics (historically, based on bogus benchmarks, but we're doing better now; thanks for asking).

      1 reply 0 retweets 1 like
      Show this thread
    3. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      So browsers are trying to keep the pipe full. Wasted time in the critical path is wasted time. There's no other word for it. Being slightly wrong about priority is much worse than not issuing a network request with the channel would otherwise be empty.

      1 reply 0 retweets 0 likes
      Show this thread
    4. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      Let that really sink in: the browser-side idea of priority is a decision made with incomplete information, under the gun, and once the request is sent, it's pretty much over-and-done with.

      1 reply 1 retweet 1 like
      Show this thread
    5. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      Contrast that with the baroque-AF priority system that the H/2 WG cooked up at the last minute: https://http2.github.io/http2-spec/#pri-depend … Earlier drafts used integer priorities (in a small range, IIRC). The final version, in contrast, assumes the client knows a LOT about outbound requests.

      2 replies 0 retweets 0 likes
      Show this thread
    6. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      So you've got a server with lots of time (until it gets a flood of requests to handle), assuming a client that has full knowledge of the dependency graph...which as we've just discussed, is basically never the case.

      1 reply 0 retweets 3 likes
      Show this thread
    7. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      Getting more information to construct a more accurate dependency graph would require more processing (and waiting) on the client side before issuing requests...which is dead air...which is bad. So client's don't actually wait. They take their initial guess about priority and run.

      1 reply 0 retweets 1 like
      Show this thread
    8. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      "But", I hear you saying, "the client can adjust priorities!": https://http2.github.io/http2-spec/#reprioritize … LAWLZ.

      1 reply 0 retweets 0 likes
      Show this thread
    9. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      In practice, inbound requests dish off to some other thread. That work is likely I/O bound. That I/O, once started, isn't worth pausing or changing. You're better off getting the bytes into memory to be flushed ASAP with as little second guessing as possible.

      1 reply 0 retweets 1 like
      Show this thread
    10. Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      High-performance H/2 servers will pretty much always drop subsequent PRIORITY frames on the floor and high-performance clients won't wait to generate them. H/2 priorities are a practical joke as far as I can tell. I presume @mnot is getting the last laugh.

      4 replies 0 retweets 1 like
      Show this thread
      Alex Russell‏ @slightlylate 9 Aug 2018
      • Report Tweet
      • Report NetzDG Violation

      So what's happening in @EWErikWitt's post is a cruel combination: 1.) HTML has serially failed to define a meaningful priority scheme (yes, I'm grumpy about it) 2.) H/2 priorities aren't passed because it's "magic" info as a result 3.) fetch() is in the XHR slow bucket 😥

      11:51 PM - 9 Aug 2018
      • 1 Retweet
      • 6 Likes
      • rektide de la fay Bill Stewart Tim van der Lippe Ville Lahdenvuo Effy Elden Yann Brelière   ⁧🤡
      2 replies 1 retweet 6 likes
        1. New conversation
        2. Alex Russell‏ @slightlylate 9 Aug 2018
          • Report Tweet
          • Report NetzDG Violation

          's post should be titled "Service Workers show how broken HTML and H/2 priorities are". We can do some magic in the limited case he outlines where the source `Request` hasn't been touched, but honestly, we shouldn't.

          1 reply 0 retweets 0 likes
          Show this thread
        3. Alex Russell‏ @slightlylate 9 Aug 2018
          • Report Tweet
          • Report NetzDG Violation

          Instead, we should be exposing a real, integer-range-based, priority system. No, browsers won't magically agree on these weights. Yes, network stack will sometimes need to reorder anyway, but how is that worse than the status quo?

          2 replies 0 retweets 1 like
          Show this thread
        4. Alex Russell‏ @slightlylate 9 Aug 2018
          • Report Tweet
          • Report NetzDG Violation

          The infuriating part of this is the condescension from the H/2 and network stack community. The fear that web developers will "just make everything high priority; then what?" is both real, true, and useless.

          1 reply 0 retweets 3 likes
          Show this thread
        5. Alex Russell‏ @slightlylate 9 Aug 2018
          • Report Tweet
          • Report NetzDG Violation

          We'll always need to intervene as the user's agent, but so long as JS is part of the platform, developers could *already* do whatevs; it might just have been the long way 'round.

          2 replies 0 retweets 1 like
          Show this thread
        6. Alex Russell‏ @slightlylate 9 Aug 2018
          • Report Tweet
          • Report NetzDG Violation

          So it's worth flagging this effect, worth being upset, and perhaps even worth calling out all the folks who work on Chrome that haven't fixed it. But the problem isn't the implementation. It's harder and worse than that. It's a fundamental lack of respect for web developers.

          1 reply 0 retweets 2 likes
          Show this thread
        7. Alex Russell‏ @slightlylate 10 Aug 2018
          • Report Tweet
          • Report NetzDG Violation

          Taking control of the network shouldn't mean always getting down-ranked in priority. This sort of magic needs to be in developer hands: https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc?l=124 …

          0 replies 1 retweet 6 likes
          Show this thread
        8. End of conversation
        1. New conversation
        2. Erik Witt‏ @EWErikWitt 9 Aug 2018
          • Report Tweet
          • Report NetzDG Violation
          Replying to @slightlylate

          Hey @slightlylate, thanks for all the explanations, that helps a lot! You're right, the SW is not purely path through. But fetching the request from the Service Worker (e.g. to cache the response afterward) is one of the main use cases for Service Workers.

          1 reply 0 retweets 0 likes
        3. Erik Witt‏ @EWErikWitt 9 Aug 2018
          • Report Tweet
          • Report NetzDG Violation
          Replying to @EWErikWitt @slightlylate

          Priority-wise it needs to work as if the Service Worker wasn't there.

          1 reply 0 retweets 0 likes
        4. 1 more reply

      Loading seems to be taking a while.

      Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

        Promoted Tweet

        false

        • © 2020 Twitter
        • About
        • Help Center
        • Terms
        • Privacy policy
        • Imprint
        • Cookies
        • Ads info