Thomas Steiner (@tomayac)

Now at @tomayac@toot.cafe

The below is an off-site archive of all tweets posted by @tomayac ever

March 2021

@simonduerr You’re welcome ☺️. Always good to see when someone can make good use of something one has created.

via Twitter Web App in reply to simonduerr

@simonduerr It’s Inkscape negotiating the available formats and choosing the most suitable one (by its own heuristics). Try pasting with cmd/ctrl+shift+v to see if this makes a difference.

via Twitter Web App in reply to simonduerr

mgechev Tooling tip: handy console utility in Chrome DevTools is monitor

When you call the function passed to monitor, DevTools logs a message to the console that indicates the function name along with the arguments pic.twitter.com/W8EXJR2Wob

via Twitter Web App (retweeted on 9:14 AM, Mar 31st, 2021 via Echofon)

Log3overLog2 Thoughtful and well-written piece on FLoC and the rest of the state of the march towards the end of third-party cookies. twitter.com/backlon/status…

via Twitter Web App (retweeted on 9:10 AM, Mar 31st, 2021 via Echofon)

JoshWComeau 🎉 Just published a new blog post: “Building a Magical 3D Button”

We’ll see how to create this whimsical button using vanilla HTML and CSS! Lots of modern tricks, but no libraries and no JS 😄

joshwcomeau.com/animation/3d-b… pic.twitter.com/jrSh2oiOAl

via Twitter Web App (retweeted on 8:56 AM, Mar 31st, 2021 via Echofon)

A proposal to let developers disable the WebView swipe back behavior ⤵️. Watch the short screencast in the Issue to see what the problem is. twitter.com/mhartington/st…

via Echofon

LeaVerou [New blog post!] Dark mode in 5 minutes, with inverted lightness variables
lea.verou.me/2021/03/invert… pic.twitter.com/2g0VTwhxb5

via Twitter Web App (retweeted on 8:24 AM, Mar 31st, 2021 via Echofon)

cramforce We published an FAQ on Google’s page experience ranking answering questions like:
Where does the Core Web Vitals data come from?
How is a score calculated for a URL that was recently published & hasn’t yet generated 28 days of data?
…and many morsupport.google.com/webmasters/thr…sH

via Twitter Web App (retweeted on 8:15 AM, Mar 31st, 2021 via Echofon)

shadeed9 Developing For Imperfect: Future Proofing CSS Styles by @5t3ph

Building a component from a mockup is not enough. We need to dig deep into cases where a text can be long, or an image is larger than expected.

This article is a great. Make sure to read it!

moderncss.dev/developing-for…

via Twitter Web App (retweeted on 7:59 AM, Mar 31st, 2021 via Echofon)

ChromiumDev Chrome OS users will finally be able to use App Shortcuts for their installed PWAs.

All you need is an extra `shortcuts` array member in your PWA manifest. Android & Windows already support it.

Check out web.dev/app-shortcuts/ for more details. pic.twitter.com/iWJWnyoehL

via TweetDeck (retweeted on 4:10 PM, Mar 30th, 2021 via Twitter Web App)

@mischmerz @petele The below looks workable to me:

