Developer of sorts at Firefox, but this is my personal account. No thought goes unpublished. He/him.
Public Key
npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Profile Code
nprofile1qqswqke0gmnawewzs3nnkxt7uznfyt4fwpz0897rgz3entnxwex98vqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dswp72c8
Show more details
Published at
2026-06-30T10:31:24Z Event JSON
{
"id": "ebe81380c05804cc29c9a8dfa2a3a6545b0ea464465152b1cad24f34e48d6a18" ,
"pubkey": "e05b2f46e7d765c284673b197ee0a6922ea97044f397c340a399ae66764c53b0" ,
"created_at": 1782815484 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://mastodon.social/users/jaffathecake",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Jake Archibald\",\"about\":\"Developer of sorts at Firefox, but this is my personal account. No thought goes unpublished. He/him.\",\"picture\":\"https://files.mastodon.social/accounts/avatars/000/007/220/original/a1ee2714b31f25d9.jpg\",\"banner\":\"https://files.mastodon.social/accounts/headers/000/007/220/original/d6aa365077cefc85.jpeg\",\"nip05\":\"[email protected] \",\"fields\":[[\"GitHub\",\"https://github.com/jakearchibald\"]]}" ,
"sig": "de373fcee141a5e136f60f3e21192a4bebcf26c7d8bac5268cb5207d6406ac305be7c0619fd7392811752fc9d6b43a691d123f35ea2dcfa1e041544ebd5db15f"
}
Last Notes npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald There's an ideal set of sizing constraints for custom <select>, but the CSS is a bit tricky. Here's how to make it work, and a tour of new CSS features along the way. https://jakearchibald.com/2026/goldilocks-select-height/ npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald https://files.mastodon.social/media_attachments/files/116/651/244/076/449/453/original/a974a39c5788235a.png npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald Watch out! Chrome has a huge bug with <input type="number"> which causes values to change unexpectedly. It's fixed in Chrome 150, but that won't land until the end of June. https://files.mastodon.social/media_attachments/files/116/645/867/330/327/451/original/a33e3944f60ff985.mp4 npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald We now have an 'open web API' that requires you to comply with Google's "terms of use". I know many at Chrome disagree with this, but feel they can't say anything publicly out of fear of internal retribution. https://github.com/mozilla/standards-positions/issues/1213#issuecomment-4347988313 npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald So, Chrome's "web standard" Prompt API: Mozilla: Opposed WebKit: Opposed Microsoft: Several concerns W3C TAG: Several concerns Developers: Mostly negative Chrome: Ships anyway. A sad time for web standards. But, I guess someone at Google will get promoted, so 'every cloud…' npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald @nprofile…tkx6 @nprofile…q4tx @nprofile…jhwj @nprofile…26hz as far as I understand it, it wasn't "settings" that were reverting, but some unsupported key/values in about:config were moved, but people had found them and assumed they were stable. Here are the docs for AI controls https://support.mozilla.org/en-US/kb/firefox-ai-controls npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald @nprofile…tkx6 @nprofile…q4tx @nprofile…jhwj @nprofile…26hz yep, I get it. But that's why AI Controls were added. npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald @nprofile…tkx6 @nprofile…q4tx @nprofile…jhwj @nprofile…26hz you keep referring to this, but this is from when these things were only togglable from about:config, which is just a key-value store. It's bad that keys were changed that some people were relying on, but it wasn't fully supported. We have AI controls now, which is an official place for these settings. npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald MacOS: When I restart, would you like me to re-open all these apps? me: no MacOS: hmm well that's a shame because I am going to do that. me: ok MacOS: Should I open them all maximised on the same desktop? me: no MacOS: hmm well… npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald I think it's often overlooked that AVIF is also really good at flat colour & sharp edges. Don't go straight for a lossless format just because it's the kind of image that would look bad as a JPEG. Here's an 11kb image as an AVIF, vs JPEG XL. https://files.mastodon.social/media_attachments/files/116/159/979/219/964/571/original/3c79ff736833f3f7.png https://files.mastodon.social/media_attachments/files/116/159/979/649/902/563/original/6ff30781941a76a0.png npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald @nprofile…cqel it depends more on file size than image dimensions, but of course a larger image often needs more data. I guess a full width image of the fox, targeting high density displays, would be 200kb+. npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald I dug into progressive image rendering and found a bunch of common assumptions aren't quite true. ➡️ JPEG & WebP progressive-renders worse in Safari ➡️ AVIF _does_ support progressive ➡️ But JPEG XL in Safari doesn't ➡️ JPEG XL decodes much slower than AVIF ⬇️ …and more https://jakearchibald.com/2025/present-and-future-of-progressive-image-rendering/ npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald Folks who want to see JPEG-XL supported in more browsers, what is it about the format that attracts you to its use on the web compared to currently supported formats? npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald 📝 Making XML human-readable without XSLT. Turns out, JavaScript works pretty well! https://jakearchibald.com/2025/making-xml-human-readable-without-xslt/ npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald Yay! It's the first Firefox release since I've joined the team, so let's take a look at some of the new developer-facing features in Firefox 142… 🧵 npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald View Transitions are enabled by default in Firefox Nightly, so they're on their way to stable. Give it a test with your current transitions, and give me a shout if anything doesn't look right. I'm happy to report the most important transition works perfectly https://simple-vt-demos.jakearchibald.com/batman-transition/ npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald Starting my new role on Monday. Could be anywhere. https://files.mastodon.social/media_attachments/files/114/947/962/351/080/799/original/21dccc81aedd7c62.jpg npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald I hate footnotes, especially on the web, and hopefully by the end of this, you will too. https://jakearchibald.com/2025/give-footnotes-the-boot/ npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald CSS uses a complex algorithm to decide how to animate transforms. If you get it wrong, as many folks do, you end up with an unnatural animation. Here's how it works, and how to avoid the pitfalls. https://jakearchibald.com/2025/animating-zooming/ npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald @nprofile…4tpe @nprofile…vg7n the problem is JavaScript isn't really linked to a DOM element, other than events, which you can already block pretty easily. `sandbox` on iframes work because it's a whole new JavaScript environment. npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald I'm looking forward to https://heypresents.com/conferences/2025 next week, and I'm amazed to hear there are still tickets available. If you're in the UK, I absolutely recommend it. npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald I think Meta's going to win the AI race lads! https://files.mastodon.social/media_attachments/files/114/245/239/571/085/602/original/6dac5372f6ac8feb.png npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald A bit niche, but here's fun Firefox gotcha with custom elements and iframe documents https://jakearchibald.com/2025/firefox-custom-elements-iframes-bug/ npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald You probably shouldn't ever ship view transitions like this, but eh I had fun. Demo: https://simple-set-demos.glitch.me/gross-cube-transition-shaded/ https://files.mastodon.social/media_attachments/files/111/528/474/223/455/037/original/dd886977bda64f2d.mp4 npub1updj73h86aju9pr88vvhac9xjgh2juzy7wtuxs9rnxhxvajv2wcqhpjgvz Jake Archibald Let's do more view transition debugging! https://www.youtube.com/watch?v=GDkFiog1D1c