Danny Moerkerke @dannymoerkerke.bsky.social · 8hA PWA can open links instead of the user's default browser when it's installed with Chrome on Android, or added to the Dock on macOS with Safari. This is similar to how links to Instagram postings open in the Instagram app instead of a browser for example. Demo link 👇 130
Danny Moerkerke @dannymoerkerke.bsky.social · 01/10/2026PWAs on desktop can place content in the title bar. I added a demo to What PWA Can Do Today that puts a search box in the title bar, so you can search for a demo and access it from any page. Supported in Chromium-based browsers on macOS and Windows. Demo link 👇 130
Danny Moerkerke @dannymoerkerke.bsky.social · 30/09/2026Just published Modern Web Weekly #80 🎉 In this edition: - the iOS27 status bar blur (and how to get rid of it) - adding content to the title bar with window-controls-overlay - how to open files with your PWA (and set it as the default) Subscribe here 👇 111
Danny Moerkerke @dannymoerkerke.bsky.social · 26/09/2026What will AI do for programming languages? Do we still need them in the form we currently have? After all, they were created for humans. Do new developers still need to learn them or should they just learn how a system works instead? Maybe it’s time for agent-optimized languages. 120
Danny Moerkerke @dannymoerkerke.bsky.social · 25/09/2026Offline support doesn’t mean your web app has to work completely offline. It means it has to handle situations where the network is (temporarily) gone or flaky like in a parking garage or rural area. Give users the best possible user experience in that situation. 020
Danny Moerkerke @dannymoerkerke.bsky.social · 21/09/2026Web apps don’t even use half of the features available and that’s sad. I use a lot of recipe websites and almost not a single one uses the Wake Lock API to keep the screen on, which is really what you need when cooking. This is why people think native apps are better 😞 1142
Danny Moerkerke @dannymoerkerke.bsky.social · 15/09/2026The killer feature of PWAs is not that they update automatically or they’re cross-platform. The absolute killer feature of PWAs is that they can be freely distributed without any app store dependency No risk that one party can kill your distribution and end your business. That’s a killer feature. 1344
Danny Moerkerke @dannymoerkerke.bsky.social · 10/09/2026If your web app sends push notifications that don't show up on Samsung phones, here's what you need to know x.com/dannymoerker...x.comDanny Moerkerke (@dannymoerkerke) on XWhen Push Notifications Don’t Show Up On Your Samsung Phone 000
Danny Moerkerke @dannymoerkerke.bsky.social · 08/09/2026In an attempt to make the installation flow on iOS clearer, I added a wizard-like vertical progress stepper to the installation steps with screenshots. Hopefully, this will make it clear that there are more steps outside the viewport, and the user needs to scroll down: 010
Danny Moerkerke @dannymoerkerke.bsky.social · 04/09/2026I added the <geolocation> element to the Geolocation demo of What PWA Can Do Today. The benefit of this element is that you can simply click it again if permission was previously denied, so you don't have to dig through browser settings. 🧵1/2 110
Danny Moerkerke @dannymoerkerke.bsky.social · 04/09/2026Chrome 153 now supports the <camera> and <microphone> elements. These elements do the same as getUserMedia(), but when access is denied, you can simply click it again to grant access, so users don't need to dig through browser settings to reset permissions. Demo link👇 110
Danny Moerkerke @dannymoerkerke.bsky.social · 03/09/2026iOS27 beta 6 adds a weird blur to the top of the screen, but only when the PWA is added to the Home Screen 🤷♂️ Oh, and the Share option to add it to the Home Screen is in a different place, again... 000
Danny Moerkerke @dannymoerkerke.bsky.social · 02/09/2026By popular demand, I added a capabilities page to What PWA Can Do Today, which lists all capabilities on one page and indicates for each one if it's supported on your device. You can filter by support and search for capabilities. whatpwacando.today/capabilities/whatpwacando.todayWhat PWA Can Do TodayA showcase of what is possible with Progressive Web Apps today. 150
Danny Moerkerke @dannymoerkerke.bsky.social · 29/08/2026I added 3 new tools to the PWA Today MCP server 🚀 - list_pwa_audits - compare_pwa_audits - get_pwa_audit_entitlement Let your agent get a list of your audits and compare audits. The PWA Today Audit tests your PWA under real-world conditions and finds issues before your users do 🧵1/2 pwa.todaypwa.todayShip a PWA users can trust.Run a free PWA audit, then uncover install, offline, update, and lifecycle failures under real-world conditions. 130
Danny Moerkerke @dannymoerkerke.bsky.social · 27/08/2026I launched the PWA Today MCP server 🚀 Your AI agent can now run and analyse full, browser-based PWA audits directly from your workflow, map the results to your codebase, and fix issues right away. github.com/pwa-today/mc...github.comGitHub - pwa-today/mcp-server: PWA Today MCP server to let your agent run and analyse browser-based PWA runtime audits. Requires a paid plan.PWA Today MCP server to let your agent run and analyse browser-based PWA runtime audits. Requires a paid plan. - pwa-today/mcp-server 151
Danny Moerkerke @dannymoerkerke.bsky.social · 27/08/2026Most PWA issues only appear at runtime: - Does it still work without network? - Does a new version activate cleanly? - Are users getting fresh files or old cached ones? - Can people actually install it? pwa.today tests that runtime behavior. Run a quick free check or add CI/CD audits. pwa.todaypwa.todayShip a PWA users can trust.Run a free PWA audit, then uncover install, offline, update, and lifecycle failures under real-world conditions. 020
Danny Moerkerke @dannymoerkerke.bsky.social · 25/08/2026pwa-check 0.1.6 now supports auditing authenticated PWAs 🎉 You can provide a bearer token, cookie, or sessionStorage JSON. pwa-check is an automated PWA health check tool to make sure your PWA looks, feels, and behaves like a real app. github.com/pwa-today/pw...github.comGitHub - pwa-today/pwa-check: Automated PWA health check tool to make sure your PWA looks, feels, and behaves like a real app.Automated PWA health check tool to make sure your PWA looks, feels, and behaves like a real app. - pwa-today/pwa-check 010
Danny Moerkerke @dannymoerkerke.bsky.social · 24/08/2026Whatsapp Web is now a PWA... but not on mobile 😞 It could be, but Whatsapp chose not to make it available on mobile, only on desktop. This reinforces the idea that PWAs are inferior to native apps. If Whatsapp doesn't do it, it's probably not possible, right? 🧵1/3 120
Danny Moerkerke @dannymoerkerke.bsky.social · 20/08/2026The PWA Runtime Audit now tests if your PWA: - works offline after an update - works after a cold start while offline - serves the correct cached content while offline - retries requests made offline when back online Find runtime issues under real-world conditions, before your users do pwa.todaypwa.todayShip a PWA users can trust.Run a free PWA audit, then uncover install, offline, update, and lifecycle failures under real-world conditions. 011
Danny Moerkerke @dannymoerkerke.bsky.social · 20/08/2026I just published Modern Web Weekly #78 In this edition: - how to fix push notifications not displaying on the lock screen of your Samsung phone - how the PWA Today Runtime Audit helps you ship a PWA users can trust - how to make sure your PWA serves content from the right cache Subscribe link 👇 110
Danny Moerkerke @dannymoerkerke.bsky.social · 20/08/2026On iOS 26.5, you no longer need to add the meta tag <meta name="apple-mobile-web-app-capable" content="yes"> to show splash screens on iOS. This tag is deprecated since iOS 11.3, but it was still needed to show splash screens on iOS. Since iOS 26.5, this is no longer the case 🧵1/2 110
Danny Moerkerke @dannymoerkerke.bsky.social · 13/08/2026I launched pwa.today 🚀 The PWA Runtime Audit checks your PWA and finds runtime failures under real-world conditions. It checks installability, offline support, service worker lifecycle and makes sure you ship a PWA your users can trust. Check it out and let me know what you think! pwa.todaypwa.todayShip a PWA users can trust.Run a free PWA audit, then uncover install, offline, update, and lifecycle failures under real-world conditions. 0212
Reposted by Danny MoerkerkeYuri Vorontsov 🐬☀️⛵️ @kwispel.bsky.social · 11/08/2026Ivo Verbeek and myself will be sharing our thoughts and ideas on the impact of AI on Research Integrity in publishing workflows. Come and talk to us at the ALPSP event in Manchester in September. #researchintegrity #academicpublishing #scientificpublishingalpsp.orgALPSP conference - ALPSPALPSP conference- Association of Learned and Professional Society Publishers - International trade body which supports and represents not-for-profit organizations and institutions that publish scholar... 021
Danny Moerkerke @dannymoerkerke.bsky.social · 11/08/2026If you still think native apps are more secure than web apps: nooneshappy.com/article/nati...nooneshappy.comNative Apps Should Be Avoided Whenever Possible — No One's HappyWhy native apps have become privacy liabilities, and why the browser is almost always the better choice. 042
Danny Moerkerke @dannymoerkerke.bsky.social · 03/08/2026v0.0.10 of pwa-check is out with: - better detection of dynamically added service workers - the --issues-only flag pwa-check helps you make sure your web app looks, feels, and behaves like a real PWA by analysing its installability, offline behavior, and app-like capabilities. Download 👇 100
Danny Moerkerke @dannymoerkerke.bsky.social · 27/07/2026pwa-check 0.0.9 now displays the impact, priority, and possible fix for each detected warning and failure. pwa-check helps you make sure your web app looks, feels, and behaves like a real PWA by running a deep analysis on its installability, offline behavior, and app-like capabilities. Download 👇 100
Danny Moerkerke @dannymoerkerke.bsky.social · 20/07/2026pwa-check helps you make sure your PWA looks, feels, and behaves like a real PWA. v0.0.7 now ships improved detection of dynamically added service workers with Workbox, so if your PWA uses Workbox but pwa-check doesn't detect it, let me know. github.com/pwa-today/pw...github.comGitHub - pwa-today/pwa-check: An automated PWA health check toolAn automated PWA health check tool. Contribute to pwa-today/pwa-check development by creating an account on GitHub. 020
Danny Moerkerke @dannymoerkerke.bsky.social · 10/07/2026I published v0.0.6 of pwa-check. This version: - fixes the installabilty check - adds flags to exclude warnings from failures - checks service worker event handlers for skipWaiting , clients.claim, and event.waitUntil - enables checking localhost Github link 👇 100
Danny Moerkerke @dannymoerkerke.bsky.social · 09/07/2026I just published Modern Web Weekly #76 🎉 In this edition: - pwa-check: an automated PWA health check tool - Safari MCP server - new installation dialog in Chrome 152 - Chrome 152 now correctly attributes push notifications to your PWA GitHub link to pwa-check and subscribe link 👇 🧵1/3 140
Danny Moerkerke @dannymoerkerke.bsky.social · 08/07/2026Is your web app actually ready to be installed, work offline, and behave like a real PWA? Let pwa-check answer that for you. I created pwa-check to help you make sure your PWA looks, feels, and behaves like a real app. github.com/pwa-today/pw... Give it a try, I'm curious to hear your feedback!github.comGitHub - pwa-today/pwa-check: An automated PWA health check toolAn automated PWA health check tool. Contribute to pwa-today/pwa-check development by creating an account on GitHub. 131
Danny Moerkerke @dannymoerkerke.bsky.social · 10/06/2026Here’s a good reason why you may want to reach for plain HTML first: mohkohn.co.uk/writing/html...mohkohn.co.ukHow building an HTML-first site doubled our users overnightMy client was a utility company, and they had a big problem... 1150
Danny Moerkerke @dannymoerkerke.bsky.social · 05/06/2026Out-of-order streaming HTML is coming to a browser near you! This means you can stream HTML to the browser in any order, which enables web apps to send the most important HTML first, regardless of where it is in the document. This is huuuuuge! 🧵1/3 1223
Danny Moerkerke @dannymoerkerke.bsky.social · 03/06/2026I don’t think HTML-in-canvas is the biggest revolution in HTML right now. I think another feature is. One that will be truly revolutionary and that will have cross-browser support very soon. Details in tomorrow’s edition of Modern Web Weekly. Subscribe link 👇 221
Danny Moerkerke @dannymoerkerke.bsky.social · 28/05/2026Your web app can read and write files on the user’s device and request persistent storage so it’ll never lose data again, even if it’s not used for a while. Check the details in Modernn Web Weekly 73 Subscribe link 👇 130
Danny Moerkerke @dannymoerkerke.bsky.social · 26/05/2026Don't wait for iOS support to make your PWA installable. If we can teach users 4 clicks to add a web app to their favorites, we can teach them how to install a web app. Users are not unfamiliar with PWAs because of the lack of iOS support. It's because we don't build enough of them. 🧵 1/2 183
Danny Moerkerke @dannymoerkerke.bsky.social · 20/05/2026Firefox 151 now support the Document Picture-in-Picture API that enables web apps to open an always on top window that can be populated with arbitrary HTML content. Details in the upcoming edition of Modern Web Weekly. Demo and subscribe link 👇 🧵1/3 231
Danny Moerkerke @dannymoerkerke.bsky.social · 19/05/2026Firefox 151 ships with support for the Document Picture-in-Picture API which shows an always on top PiP window. Check the demo 👇 110
Danny Moerkerke @dannymoerkerke.bsky.social · 19/05/2026I created the macOS Dock with HTML, CSS, and JavaScript and I believe it's the smoothest version I have seen sofar 💪 Demo link 👇 130
Danny Moerkerke @dannymoerkerke.bsky.social · 07/05/2026I just published Modern Web Weekly #71 🎉 This edition is all about the WebAuthn PRF extension which enables web apps to derive encryption keys using the user's passkey. This means your web app no longer needs to store a private key in localStorage or IndexedDB. Demo and subscribe link 🧵1/3 100
Danny Moerkerke @dannymoerkerke.bsky.social · 05/05/2026It sucks that it's so difficult to install a PWA on iOS. It sucks that support for PWAs on iOS is limited. But we can't wait for Apple to improve this before we start building great web apps. When users perceive web apps as not as good as native apps, it's not always about the... 1/4 🧵 161
Danny Moerkerke @dannymoerkerke.bsky.social · 04/05/2026If you have a web app that doesn’t even work offline, you have no business complaining about PWA limitations. Use what’s available. 020
Danny Moerkerke @dannymoerkerke.bsky.social · 04/05/2026Progressive web apps (PWA) are disruptive because they eliminate gatekeepers like Apple and Google that basically determine if your business becomes a success or not. If you're not in the app stores or they kick you out, tough luck. PWAs change that. That's my mission. 082
Danny Moerkerke @dannymoerkerke.bsky.social · 30/04/2026Jean-Jacques Dubray built a very nice PWA for his restaurant. I'm proud What PWA Can Do Today was helpful in building it! Great work Jean-Jacques! www.linkedin.com/posts/jdubra...linkedin.comWhat PWA Can Do Today | Jean-Jacques D.Another magic moment yesterday with da POS. I never had the chance to architect a PWA project during my career so I was really excited to give it a try with Project BaanBaan. A regular Web app would... 021
Danny Moerkerke @dannymoerkerke.bsky.social · 30/04/2026I just published Modern Web Weekly #70 🎉 In this edition: - Safari TP now supports the improved attr() function - light dismiss a dialog with closedby - the state of deep linking in PWAs Subscribe link 👇 131
Danny Moerkerke @dannymoerkerke.bsky.social · 20/03/2026I just published Modern Web Weekly #69 🚀 In this edition: - how to install a PWA with Samsung Internet Browser - styling an anchor-positioned element based on its fallback position - updates for basic-service-worker Subscribe link 👇 120
Danny Moerkerke @dannymoerkerke.bsky.social · 11/03/2026I updated basic-service-worker, a service worker to make your PWA work offline, and updates ASAP when there are changes. It now updates to the new version when navigating in a SPA without page reload. github.com/DannyMoerker... Details in the upcoming edition of Modern Web Weekly. Subscribe 👇github.comGitHub - DannyMoerkerke/basic-service-worker: A basic Service Worker to make your web app work offlineA basic Service Worker to make your web app work offline - DannyMoerkerke/basic-service-worker 160
Danny Moerkerke @dannymoerkerke.bsky.social · 07/03/2026I noticed that, accidentally, an old version of the demo was deployed. This is now fixed: whatpwacando.today/focusgroupwhatpwacando.todayWhat PWA Can Do TodayA showcase of what is possible with Progressive Web Apps today. 000
Danny Moerkerke @dannymoerkerke.bsky.social · 06/03/2026I just published Modern Web Weekly #68 🎉 In this edition: - customizable <select> (now also in Safari Tech Preview!) - accessible arrow navigation with focusgroup - Interest Invokers Subscribe link 👇 120
Danny Moerkerke @dannymoerkerke.bsky.social · 02/03/2026Customisable <select> now works in Safari Tech Preview 238 🎉 Currently, I'm not able to open the Codepen site in Safari TP for some reason. Details in the upcoming edition of Modern Web Weekly. Demo of animated version and subscribe link 👇 🧵1/3 140
Danny Moerkerke @dannymoerkerke.bsky.social · 19/02/2026I just published Modern Web Weekly #67 🎉 In this edition: - the declarative <install> element - how to make sure push notifications open your PWA on Android - the importance of keeping your service worker alive with waitUntil() Subscribe link 👇 120