“`js
const handle = await showSaveFilePicker({/*…*/});
// Assume the function below takes long:
const blob = await prepareDownload(someData);
const writable = await handle.createWritable();
await writ

via Twitter Web App in reply to mischmerz

@quicksave2k @kennethrohde @roderickhsiao @ChromiumDev Yeah, any argumentative help is welcome. I’m bummed that we had to revert it.

via Twitter Web App in reply to quicksave2k

@quicksave2k @roderickhsiao @ChromiumDev Everything works, it just depends on your definition of “cleanest” 😃. Looking at your site, a query parameter may be the “simplest” solution given the existing architecture. pic.twitter.com/PEAeZq6Rwc

via Twitter for iPhone in reply to quicksave2k

@mischmerz @petele The user gesture has an undocumented grace period after which it’s no longer good. If the file prep work takes longer, the recommended flow is to get the file handle first, and only once you have it start the file prep work. You’ll see …-save-consumed-user-gesture.glitch.me

via Twitter Web App in reply to mischmerz

@edent Good to know that I’m not the only person on the planet wondering about such things.

via Echofon in reply to edent

@roderickhsiao @ChromiumDev The cleanest solution right now is to use the `accept-language` header for the manifest request. developer.mozilla.org/en-US/docs/Web…

via Echofon in reply to roderickhsiao

codepo8 👉🏼 “How the Web Audio API is used for browser fingerprinting”

🔗 fingerprintjs.com/blog/audio-fin…

WHY CAN’T WE JUST HAVE NICE THINGS!

via Twitter Web App (retweeted on 8:10 AM, Mar 30th, 2021 via Echofon)

Good collection of SVG tools: smashingmagazine.com/2021/03/svg-ge…. Filter tools, background generators, and many more! 📐

via Twitter Web App

ChromiumDev Starting today on Android, some users will get a richer PWA installation dialog on Twitter.

- Want the same for your PWA?
- Easy. Add the `description` and `screenshots` member to your manifest and you’re done.

Read web.dev/add-manifest/#… more for details pic.twitter.com/h8Sczroz4L

via TweetDeck (retweeted on 12:27 PM, Mar 29th, 2021 via Twitter Web App)

@mischmerz @petele Do you have a minimal reproducible case that you could attach to a new.crbug.com for us to investigate? I haven’t heard of issues with consumed user gestures in the saving case myself.

via Twitter Web App in reply to mischmerz

@ScalaWilliam Thank you for the kind words! 😊 This series was motivated by an analysis of different threats to what we at Google call the “Open Web”—mini apps were identified as one such threat. We wanted to understand why they are a success with

via Twitter Web App in reply to ScalaWilliam

Una 🚨 An experimental flag for container queries (@container) just hit Chrome Canary!

Yes, seriously!

Go to: chrome://flags in your URL bar and turn on enable-container-queries to try it out.

Here’s a demo to help you see how they work (w/flag in Canary): codepen.io/una/pen/LYbvKpK pic.twitter.com/uCJcF4Ak3I

via Twitter Web App (retweeted on 1:29 PM, Mar 26th, 2021 via Echofon)

@NetSapiensChris @ChromiumDev Not that I’m aware of. Unfortunately there’s no HID logo, so we went with the most common use case, which is gamepads. Suboptimal in your use case, I agree.

via Twitter Web App in reply to NetSapiensChris

If you want to actually play with the proprietary Nintendo Switch media queries ⤵️, I’m more than happy to merge PRs for Chrome Dino: blog.tomayac.com/2020/11/04/pla…. 🦖 twitter.com/simevidas/stat…

via Echofon

If you’re doing website performance audits, this post ⤵️ by @AndyDavies on how to bypass cookie consents banners is for you. But let’s not forget: these banners are part of at least your users’ first time visit experience, so measure both, with twitter.com/AndyDavies/sta…

via Echofon

SaraSoueidan I wrote a little post about how I styled my <hr> elements (the birds on the wire), and how we can create more creative yet properly semantic horizontal rules using inline , custom properties & a bit of ARIA:

“Not Your Typical Horizontal Rules” 🐦
sarasoueidan.com/blog/horizonta… pic.twitter.com/aiGmsfDooi

via Twitter Web App (retweeted on 10:07 AM, Mar 26th, 2021 via Echofon)

@slightlylate @briankardell @plinss @cwilso We’re having a similar discussion right now about `<link media>` and for what `type`s it should apply: github.com/whatwg/html/is…. 🔗

via Echofon in reply to slightlylate

Even @Apple’s Legal department now talks about Progressive Web Apps: accc.gov.au/system/files/A… (3.9MB PDF). 😬 twitter.com/9to5mac/status…

via Echofon

@DenisTRUFFAUT @petele Very interesting. Looks like there are a couple of (I think mostly paid) client or server side solutions already: npmjs.com/search?q=mrz (ignore the parsers). That’s just the JavaScript ecosystem. Unlike barcodes, faces, and text

via Echofon in reply to DenisTRUFFAUT

@denladeside @Paul_Kinlan Pure text definitely is supported. I remember forking QR Snapper and removing the URL filter for a demo at Google I/O ’19. It’s more the other way round: some pure text happens to be interpretable as URL. 😃

via Echofon in reply to denladeside

Creating Custom Form Controls with `ElementInternals` css-tricks.com/creating-custo…. Great article about using custom elements in forms.

via Twitter for iPhone

@gauntface @addyosmani All the best birthday wishes, Addy! 🎈

via Echofon in reply to gauntface

SaraSoueidan “Designed to be a reference for anyone building component-based user interfaces, The Component Gallery is an up-to-date repository of interface components based on examples from the world of design systems.”

⭐️ component.gallery

via Twitter for iPhone (retweeted on 6:56 PM, Mar 24th, 2021 via Echofon)

@dontcallmeDOM @w3c @hdv @studio24 Yepp, this is also what my web search brought up. Just needed to know what to search for. Mystery solved. 🔮

via Echofon in reply to dontcallmeDOM

@dontcallmeDOM @w3c @hdv @studio24 Oh, interesting, thanks for the pointer. Some more evidence: google.com/search?q=%22wo….

via Echofon in reply to dontcallmeDOM

dontcallmeDOM @tomayac @w3c @hdv @studio24 I don’t have direct knowledge of the reason, but I believe the initial name for W3C was to be World Wide Web Organization - .org would have thus been a sufficient qualification for the full name

via Twitter Web App (retweeted on 9:47 AM, Mar 24th, 2021 via Echofon)

shadeed9 ✍️ New Article: Handling Text Over Images in CSS

An in-depth article on handling text over images in CSS that focuses on the gradient overlay solution. I went through the problem and how to solve it with examples from Netflix, Facebook, and Youtube.

🔗 ishadeed.com/article/handli… pic.twitter.com/hEtMtYGELv

via Twitter Web App (retweeted on 9:23 AM, Mar 24th, 2021 via Echofon)

@w3c @hdv @studio24 Why, historically, was w3.org chosen over w3c.org (which at least redirects to the actual URL)?

via Echofon in reply to w3c

@voxpelli @DasSurma @philwalton It depends :-)

If you really _need_ the additional data, then yes. If not, then no. Google calls the metrics returned by this module the “Core Web Vitals” for a reason.

via Twitter Web App in reply to voxpelli

@simevidas Actually, correcting myself here: our style guide recommends using bold style sparingly, since it’s sort of reserved for UI element names: web.dev/handbook/gramm….

via Twitter for iPhone in reply to tomayac

Taming blend modes, by @anatudor: css-tricks.com/taming-blend-m…. Super in-depth article on the many things you can do with CSS blend mode.

via Twitter Web App

@simevidas More than happy to merge your PR! 😃

via Echofon in reply to simevidas

@mahemoff We now have an enterprise plan powered by Bitly for goo.gle—different from the prev.goo.glp. I guess people would still want to use such shortening services to track “user engagement” (yes, probably for Per

via Twitter for iPhone in reply to mahemoff

@intenttoship @excalidraw, you’re quoted in this Intent to Experiment. 😃

via Echofon in reply to intenttoship

Really looking forward to the File Handling API: web.dev/file-handling/. twitter.com/intenttoship/s…

via Echofon

@theSdev Embracing our @excalidraw Windows users by now showing them the official platform share icon in the collaboration dialog (which is something we already do for our Android and Apple users). Thanks, @node_monk, who has implemented this in github.com/excalidraw/exc…pic.twitter.com/gq9gsJX8Ol

via Twitter Web App in reply to tomayac

Super happy about the initiative: web.dev/compat2021/. Eliminating 5 top compatibility pain points on the Web.

via Twitter Web App

LukeDavisSEO Roland 808303.studio lets you make beats in your browser sampleface.co.uk/roland-808303-…

via WordPress.com (retweeted on 11:23 PM, Mar 21st, 2021 via Echofon)

Better Line Breaks for Long URLs: css-tricks.com/better-line-br…. `<wbr>` to the rescue. 🪓

via Twitter for iPhone

@webmaxru С днем ​​рождения! 🎂

via Echofon in reply to webmaxru

You’ll soon be able to choose your primary browser on Chrome OS devices to be LaCrOS, which decouples OS updates from browser updates. chromium-review.googlesource.com/c/chromium/src…

via Twitter for iPhone

CSS Color Module Level 5 will be a game changer:

🎨 `color-mix()` for mixing colors.

🦓 `color-contrast()` to make sure you get contrasting colors.

🎚 `color-adjust` to tweak a given color.

drafts.csswg.org/css-color-5/ twitter.com/davatron5000/s…

via Echofon

I love in-depth articles about complex or just interesting service worker setups, and the new post by @malchata is no exception to this rule: alistapart.com/article/now-th…

via Twitter for iPhone

@patak_js @Vjeux @excalidraw @vite_js Slow initial server startup has indeed been a pet peeve of mine. So when are we switching?

via Echofon in reply to patak_js

@othermaciej @stshank @firt @webkit For instance, 2 of the differences are:
- File System Access files go thru malware checks of Safe Browsing, Storage Foundation “files” don’t.
- Storage Foundation “file” writes are immediately observable without having

via Twitter Web App in reply to othermaciej

@othermaciej @stshank @firt @webkit Specifically for the latter use case example, we’re working with a partner who ports a large desktop app to the Web that needs a “swap” file. The existing API isn’t suitable for this. We’re thinking of

via Twitter Web App in reply to tomayac

@othermaciej @stshank @firt @webkit I think what we failed to convey so far is “Storage Foundation API is a new fast and unopinionated storage API that unlocks new […] use-cases for the web, such as implementing performant databases and gracefully managgithub.com/fivedots/stora…

via Twitter Web App in reply to othermaciej

Promising early signals from  Cupertino regarding the File System Access API. ⤵️ twitter.com/othermaciej/st…

via Twitter Web App

@thexpaw @ChromiumDev @Google Dark mode favicons that are realized via SVG (blog.tomayac.com/2019/09/21/pre…) are on our list of things we look into supporting, too.

via Twitter Web App in reply to thexpaw

bramusblog Three important things you should know about CSS `:is()`

🔗 bram.us/2021/03/19/thr…

🏷 pic.twitter.com/KfKery28SB

via Bramus RSS (retweeted on 12:40 AM, Mar 19th, 2021 via Echofon)

@argyleink @ChromiumDev It confused me tbqh. Conceptually, the whole thing acts as the label (and this is what your markup suggests, too). Good to know there’s yet another way to fix it. Thanks for putting these articles out, so much good stuff to take

via Twitter for iPhone in reply to argyleink

@ChromiumDev @argyleink There’s the uncanny valley of the grid gap being not clickable (despite being in the label) [first screenshot]).

I have fixed it by rotating the order in the DOM [second screenshot]. pic.twitter.com/pWMSoMYLk6

via Twitter Web App in reply to ChromiumDev

The PWA has now been migrated to GitHub (github.com/tomayac/wikipe…) and is also hosted there (tomayac.github.io/wikipedia-arou…). Meanwhile, @glitch is a great(!) platform for developing apps in an educational course setting. Its no lock-in full GitHub export is chef

via Twitter Web App in reply to tomayac

@simevidas This caught a lot of people by surprise the first time this page made the rounds: theannoyingsite.com. Try it at least once, it’s annoying, but it won’t break anything.

via Echofon in reply to simevidas

Wikimedia, the organization behind Wikipedia and many other projects, will create a (paid for commercial use) API with guaranteed Service Level Agreements for customers like Google, Apple, Microsoft, etc., who use this data.

👉 meta.wikimedia.org/wiki/Wikimedia…
mediawiki.org/wiki/Wikimedia…

via Echofon

@edent @ChromiumDev @RickByers One data point are the public reviews on the extension (chrome.google.com/webstore/detai…) with 80K+ users and a lot of anecdotal positive feedback (lots of academics) that reached me in private. Not sure we have public data on the Go@david_bokan

via Twitter Web App in reply to edent

@jeffposnick @triblondon Andrew, any idea where the demo from that article originally at vary-test.fastlydemo.net went? Thanks!

via Twitter Web App in reply to jeffposnick

Thanks to @_baku89 you can now send rumble signals to Joy-Con controllers connected via to your device: github.com/tomayac/joy-co…. This came via a super cool PR that I just had the pleasure to merge. Thank you! twitter.com/tomayac/status…

via Twitter Web App

@_baku89 Thank you very much! ♥️ You’re credited in the README github.com/tomayac/joy-co… and I have just released v0.2.0 that contains the feature: npmjs.com/package/joy-co…! 🎉 Also thanks again to @mrdoob for connecting us!

via Twitter Web App in reply to tomayac

@_baku89 I guess for a first version this would work already. I would happily merge such a PR. The whole code is full of magic byte sequences that make no sense to me (as a non-hardware person).

via Twitter Web App in reply to _baku89

quicksave2k The CSS accent-color property is getting some love in Chrome Canary and I have to admit I like it a lot ;)

Want to give it a try?
Enable the “Experimental Web Platform Features” flag in about:flags and go to css-accent-color.glitch.me pic.twitter.com/7RdKXEMoGP

via Twitter Web App (retweeted on 12:53 AM, Mar 17th, 2021 via Echofon)

mikewest CSP is large and sprawling, but a “strict” subset of the policy language is _very_ effective at mitigating injection attacks (XSS). @we1x rolled that subset out at Google-scale, and walks through the mechanism in detail in web.dev/strict-csp/.

It’s worth your time to read. twitter.com/we1x/status/13…

via Twitter Web App (retweeted on 12:51 AM, Mar 17th, 2021 via Echofon)

Mentored a super motivated group of students at @GazaSkyGeeks 🇵🇸—a@GoogleStartupss tech partner—today who’re learning Web development as part of their Code Academy career accelerator coursegazaskygeeks.com/coders-career-…z3). This is the little PWA we wikipedia-around.glitch.me

via Twitter Web App

@_baku89 Oh, nice. I’d happily accept a Pull Request to github.com/tomayac/joy-co… that adds this. 😃

via Twitter Web App in reply to _baku89

@derSchepp @simevidas That’s the content I am here for. Thanks for sharing!

via Twitter Web App in reply to derSchepp

@marcosc @w3c Wow, that’s fantastic news! Congratulations, Marcos! 🎈

via Echofon in reply to marcosc

ChromeDevTools Chrome DevTools team is hiring! Please reach out to @hashseed if you are interested.

via Twitter Web App (retweeted on 11:27 PM, Mar 15th, 2021 via Echofon)

ChromiumDev 📣 Chrome 90 (ninety!) hit beta.
Which means AV1 Encoder for WebRTC is here 🎉

Please check this post for additions and deprecations.

blog.chromium.org/2021/03/chrome…

via TweetDeck (retweeted on 11:25 PM, Mar 15th, 2021 via Echofon)

jeffposnick This article by @triblondon is the best Vary: header explainer:

smashingmagazine.com/2017/11/unders…

via TweetDeck (retweeted on 11:23 PM, Mar 15th, 2021 via Echofon)

@andreasbovens @whereby @oyvindreed @ingridod Congratulations, Andreas! 🎈 Super happy you found an exciting “in-browser” place to work at.

via Echofon in reply to andreasbovens

volkoren I wrote about the macOS Security & Privacy preference pane. Yes this is what I’m passionate about 🤓 volkoren.medium.com/youre-coming-t…

via Tweetbot for iΟS (retweeted on 11:14 PM, Mar 15th, 2021 via Echofon)

@visualfanatic Yeah, agreed. It’s maybe part of YouTube’s design language that has grown over the years.

via Twitter Web App in reply to visualfanatic

estark37 a small Sunday blog post, some beginner tips for reading web standards: emilymstark.com/2021/03/14/tip…

via Twitter Web App (retweeted on 8:47 PM, Mar 14th, 2021 via Echofon)

@node_monk Thanks for just jumping onto the Issues and implementing both features in no time! ♥️

via Echofon in reply to node_monk

@theSdev Not sure how present the share experience is on Windows 10 yet, but we probably might need to incorporate it: blogs.windows.com/windowsdevelop…. Windows users, do you associate sharing with the icon below? pic.twitter.com/cnwALM3LcF

via Twitter Web App in reply to theSdev

A small but important UX detail in the implementation that I want to highlight is how the share icon dynamically adapts to the platform standards: Apple vs. Android. That way people immediately recognize the action icon the design guidelines on both platfpic.twitter.com/HwiNFPF20t

via Twitter Web App in reply to tomayac

You can now share @excalidraw collaboration URLs more easily thanks to the Web Share API (web.dev/web-share/).

Excalidraw now also appears as a share target in the OS’s share sheet thanks to the Web Share Target API (web.dev/web-share-targ…).

Œu@node_monktwitter.com/excalidraw/sta…

via Twitter Web App

@cjamcl Was this before or after the monkey selfie copyright dispute? en.wikipedia.org/wiki/Monkey_se… 🐒🤳

via Echofon in reply to cjamcl

domenic App history is becoming real! Check out this demo in Chrome Canary with experimental web platform features enabled: gigantic-honored-octagon.glitch.me

We also have the beginnings of a spec! wicg.github.io/app-history/ pic.twitter.com/BSxSSqWVXd

via Twitter Web App (retweeted on 11:20 AM, Mar 13th, 2021 via Echofon)

@simevidas @webkit Huh? Never noticed until now. Looks like misconfigured subdomains to me. One should probably redirect (with status code 301) to the other.

via Echofon in reply to simevidas

@jthoms1 Sure, happy to. Email me at tomac AT google COM and we can take it from there. Probably aiming for mid/end of the coming week, since I have two deadlines to meet on Monday and Tuesday.

via Twitter Web App in reply to jthoms1

@jthoms1 Yes, true, all mini apps work this way. But also “some components, like <map> and <video>, are rendered as OS-native components that get layered over the WebView”: web.dev/mini-app-compo…

via Twitter Web App in reply to jthoms1

@stshank @firt @webkit Fully agree that it may not be very likely. But the spec leaves room for vendors to implement things differently. Like for Async Clipboard, where Safari has an additional browser-inserted “paste” button that users need to explic

via Twitter Web App in reply to stshank

@jthoms1 Thanks for reading! Arguably Snap Minis are to be found in such an internal app store of what is very much a consumer app: web.dev/mini-app-alter….

via Twitter Web App in reply to jthoms1

we1x - Javascript can be used to leak 1kB/s across origins in modern browsers (without high precision timers/ SharedArrayBuffer)!
Amazing research by @_tsuro!

security.googleblog.com/2021/03/a-spec…

via Twitter Web App (retweeted on 6:47 PM, Mar 12th, 2021 via Echofon)

If you would like @webkit to implement the File System Access API, consider adding your use case for the API in a comment on this bug: buganizer.webkit.org/show_bug.cgi?i…. 🛑 DON’T just “+1” the bug, write a comment with substance (or just silently CC: yourse

via Twitter Web App

@stshank @firt @webkit FWIW, it’s not mentioned in the “we won’t implement” list: webkit.org/tracking-preve…, so here’s hoping. I have a feature request bug open at buganizer.webkit.org/show_bug.cgi?i….

via Twitter Web App in reply to stshank

@samuelgoto @hober @rmondello @blaine @slightlylate @example @yigsgu @majido I have it set up for _everything_ I care about. The flow for npm is what it looks like in general: docs.npmjs.com/configuring-tw…. I use Authy (as a replacement for Google Authenticatorsupport.authy.com/hc/en-us/artic…tools.ietf.org/html/rfc6238

via Twitter for iPhone in reply to samuelgoto

@samuelgoto @hober @rmondello @blaine @slightlylate @example @yigsgu @majido Much needed! I also wish (even more than email verification, which you typically need just once) there was an API for getting 2-step verification tokens from Google Authenticator

via Echofon in reply to samuelgoto

@stshank @firt Widening. But we had some surprise @webkit landing recently with the Contact Picker API (behind a flag, but still). Some nice things like Async Clipboard and Web Share Level 2 (sharing files) landed, too. Hoping for File System Access.

via Echofon in reply to stshank

@hochsays Some people’s opinion clearly is for the bin. Ignore them and stay focused on what really matters!

via Echofon in reply to hochsays

@patrickhulce Congratulations! 🎈 Enjoy the time!

via Echofon in reply to patrickhulce

@lucienimmink We’re thinking of making `<link rel=manifest>` aware of the `media` attribute next. Like that you could specify different manifest files for light and dark mode. Additionally, there’s thinking on having a way to do this directly in the m

via Twitter Web App in reply to lucienimmink

Modules in workers and service workers, private class methods, top-level await. Love how quickly new JavaScript features make it into Safari. 👏 twitter.com/webkit/status/…

via Echofon

Yes, there’re a ton of iPhones in the top 10, but you might not see the number 1 and 2 bestselling phones (and the rest that comes after the top 10) since probably your site’s analytics is blind to them. These users never even might make it post the p

via Twitter for iPhone in reply to tomayac

“[F]or at least the next year we should consider the venerable Moto G4 to still be our baseline.”-@slightlylatee ininfrequently.org/2021/03/the-pe…m. “Not in my market!” you may say. Check the 2 bestselling 📱s in a wealthy country like 🇩🇪:amazon.de/gp/bestsellers…browser.geekbench.com/android_device…twitter.com/slightlylate/s…

via Echofon

jeffposnick Tips for debugging a *specific* request inside of a service worker:

jeffy.info/2021/03/11/deb…

via Twitter Web App (retweeted on 8:26 PM, Mar 11th, 2021 via Echofon)

@jaroslawjarosik @cramforce Global shortcuts are tracked as bugs.chromium.org/p/chromium/iss….

Tray access is tracked as bugs.chromium.org/p/chromium/iss….

Both features are in scope of Project Fugu 🐡, but, yes, they are current gaps we don’t have a bridge for yet.

via Twitter Web App in reply to jaroslawjarosik

cramforce Really good example of why desktop PWAs are so powerful. There really was no reason for Electron for this use case.
Some UX issues remain in Chrome (really mostly around browser restarts). Hope they’ll get fixed.
9to5google.com/2021/03/09/goo…

via Twitter for Android (retweeted on 3:46 PM, Mar 11th, 2021 via Echofon)

@dannymoerkerke Thanks. Just fixed the component and set to untriaged. Looks good and actionable!

via Echofon in reply to dannymoerkerke

@robertnyman @jaxcore @eae @ErikArvidsson I’m sure I have code lying around on a backup DVD 📀 or CD 💿 somewhere that does this.

via Echofon in reply to robertnyman

@eladsc @bramus @CodePen @webkit I fully agree it’s usable. I personally just wouldn’t speak of full browser support yet as long as it is prefixed.

via Echofon in reply to eladsc

@maddesigns @shadeed9 Brilliant! Exactly what I was looking for. Thanks for sharing!

via Echofon in reply to maddesigns

As a user of the not very well-known `ruby` tag (blog.tomayac.com/2021/01/24/rub…) for my footnotes, I’m happy about this progress update from @fantasai. ⤵️ twitter.com/csswg/status/1…

via Echofon

@eladsc @bramus @CodePen Almost full support. As your code sample shows, on @webkit it’s still prefixed as `:-webkit-full-screen`.

via Echofon in reply to eladsc

@j9t It’s a weird but useful one. I use it in `<dark-mode-toggle>`: github.com/GoogleChromeLa….

via Echofon in reply to j9t

@shadeed9 Great article, super useful! Are you aware of a CSS linter that flags use of the previous syntax?

via Echofon in reply to shadeed9

shadeed9 ✍️ New Article: Digging Into CSS Logical Properties

I always wanted to write about CSS logical properties. In this article, I explained how they work, why to use them, with some examples and use-cases. Happy reading!

🔗 ishadeed.com/article/css-lo… pic.twitter.com/Ec7rhRtIpB

via Twitter Web App (retweeted on 11:35 AM, Mar 11th, 2021 via Echofon)

@dannymoerkerke Please file a new.crbug.com and use Blink>Contacts for the component field. Thanks!

via Echofon in reply to dannymoerkerke

JohnMu Unplanned outages are stressful enough - here’s how to win a bit of time. If your site is completely down, serve 503 for all requests asap (you can show a user-friendly page too). If your host is down, point your DNS to a temporary host that just serves 503.

via Twitter Web App (retweeted on 11:22 AM, Mar 11th, 2021 via Echofon)

robertnyman My two DHTML favorite resources, about 20 years ago:

Dynamic Duo: dansteinman.com/dynduo/, by @jaxcore

WebFX: @eae and @ErikArvidsson

via Twitter Web App (retweeted on 11:17 AM, Mar 11th, 2021 via Echofon)

@robertnyman @jaxcore @eae @ErikArvidsson “`js
if (document.layers) {
// …code that would be executed only by Netscape browsers…
} else {
// …code that would be executed only by Internet Explorer…
}
“`

via Echofon in reply to robertnyman

People have for a long time been using Alexa rankings to roughly assess the popularity of sites, but the new Rank Magnitude metric in the latest @ChromeUXReport is a lot better. twitter.com/ChromeUXReport…

via Echofon

slightlylate The lack of real, meaningful browser choice on iOS doesn’t just hold back new features like the one’s we’re developing in Project Fugu 🐡, it holds back incremental improvements too:

bugs.webkit.org/show_bug.cgi?i… pic.twitter.com/57qYZipHQs

via Twitter Web App (retweeted on 8:28 AM, Mar 11th, 2021 via Twitter Web App)

sisidovski Are you interested in how Core Web Vitals impact your business? This case study from Yahoo! JAPAN would help you to understand the correlation between them, and how Google tooling assists you to improve CWV metrics on your sites! web.dev/yahoo-japan-ne…

via Twitter for Android (retweeted on 9:36 AM, Mar 10th, 2021 via Echofon)

@mikemaccana The import type assertion is for the type of the file you import, so a JSON file. Other options in the future will be CSS and HTML.

via Twitter Web App in reply to mikemaccana

ricmac New @webdevhistory post! This took me a few weeks, as we’re getting into complex territory in from 1997 onwards. Web apps were the new battleground for Netscape & Microsoft; each had a different component model and definition of “dynamic” HTML. webdevelopmenthistory.com/1997-netscape-…

via Twitter Web App (retweeted on 12:54 AM, Mar 10th, 2021 via Echofon)

patrickbrosset 📖 New blog post 📖

I wrote about how we built the new Tooltips feature in @EdgeDevTools.

This was an interesting challenge, with geometry, SVG and clip-path 📐

If you’re into these things, you might enjoy reading it!

patrickbrosset.medium.com/how-we-built-t… pic.twitter.com/q7NQDY33sy

via TweetDeck (retweeted on 12:43 AM, Mar 10th, 2021 via Echofon)

@Wattenberger @githubOCTO Wow, congratulations! 🎈 Looking forward to seeing what’s coming!

via Echofon in reply to Wattenberger

@firt @SaraSoueidan @janpersiel For iOS, I use QuickTime Player (requires a cable) medium.com/@patrickswong/…. For Android, Vysor works well as a PWA (requires a cable) app.vysor.io/#/. Apparently the Vysor macOS app has added iOS support github.com/koush/vysor.io…

via Echofon in reply to firt

@kristoferbaxter Really in love with the tool. Recently excalidrew a pipe chain: web.dev/streams/#:~:te….

via Echofon in reply to kristoferbaxter

bramusblog Digging into Mini Apps (by @tomayac)

🔗 bram.us/2021/03/09/dig…

🏷 pic.twitter.com/eC8kGHg4Md

via Bramus RSS (retweeted on 9:38 PM, Mar 9th, 2021 via Twitter for iPhone)

@MHablich @hashseed @_shu Completely unrelated, but you made me look it up: it’s with a ‘g’: duden.de/rechtschreibun…. Same idea as Berggrat: duden.de/rechtschreibun…. ⛰ I love how German works.

via Echofon in reply to MHablich

feross The list of powerful APIs that the Chrome team wants to safely expose to web apps via Project Fugu is incredibly exciting:

fugu-tracker.web.app

via Twitter Web App (retweeted on 9:07 AM, Mar 9th, 2021 via Echofon)

@simevidas @DasSurma Probably worth commenting about this on bugs.chromium.org/p/chromium/iss…. It might have come up even in previous discussions.

via Echofon in reply to simevidas

jaffathecake 📝 What is `this` in JavaScript?

It’s one of the trickier parts of JavaScript, so here’s my guide to figuring it out: web.dev/javascript-thi…

via Twitter for Android (retweeted on 8:32 AM, Mar 9th, 2021 via Echofon)

ASpittel Nevertheless, I coded and wrote about it online.

dev.to/aspittel/never…

via Twitter for iPhone (retweeted on 8:27 AM, Mar 9th, 2021 via Echofon)

@pepelsbey_ The Payment Request API was another example: nielsleenheer.com/articles/2017/…. It’s now (partly) supported directly.

via Twitter Web App in reply to pepelsbey_

🙋 Chrome for iOS users: the latest version shipped with a polyfill (github.com/GoogleChromeLa…) of the text fragment URL (htts://web.dev/text-fragments/) feature: Try opening blog.chromium.org/2019/12/chrome… in Chrome for iOS and compare to Safari. How it started:twitter.com/tomayac/status…pic.twitter.com/PFay8Q3TOK

via Twitter Web App

🎉 Import Assertions & JSON Modules to come to Chromium if this Intent to Ship groups.google.com/a/chromium.org… is approved:

“`
import json from “./foo.json” assert {type: “json”}
“`

BTW, the Blink shipping process now requires Web/Framework developer signalgoo.gle/developer-sign…pic.twitter.com/pyscnOlUrw

via Twitter Web App

@devoorhoede Thanks for the kind words! Happy that this series would have been in the concrete case (and hopefully will be for future cases) a good argument for building for the Web.

via Twitter Web App in reply to devoorhoede

devoorhoede We were asked to build a WeChat mini app for a client in China. Mini apps are a (gated) world of their own with info mostly in Chinese. We found it risky and convinced client to go for regular web app instead.
This series would’ve been an invaluable resource. Recommended read! twitter.com/ChromiumDev/st…

via Twitter for Android (retweeted on 9:14 AM, Mar 8th, 2021 via Twitter Web App)

@denladeside @3Dconnexion @kennethrohde @reillyeon @Vincent_Scheib 👏 This looks great! Happy you found the API easy to use!

If you’re up for the next challenge, I’m still looking for help with making the alpha channel of my Joy-Con driver work witgithub.com/tomayac/joy-co…

via Twitter Web App in reply to denladeside

alexainslie 👩‍🔬 We hope to gather more feedback about @googlechrome updates as they’re in development. If you’re using Canary today (and soon Dev and Beta) you’ll notice a little beaker on the toolbar that makes it easier to try out new stuff and share suggestions about how it should evolve. pic.twitter.com/doPLzJbnRW

via Twitter Web App (retweeted on 1:37 PM, Mar 6th, 2021 via Echofon)

@PixelAmbacht I typed “blockchain” and nothing happened.

via Echofon in reply to PixelAmbacht

@reillyeon @ericlaw If I think “serial”, this is the connector I think of. Can you do Web Parallel next, please?

via Echofon in reply to reillyeon

ChromiumDev Later this year, @googlechrome is moving from a 6-week release cycle to a 4-week release cycle, allowing us to ship new features and help get bug fixes out faster. More details, timelines, and what this means for you at developer.chrome.com/blog/faster-re…

via TweetDeck (retweeted on 1:01 PM, Mar 6th, 2021 via Echofon)

PixelAmbacht 🫕 Try variable fonts from Google Fonts! Click the button, pick a font, and the fondue will tell you all about it!

- All the usual fonty goodness
- All the axes
- The <link> element to use all the axes

Now, exclusively on the Wakamai Fondue bètá! wakamaifondue.com/beta/ pic.twitter.com/Jmk3tbrfIz

via Twitter Web App (retweeted on 12:54 PM, Mar 6th, 2021 via Echofon)

ChromiumDev 👀What’s this? Haven’t seen this thumbnail in a while!

It’s a special edition of ⚡️Supercharged Microtip⚡️!

@DasSurma gives you a quick-start on Web Workers
— in German with English subtitles!
youtube.com/watch?v=rZm1Ya…r

via TweetDeck (retweeted on 12:54 PM, Mar 6th, 2021 via Echofon)

bramusblog 🔥 The future of CSS: Scroll-Linked Animations (Part 2)

In this 2nd part covering @​scroll-timeline we turn things up a notch and dig into creating Scroll-Linked Animations using Element-based Offsets

🔗 brm.us/scroll-linked-…

pic.twitter.com/IIwaDHCEii

via Tweetbot for Mac (retweeted on 12:43 PM, Mar 6th, 2021 via Echofon)

bramusblog Control the behavior of JavaScript imports with Import Maps

🔗 bram.us/2021/03/03/con…

🏷 pic.twitter.com/ZrzakJQ4tn

via Bramus RSS (retweeted on 11:59 AM, Mar 6th, 2021 via Echofon)

diekus Thrilled to be part of a team making Web technologies mainstream, now on a desktop near you. @MSEdgeDev youtube.com/watch?v=xUNC8M…

via Twitter Web App (retweeted on 11:38 AM, Mar 6th, 2021 via Echofon)

@enjikaka @slightlylate Not really. But technically, with what the team calls Bento AMP, you could build components to be used in mini apps (and the Web of course). Some of the AMP caching technology is comparable to mini app hosting, but there are differweb.dev/mini-app-proje…

via Twitter Web App in reply to enjikaka

@nekrtemplar H5 apps typically predate service workers. If they were offline-capable at all, which as far as I can tell wasn’t very common, they used AppCache. This aspect, though, is a requirement of PWA, just like being installable.

via Twitter Web App in reply to nekrtemplar

@Nate_Stringham @ChromiumDev Very well aware: blog.tomayac.com/2019/09/21/pre…. This new feature just enables the same feature for non-SVG icons.

via Twitter Web App in reply to Nate_Stringham

ChromiumDev 📢 新シリーズ! ミニアプリ:ウェブテクノロジーで作られたブラウザーで動かないアプリ
by @tomayac

👉 web.dev/mini-apps/ 👈

🌏 ミニアプリの世界へようこそ
🛠 ミニアプリの開発者体験とは?
🌐 ミニアプリのエコシステムに関する考察
🎓 ミニアプリから学べること
twitter.com/ChromiumDev/st…

via TweetDeck (retweeted on 8:52 PM, Mar 5th, 2021 via Twitter Web App)

@HenrikJoreteg @denladeside @reillyeon @petele Happy that this works for you! And thanks for the super compelling use case of the API!

<3

via Twitter Web App in reply to HenrikJoreteg

@razvancaliman @ChromiumDev It’s a warning I would put out for anything that is from an unidentified developer, it’s not specific to mini apps IDEs. Also: I have done the research so you don’t have to. But if you want to, the article tells you how.

via Twitter for iPhone in reply to razvancaliman

ChromiumDev 📢 @tomayac 为你带来了一系列的小程序研究:带大家深入了解这些利用网页科技开发,但并不在浏览器运行的程序。

👉 web.dev/mini-apps/ 👈

🌏 小程序介绍
🛠 小程序的开发者体验
🌐 小程序的生态环境
🎓 对小程序的感想
twitter.com/ChromiumDev/st…

via TweetDeck (retweeted on 11:32 AM, Mar 5th, 2021 via Twitter Web App)

😊 Proud of my new series! An exploration into Mini Apps: apps built with Web technologies, but that don’t run in browsers.

👉 web.dev/mini-apps/ 👈

🌏 World of Mini Apps.
🛠 DX of Mini Apps.
🌐 Wider Mini Apps ecosystem.
🎓 Learnintwitter.com/ChromiumDev/st…pic.twitter.com/mfSlrXxymc

via Twitter Web App

@satnamsvirdi @Una @jaffathecake @DasSurma @svgeesus @argyleink @_developit @LeaVerou @chriscoyier You can download pages or save them for offline use if you use Chrome (similar options exist for other browsers): support.google.com/chrome/answer/….

via Twitter Web App in reply to satnamsvirdi

@denladeside @HenrikJoreteg @petele @reillyeon By the way, it sounds like your origin trial token is hardcoded and not easy to change for a new one. Dynamically inserted by JavaScript tokens work. So you could have your app installation phone home to obta

via Twitter Web App in reply to tomayac

@denladeside @HenrikJoreteg @petele @reillyeon In the worst case, if your customer can’t update to a more recent Chrome version after the end of the origin trial, they’d have to flip the experimental web platform features browser flag on 88.

via Twitter Web App in reply to tomayac

@denladeside @HenrikJoreteg @petele It’s included in 89, which is beta: blog.chromium.org/2021/01/chrome…. I’m almost certain the API won’t be activated retrospectively on older versions now, but let’s ask @reillyeon.

via Twitter Web App in reply to denladeside

@jpp123 @donavon I agree. We start with icons, up next would then probably be manifest.

via Twitter Web App in reply to jpp123

@Miel_vds @signalapp Life changer! Thanks for letting me know. When I last checked, a lot of people were asking for it, but the setting didn’t exist.

via Twitter Web App in reply to Miel_vds

There’s more tweets in this month! Go up and select a date to see more ↑