Sign in with Twitter

Username:

Addy Osmani @addyosmani Mountain View, CA

Engineering Manager working on @GoogleChrome • Husband & Dad • Make the web fast ⚡• Lighthouse, PageSpeed Insights, DevTools • Founder TeeJungle

1,741 Following   224,166 Followers   22,648 Tweets

Joined Twitter 4/26/09


@zenorocha @_developit It's in Chrome, Firefox and an implem is almost there in WebKit :) Was checking if clipboard… https://t.co/hIVLpC0ysI @tomayac @_developit Awesome! Wasn't sure when support for images might land :) @cjamcl https://t.co/Kx4wzwBmpqThe Async Clipboard API allows copying & pasting text from JavaScript: https://t.co/XxZhGfZXbR (by @_developit) ~ I… https://t.co/z3k1cOaLTIJavaScript execution is CPU bound. CPU performance of popular laptops can be far slower than popular developer mach… https://t.co/VV7RtTl6QX
2/24
2020
@simevidas @AndyDavies @tunetheweb @tkadlec @jaffathecake I think @katiehempenius might have been following up here with a proposal :) @cjamcl @Zizzamia Looks reasonable to me :) @Zizzamia @cjamcl I think this is mostly a labelling problem :) I use "low/high end" if just using device memory +… https://t.co/zt0uvcubSh @cjamcl @Zizzamia Hmm. Could you share the thresholds you're using for low/high end? :) Pixel 3 is similarly bucketed into low atm. @anniesullie @cpclermont @nttrung91 @igrigorik Amazing. Thank you! 🤞 @tkadlec Great write-up, Tim! I see you're using ModHeader to toggle policies on locally. Do you feel toggling FPs… https://t.co/W66HLmSZUb @cpclermont @nttrung91 @anniesullie @igrigorik Do you know if WebPerf WG are exploring more frame throughput metric… https://t.co/RhLggYXYETAnother useful tip for memory debugging (not mentioned in the article) is `queryObjects(SomeConstructor)`, which ca… https://t.co/u3EkdfQTRE
Retweeted by Addy Osmani @yoavweiss @NolanOBrien Nice, Yoav! Would you approach this as a global default (e.g for slow connections) or just… https://t.co/CRhrkBRwMYTwitter loads images 33% faster on hi-res screens by capping image pixel density to 2x: https://t.co/S1J2KJYUw1 ~ G… https://t.co/hGeGFWezFxJavaScript loading priorities in Chrome: https://t.co/O3Qg2eYROJ ~ how do <script>, <script defer>, <link rel=prelo… https://t.co/EF9yc50mmQFast = $: "On mobile, per session, users who experienced fast load times bring 17% more revenue than average"… https://t.co/VRz3z0ryvd
2/22
2020
@simey We're planning to circle back on importance with a new Origin Trial soon. First round, did not get sufficien… https://t.co/bMl8Kh0VRn @bradwestfall Stepping away from breakpoints are also a problem solving tool :PBreaks are a problem solving tool. Many ideas come when you step away from your desk & get a totally fresh perspective.The Art of UI Skeletons: https://t.co/kpbXEdQdHN tips on making apps "feel" fast from the Firefox Add-ons site team. https://t.co/xWqBEDhPMA
2/21
2020
@jaffathecake @benadam11 Thanks, Jake! Until then, I'm doing... Single-image / compressor tweaking: Squoosh Batch: @imageoptim @CliffordFajard0 When I'm on a poor network while travelling, it's so helpful for sharing any images at all. Love it.Tip: https://t.co/2PEftwW3P3 is great for optimizing images on desktop/mobile web. Compress & resize images...all c… https://t.co/feEGUPfTUv
2/20
2020
@mikesherov As do I. He's awesome :/Fixing memory leaks in web applications: https://t.co/gtn6DKu1cx ~ a guide to common causes of JavaScript memory le… https://t.co/VSNDOgplQR @eamodio @code Really great work on GitLens, Eric! @Azkar_moulana @code This is Dracula with JetBrains MonoThe @ChromeDevTools shows Largest Contentful Paint (LCP) https://t.co/w7Sasmbqzh - how quickly the *largest* visibl… https://t.co/ZpWyA6DKdnGitLens for @code is so good: https://t.co/xPk9fsAgd6 - useful for seeing code history & authorship inline. https://t.co/YCjrnNyZET
2/19
2020
@simevidas @zcorpan @blaadeeblaa @dhh @domfarolino @annevk Speaking for Chrome: lazy-loading is a best practice dev… https://t.co/7HeZBfPfig @christianoliff @webkit @domfarolino @rwlbuis Amazing. Thanks for the heads up and great work, @rwlbuis! @AndyDavies @css @YouTube I've had an open bug with the YouTube embeds team about them introducing this change. It'… https://t.co/KXABLfsYbx @pablolizardo Browser support for OC should be up to date at the bottom of https://t.co/1J4pA8Aw6u :)
2/18
2020
@manekinekko @googlefonts Np. Thanks to folks like @davelab6 for bringing these features to GF :) @ryanafrish7 I guess there are a few options: 1) Firefox 47 and Chrome 80 (+Edge) support OC. Serve them a modern… https://t.co/O7R8jlCbTm @codecoffeedoggo My read is Fusion includes a babel-preset-env config (if they started today imagine they'd use babel-preset-modules). @manekinekko @googlefonts https://t.co/v1LAgnWyNI @jaffathecake Oof, yes. Your example is also *so* much easier to read. Thanks for following that PR to update the explainer, Jake! @v1rtl I've suggested folks consider local hosting fonts in the past. As long as you're okay with the trade-offs (e… https://t.co/RLQiUTVLCQ @steveschoger w00t. Thanks Steve! Your Refactoring UI book is the gift that keeps on giving. @ertanercan @onderceylan Maybe :) The hard part is answering "Is this page using sufficiently little of this Web Fo… https://t.co/VhqLXCH9tG @darth_na @g33konaut (1) Cross-origin resource caching is less effective than folks might guess. There's a ~30% cac… https://t.co/WxQbPnYe9sUberEats saw a 15% decrease in JS bundle size by creating modern and legacy (more transforms & polyfills) bundles f… https://t.co/lFHYdec8SLTip: Shave up to 90% off the size of Google Fonts requests by declaring only characters you need with &text:… https://t.co/AKWiQ7OxUo"Your UI doesn't need to map one-to-one with your data's fields and values". Great thinking on simplicity from… https://t.co/oUPW7gXZ1v
2/17
2020
@StevenVanAcker @mikispag cc @gitexplorer for the feedback :) @TimoTijhof You can find mozilla's standards position thread over here https://t.co/rznYrTcBlh @Silicon_Soldier @KenjiBaheux raised a comment about Brotli support in a future version (https://t.co/zF92dql5ls).… https://t.co/9OXZtuLEJe @naugtur Oof, yes 🙈 I'm hopeful over time we can rely less on manually dealing with compression implementations on… https://t.co/O6AT9IDmXU @dmitrybubyakin @allyssonharry These are both correct :) @chilla42o @ChromeDevTools @FirefoxDevTools FF DevTools has a cubic bezier tool too :) https://t.co/ktciN2CiazTip: For animations, @ChromeDevTools can edit cubic beziers directly from the styles pane. https://t.co/Xzrcp2jKuuhttps://t.co/VYdYarTjOsNew: Compress data from JavaScript with the CompressionStream API! https://t.co/dXeg7r63OZ Available in Chrome 80.… https://t.co/R0ffZzena9Tip: https://t.co/dIbLv1wJhB helps you find the right git commands quickly. Super handy reference. https://t.co/gwCWNy7Ivb @cjamcl @patmeenan @TheRealNooshu @reach_to_parth :/ @igrigorik have there been any further discussions in the WebPerf WG on this topic?
2/16
2020
@TheRealNooshu @reach_to_parth Discussion on updating ECT thresholds/values in https://t.co/rswANVoKvO in case folks are interested @mkalina @JohnMu 100% yes. In practice however, many of today's popular stacks produce pretty different output betw… https://t.co/iLM2QzqII2 @APKoponen @lord4163 There's a challenge with giving developers fast, high-end hardware: it widens the gap between… https://t.co/hhxbYmL853 @Lady_Ada_King @JakeDChampion +1. The G4 is still a pretty decent median device. If targeting NBU, the Alcatel 1X would also be good.If you want a fast site, test on slow hardware. regularly.
2/15
2020
If JavaScript libraries are proving costly, replace them with smaller alternatives. Lots of great options in… https://t.co/iZiZNMsF2k @pawan_gangs @FirefoxNightly It's the <img> tag that drives loading so specifying loading=lazy on it should be fine… https://t.co/MIcJtLNeKm
2/14
2020
@heycam @hiikezoe Thank you for working on the implementation, Hiroyuki! This is fantastic.Native image lazy-loading (<img loading=lazy>) working in @FirefoxNightly! An early look... 🦊 https://t.co/yX0nHr2VSp57% of JavaScript execution time on the web is third-party code 🤯 https://t.co/xNdfFXXr7G. Learn how to optimize lo… https://t.co/086NoqgxpS @tophersimmons @domfarolino @annevk @zcorpan :) I think there's opportunity to build on it further. Lots of good qu… https://t.co/ZTnfYrqgPG @Tom910ru @domfarolino @annevk @zcorpan As you've seen in source, our thresholds keep in mind the user's effective… https://t.co/GqQgCg9WUL
2/13
2020
@zenorocha Congrats, Zeno! Happy to hear 🧛‍♂️ Pro has been a success :) @RealWesFeller https://t.co/pyoO6s11wE :) @fchristant @domfarolino In Chromium, our implementation had to start with conservative thresholds (to reduce the c… https://t.co/5iurUytME1 @digitalbeard @pjf The developer has a choice here. Reduced motion can also be the default and "prefers-reduced-mot… https://t.co/9RCQPEXY17 @razvanonofrei Nice! I've come to feel the same (lower complexity to pull back animation when it's done from the get go). @cajotafer @domfarolino @annevk @zcorpan I would still include the fallback (for now), but this gives us a path to… https://t.co/hkBW8aCVKhThe specification for native image lazy-loading has been merged into the HTML standard! https://t.co/Dl2gtLqSrn 🎉… https://t.co/7ss5TcI05H @dmytroka That's one major merge conflict :')CSS prefers-reduced-motion is great for *limiting* animations if a user sets this preference in their OS:… https://t.co/MwGzWxLzxb"If you want to go fast, go alone. If you want to go far, go together." You can do so much with a great team.
2/12
2020
Learn how to make your JavaScript apps load fast and provide a good user experience. ➡️ https://t.co/EkwbdYqTWj https://t.co/VFvtYjMkuA
Retweeted by Addy Osmani @marvinhagemeist @ChromeDevTools @hdjirdeh Absolutely. Feel free to open an issue on https://t.co/A2ODHgcOky to discuss. @threepointone @ChromeDevTools @hdjirdeh Thanks for any feedback, Sunil!React, Angular, WordPress & others now get more actionable guidance in Lighthouse (@ChromeDevTools > Audits) Great… https://t.co/KD6GqSHVpM
2/11
2020
@Servrox Love it. I believe this is the first time I’ve seen subtle animation used in this context too :) @sergiooak @javascript_lady Yep. It's a long string to get each layer of the last Yolo right. Thought I'd save folks from my awful code :') @hashseed Ohh, snap. I know where I'll be presenting quarterly updates from now :)Tip: Styled console logs spice up debug messages. Try it: console.log("%c yolo!", "color: HotPink"); https://t.co/Khk3ENyLVW
2/10
2020
@chrisbanes @gauntface @csswizardry @SaraSoueidan @CodePen Wow. Those italic glyphs are pretty sweet. I'll be trying this out too! @gauntface @csswizardry @SaraSoueidan @CodePen TIL. This is pretty nice too! @saeedezt @____lighthouse https://t.co/zc496JD7cq :) @saeedezt @____lighthouse Would exposing DOM depth in Elements panel (e.g on each parent node) be closer to what you're after? @saeedezt In @____lighthouse (DevTools -> Audits) we have a DOM size audit. Tries to capture total DOM elements for… https://t.co/gmH37Pu29g @csswizardry @SaraSoueidan @CodePen I picked up a license to Operator Mono a while back (love it!) but know the pri… https://t.co/2LHOOejqsc @tomayac Glad to hear others are sticking with it! @DarkainMX Great point. I've been advocating for better adaptive delivery of costly animations and effects lately (… https://t.co/Yq8r4elPuyTrying JetBrains Mono: https://t.co/FrL2lLt6Vd ~ a free developer typeface with code-specific ligatures and increas… https://t.co/ASaGJU1CEoCSS backdrop-filter applies filters to only what is *behind* an element: https://t.co/iLvDG1UXfl ~ great for transl… https://t.co/IlCRtAjnE8
2/8
2020
@maxakohler @argyleink @Una @MaxKoehler Thanks for the great articles!CSS Scroll Snap: https://t.co/6qkWfv3Mea ~ lock the viewport to certain elements after the user finishes scrolling.… https://t.co/1Dt9t4zE7n
2/7
2020
@fatihturan @ECmsv @code Do you know the plan here for where sync'd settings actually get stored? is it GH? Elsewhere? :)Settings Sync: https://t.co/EYczMSL7nu ~ sync your VS @code settings to GitHub Gists to reuse settings, themes, sni… https://t.co/QKB7dpQHoQ
2/6
2020

0