# PWA

Progressive web apps (PWAs) are applications built with web technologies that can be installed and run across devices from a single codebase.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## New in Edge for developers - Style layout gaps, improve keyboard accessibility and migrate your PWA to a new origin

DevFeed: [New in Edge for developers - Style layout gaps, improve keyboard accessibility and migrate your PWA to a new origin](<https://devfeed.tech/articles/new-in-edge-for-developers-style-layout-gaps-improve-keyboard-accessibility-and-migrate-your-pwa-to-a-new-origin-4249.md>)

Original publisher: [Read original article](<https://blogs.windows.com/msedgedev/2026/07/07/new-in-edge-for-developers-style-layout-gaps-improve-keyboard-accessibility-and-migrate-your-pwa-to-a-new-origin/>)

Author: Patrick Brosset

Published: 2026-07-07T16:04:36Z

Content type: article

Language: en

Sources: [Microsoft Edge Blog](<https://devfeed.tech/sources/microsoft-edge-blog.md>)

Topics: [Edge](<https://devfeed.tech/topics/edge.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [CSS](<https://devfeed.tech/topics/css.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Agent Skill](<https://devfeed.tech/topics/agent-skill.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [agent-skill](<https://devfeed.tech/tags/agent-skill.md>), [css](<https://devfeed.tech/tags/css.md>), [developers](<https://devfeed.tech/tags/developers.md>), [edge](<https://devfeed.tech/tags/edge.md>), [platform](<https://devfeed.tech/tags/platform.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [updates](<https://devfeed.tech/tags/updates.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

This first edition of a Microsoft Edge developer series covers recent web platform updates: CSS gap decorations, the focusgroup attribute for keyboard navigation, same-site PWA origin migration, and additional rendering, text, layout, clipboard, and performance improvements. It also highlights upcoming features and a broader ecosystem update involving an AI coding agent skill.

### Source excerpt

Welcome to New in Edge for developers, a new series featuring recent web platform updates in Microsoft Edge that help web developers build better sites and apps. In this first edition, we'll look at CSS gap de The post New in Edge for developers - Style layout gaps, improve keyboard accessibility and migrate your PWA to a new origin appeared first on Microsoft Edge Blog.

## Seamless PWA origin migration: Change domains without losing users

DevFeed: [Seamless PWA origin migration: Change domains without losing users](<https://devfeed.tech/articles/seamless-pwa-origin-migration-change-domains-without-losing-users-4143.md>)

Original publisher: [Read original article](<https://developer.chrome.com/blog/seamless-pwa-origin-migration?hl=en>)

Author: Dibyajyoti Pal LinkedIn Dan Murphy X LinkedIn Marijn Kruisselbrink LinkedIn

Published: 2026-06-03T07:00:00Z

Content type: article

Language: en

Sources: [developer.chrome.com: Blog](<https://devfeed.tech/sources/developer-chrome-com-blog.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [Security](<https://devfeed.tech/topics/security.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Web](<https://devfeed.tech/topics/web.md>), [Web app](<https://devfeed.tech/topics/webapp.md>)

Tags: [chrome](<https://devfeed.tech/tags/chrome.md>), [dialog](<https://devfeed.tech/tags/dialog.md>), [feature](<https://devfeed.tech/tags/feature.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [manifest](<https://devfeed.tech/tags/manifest.md>), [migration](<https://devfeed.tech/tags/migration.md>), [security](<https://devfeed.tech/tags/security.md>), [update](<https://devfeed.tech/tags/update.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [web](<https://devfeed.tech/tags/web.md>), [web-apps](<https://devfeed.tech/tags/web-apps.md>)

### AI overview

Chrome 150 introduces PWA Origin Migration, allowing installed Progressive Web Apps to transition to a new same-site origin while keeping users informed through an update dialog. The article explains the old and destination manifest requirements, the migration handshake, rollout behavior, and update considerations.

### Source excerpt

From Chrome 150 you can seamlessly transition a PWA to a new same-site origin.

## EverShelf - The AI-Powered, Self-Hosted Inventory Brain for Your Kitchen

DevFeed: [EverShelf - The AI-Powered, Self-Hosted Inventory Brain for Your Kitchen](<https://devfeed.tech/articles/evershelf-the-ai-powered-self-hosted-inventory-brain-for-your-kitchen-10730.md>)

Original publisher: [Read original article](<https://noted.lol/evershelf/>)

Author: EverShelf Project

Published: 2026-05-15T13:24:25Z

Content type: article

Language: en

Sources: [Noted](<https://devfeed.tech/sources/noted.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [Livewire](<https://devfeed.tech/topics/livewire.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [Tailwind CSS](<https://devfeed.tech/topics/tailwind.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [app](<https://devfeed.tech/tags/app.md>), [docker](<https://devfeed.tech/tags/docker.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [self-hosted-web-tools](<https://devfeed.tech/tags/self-hosted-web-tools.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

EverShelf is a self-hosted kitchen inventory management system built with Laravel, Livewire, Alpine.js, and Tailwind CSS. It runs on personal hardware via Docker and supports mobile/PWA use, kiosk mode, batch-based FIFO inventory tracking, BLE scale integration, and AI recipe suggestions.

### Source excerpt

Kill "Pantry Amnesia" and stop food waste with EverShelf--a TALL stack inventory system featuring BLE scale integration, AI recipe suggestions, and a dedicated kitchen kiosk mode.

## How to Accept Payments in a Progressive Web App (PWA)

DevFeed: [How to Accept Payments in a Progressive Web App (PWA)](<https://devfeed.tech/articles/how-to-accept-payments-in-a-progressive-web-app-pwa-9542.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/accept-payments-pwa/>)

Author: Ayush Agarwal

Published: 2026-03-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [app-store](<https://devfeed.tech/tags/app-store.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [payment-processing](<https://devfeed.tech/tags/payment-processing.md>), [payments](<https://devfeed.tech/tags/payments.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [saas](<https://devfeed.tech/tags/saas.md>), [subscriptions](<https://devfeed.tech/tags/subscriptions.md>), [tax](<https://devfeed.tech/tags/tax.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

This guide explains how to add payment processing to a Progressive Web App using Dodo Payments. It covers web checkout, subscription states, and tax compliance for global SaaS distribution.

### Source excerpt

Guide to adding payment processing to Progressive Web Apps. Avoid app store fees, use web checkout, and handle subscriptions with automatic tax compliance.

## HarborFM - Self-Hosted Podcast Creator

DevFeed: [HarborFM - Self-Hosted Podcast Creator](<https://devfeed.tech/articles/harborfm-self-hosted-podcast-creator-10731.md>)

Original publisher: [Read original article](<https://noted.lol/harborfm/>)

Author: Logan Rickert

Published: 2026-02-20T18:37:34Z

Content type: article

Language: en

Sources: [Noted](<https://devfeed.tech/sources/noted.md>)

Topics: [Open Source](<https://devfeed.tech/topics/open-source.md>), [App](<https://devfeed.tech/topics/app.md>), [RSS Feed](<https://devfeed.tech/topics/rss-feed.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [WebRTC](<https://devfeed.tech/topics/webrtc.md>), [asr](<https://devfeed.tech/topics/asr.md>), [Whisper](<https://devfeed.tech/topics/whisper.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [asr](<https://devfeed.tech/tags/asr.md>), [audio](<https://devfeed.tech/tags/audio.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [open](<https://devfeed.tech/tags/open.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [podcast](<https://devfeed.tech/tags/podcast.md>), [rss](<https://devfeed.tech/tags/rss.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [self-hosted-media-streaming-audio-streaming](<https://devfeed.tech/tags/self-hosted-media-streaming-audio-streaming.md>), [transcripts](<https://devfeed.tech/tags/transcripts.md>), [vision](<https://devfeed.tech/tags/vision.md>), [webrtc](<https://devfeed.tech/tags/webrtc.md>), [whisper](<https://devfeed.tech/tags/whisper.md>)

### AI overview

HarborFM is presented as a free, open-source, self-hosted podcast creation tool. It lets users assemble episodes from reusable audio segments, publish per-show RSS feeds, record remote guests through WebRTC, collaborate on episodes, manage private feeds, and view analytics. It also supports podcast chapters, Whisper-based transcription, and AI summaries.

### Source excerpt

Take back your podcast data! HarborFM is a free and open source platform to create and host your podcasts.

## Smart photo organization through privacy-first, on-device AI

DevFeed: [Smart photo organization through privacy-first, on-device AI](<https://devfeed.tech/articles/smart-photo-organization-through-privacy-first-on-device-ai-16636.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2025/10/privacy-first-on-device-ai>)

Author: Cynthia Wang

Published: 2025-10-15T08:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [On-device AI](<https://devfeed.tech/topics/on-device-ai.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-logic](<https://devfeed.tech/tags/ai-logic.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [hybrid-inference](<https://devfeed.tech/tags/hybrid-inference.md>), [on-device](<https://devfeed.tech/tags/on-device.md>), [on-device-ai](<https://devfeed.tech/tags/on-device-ai.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [web](<https://devfeed.tech/tags/web.md>), [web-browser](<https://devfeed.tech/tags/web-browser.md>)

### AI overview

This Firebase tutorial explains how to build a privacy-focused photo organization progressive web app using on-device AI. It describes running a local model in the browser so photos remain on the user's device and can be analyzed offline, with Firebase AI Logic SDKs detecting and caching compatible models such as Gemini Nano and providing a fallback approach for other browsers.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Apple's Dispute With the EU Over DMA Compliance and Browser Competition

DevFeed: [Apple's Dispute With the EU Over DMA Compliance and Browser Competition](<https://devfeed.tech/articles/apple-s-antitrust-playbook-26556.md>)

Original publisher: [Read original article](<https://infrequently.org/2025/09/apples-antitrust-playbook/>)

Author: Alex Russell

Published: 2025-09-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Alex Russell](<https://devfeed.tech/sources/alex-russell.md>)

Topics: [browser](<https://devfeed.tech/topics/browser.md>), [Security](<https://devfeed.tech/topics/security.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [competition](<https://devfeed.tech/tags/competition.md>), [dma](<https://devfeed.tech/tags/dma.md>), [eu](<https://devfeed.tech/tags/eu.md>), [geofencing](<https://devfeed.tech/tags/geofencing.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [pdf](<https://devfeed.tech/tags/pdf.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [security](<https://devfeed.tech/tags/security.md>), [webdev](<https://devfeed.tech/tags/webdev.md>)

### AI overview

The article argues that Apple is misrepresenting the European Union's enforcement of the Digital Markets Act and shifting responsibility for its own compliance decisions onto regulators. It focuses on alleged barriers affecting browser competition on iOS, including geofencing, restricted PWA and Push Notification APIs, SDK bugs, and difficult development entitlements.

### Source excerpt

Contents Lies by Any Other Name Great Artists Steal Dear Tech Reporters: Access Is Not A Beat This blog is failing on several levels. First, September 2025 is putting the "frequent" in "infrequently", much to my chagrin. Second, my professional mission is to make a web that's better for everyone, not to tear Apple down. But just when I thought I was out, they pull me back in. Over the past 24 hours, Cupertino has played the hits from its iPhone-era anti-user, anti-business, anti-rule-of-law power trip. To recap: Apple sent a demand that the EU give up on DMA enforcement in a petulant and utterly misleading press release that mostly served to catalogue Apple's own failures to comply. Cupertino's kept astroturf outfit -- ACT | The App Association -- penned unhinged misinformation for consumption by US regulatory types (h/t Damien Geradin). The EC then called Apple's bluff. Make no mistake about what's going on: Apple is claiming that the EU is forcing Apple to adopt interpretations of the DMA that no other party has, which the EC itself has not backed, and which are "forcing" Apple to avoid shipping features in the EU. Or, put another way, Apple wants to launder the consequences of its own anticompetitive, anti-user choices through a credulous tech press. The goal is to frame regulators for Apple's own deeds. Lies by Any Other Name If this smells like bullshit, that's because it is. Apple tried similar ploys last year when it sprung a blatant attempt to kill PWAs on the EU as a price for having the temerity to regulate. The plan, it seemed then, was to adopt an exotic reading of the DMA and frame the EC for killing PWAs. What Apple's attempting now is even more brazen, particularly after 16+ months of serial non-compliance since the DMA came into force (h/t OWA). Remember that: Apple's browser, and by extension every iOS browser, fails on basic security and privacy controls, putting users at risk constantly. Apple serially misrepresents this situation to anyone who will

## Apply blur to iOS status bar in PWA

DevFeed: [Apply blur to iOS status bar in PWA](<https://devfeed.tech/articles/apply-blur-to-ios-status-bar-in-pwa-37332.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/pwa-ios-status-bar-blur/>)

Author: Stanko

Published: 2025-04-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [CSS](<https://devfeed.tech/topics/css.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [background](<https://devfeed.tech/tags/background.md>), [code](<https://devfeed.tech/tags/code.md>), [css](<https://devfeed.tech/tags/css.md>), [ios](<https://devfeed.tech/tags/ios.md>), [pwa](<https://devfeed.tech/tags/pwa.md>)

### AI overview

This tutorial describes a CSS-based workaround for applying a blurred overlay to the iOS status bar area in a standalone PWA. The workaround uses a fixed element positioned outside the viewport and backdrop filtering, but an August 2026 update states that it no longer works on recent iOS versions because of WebKit changes.

### Source excerpt

Update August 2026: This workaround no longer works on recent iOS versions. WebKit changed how standalone PWAs handle the status bar area. The fixed overlay positioned outside the viewport no longer renders under the status bar. I haven't found a workaround for this yet. If you find a solution please let me know. On my current project, I'm making a Progressive Web App (PWA) and I was really annoyed that the status bar on iOS was completely transparentAlthough the option is called black-translucent. When the content scrolls behind it, it blends with the status bar elements, and it doesn't look great. I couldn't find a native solution, so I tried using CSS instead. To my surprise, my idea worked on the first try. Here is my solution next to the default iOS status bar: After applying the CSS solutionDefault If you are impatient, feel free to jump to the demo. The solution # I think the solution is pretty simple - a fixed div that covers the status bar area and applies a blur effect to the background. But there's a catch, the div needs to be positioned outside of the viewport. Here is the code, HTML first: <div class="statusbar"></div> and the CSS: body { --bg-color: 186 230 253; background-color: rgb(var(--bg-color)); } .statusbar { position: fixed; left: 0; right: 0; top: -80px; height: 80px; overflow: hidden; z-index: 100; } .statusbar::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 150%; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); background-color: rgb(var(--bg-color) / 0.6); } The CSS can be even simpler - we can remove the ::before element and just apply the blur to the .statusbar element itself. But this gives a nicer, more natural blur effect - check Josh Comeau's blog post in which he explains it in detail. Demo # You can check the live demo, just remember that you'll need an iOS device to see the effect. Not just that - for the effect to be visible, you'll need to add the app to your home screen. If you don't w

## A vanilla Rails stack is plenty

DevFeed: [A vanilla Rails stack is plenty](<https://devfeed.tech/articles/a-vanilla-rails-stack-is-plenty-33494.md>)

Original publisher: [Read original article](<https://dev.37signals.com/a-vanilla-rails-stack-is-plenty/>)

Author: Jorge Manrubia

Published: 2024-12-12T18:00:00Z

Content type: opinion

Language: en

Sources: [37signals Dev](<https://devfeed.tech/sources/37signals-dev.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Hotwire](<https://devfeed.tech/topics/hotwire.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Stimulus](<https://devfeed.tech/topics/stimulus.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [frameworks](<https://devfeed.tech/tags/frameworks.md>), [hotwire](<https://devfeed.tech/tags/hotwire.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [stimulus](<https://devfeed.tech/tags/stimulus.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

The article recommends a vanilla Rails 8 stack with minimal Ruby and JavaScript dependencies, server-rendered views, Hotwire, import maps, standard CSS, relational-database-backed services, Minitest, PWAs, and Kamal deployment. It presents this approach as 37signals' balance of productivity, user experience, and long-term maintainability.

### Source excerpt

Minimal dependencies, maximum productivity. Staying vanilla pays long term dividends for your Rails apps.

## Apple's iOS 17.4 Changes Threaten Progressive Web App Features in the EU

DevFeed: [Apple's iOS 17.4 Changes Threaten Progressive Web App Features in the EU](<https://devfeed.tech/articles/home-screen-advantage-26541.md>)

Original publisher: [Read original article](<https://infrequently.org/2024/02/home-screen-advantage/>)

Author: Alex Russell

Published: 2024-02-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Alex Russell](<https://devfeed.tech/sources/alex-russell.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Web](<https://devfeed.tech/topics/web.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [competition](<https://devfeed.tech/tags/competition.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [device-apis](<https://devfeed.tech/tags/device-apis.md>), [dma](<https://devfeed.tech/tags/dma.md>), [geofencing](<https://devfeed.tech/tags/geofencing.md>), [ios](<https://devfeed.tech/tags/ios.md>), [push-notifications](<https://devfeed.tech/tags/push-notifications.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [shortcuts](<https://devfeed.tech/tags/shortcuts.md>), [web](<https://devfeed.tech/tags/web.md>), [webdev](<https://devfeed.tech/tags/webdev.md>)

### AI overview

The article argues that Apple's iOS 17.4 changes in the EU will restrict progressive web app capabilities, including storage, push notifications, app-like interfaces, and device APIs. It contrasts the threatened changes with continued PWA support on Windows and Android and frames them as a response to the EU Digital Markets Act.

### Source excerpt

Update: OWA is out with an open letter appealing to Apple to do better. If you care about the future of the web, I encourage you to sign it, particularly if you live in the EU or build products for the common market. After weeks of confusion and chaos, Apple's plan to kneecap the web has crept into view, menacing a PWApocalypse as the March 6th deadline approaches for compliance with the EU's Digital Markets Act (DMA). The view from Cupertino. The DMA requires Apple to open the iPhone to competing app stores, and its lopsided proposal for "enabling" them is getting most of the press. But Apple knows it has native stores right where it wants them. Cupertino's noxious requirements will take years to litigate. Meanwhile, potential competitors are only that. But Cupertino can't delay the DMA's other mandate: real browsers, downloaded from Apple's own app store. Since it can't bar them outright, it's trying to raise costs on competitors and lower their potential to disrupt Apple's cozy monopoly. How? By geofencing browser choice and kneecapping web apps, all while gaslighting users about who is breaking their web apps. The immediate impact of iOS 17.4 in the EU will be broken apps and lost data, affecting schools, governments, startups, gamers, and anyone else with the temerity to look outside the one true app store for even a second. None of this is required by the DMA, as demonstrated by continuing presence of PWAs and the important features they enable on Windows and Android, both of which are in the same regulatory boat. The data loss will be catastrophic for many, as will the removal of foundational features. Here's what the landscape looks like today vs. what Apple is threatening: PWA Capability Windows Android iOS 17.3 iOS 17.4 App-like UI ✅ ✅ ✅ ❌ Settings Integration ✅ ✅ ✅ ❌ Reliable Storage ✅ ✅ ✅ ❌ Push Notifications ✅ ✅ ✅ ❌ Icon Badging ✅ ✅ ✅ ❌ Share-to PWA ✅ ✅ ❌ ❌ App Shortcuts ✅ ✅ ❌ ❌ Device APIs ✅ ✅ ❌ ❌ Apple's support for powerful web apps wasn't stellar, b

## Safari 16.4 Adds Long-Delayed Web Platform Features

DevFeed: [Safari 16.4 Adds Long-Delayed Web Platform Features](<https://devfeed.tech/articles/safari-16-4-is-an-admission-26538.md>)

Original publisher: [Read original article](<https://infrequently.org/2023/02/safari-16-4-is-an-admission/>)

Author: Alex Russell

Published: 2023-02-22T00:00:00Z

Content type: opinion

Language: en

Sources: [Alex Russell](<https://devfeed.tech/sources/alex-russell.md>)

Topics: [WebKit](<https://devfeed.tech/topics/webkit.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [PWA](<https://devfeed.tech/topics/pwa.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [competition](<https://devfeed.tech/tags/competition.md>), [components](<https://devfeed.tech/tags/components.md>), [compression](<https://devfeed.tech/tags/compression.md>), [css](<https://devfeed.tech/tags/css.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [safari](<https://devfeed.tech/tags/safari.md>), [wasm](<https://devfeed.tech/tags/wasm.md>), [webdev](<https://devfeed.tech/tags/webdev.md>), [webrtc](<https://devfeed.tech/tags/webrtc.md>)

### AI overview

This commentary reviews Safari 16.4's web-platform additions, including PWA, Web Components, CSS, Web Codecs, WASM SIMD, compression, reporting, Canvas, and WebRTC changes. It argues that many features arrived years after Chromium implementations and notes some improvements remain limited to macOS and iPadOS.

### Source excerpt

If you're a web developer not living under a rock, you probably saw last week's big Safari 16.4 reveal. There's much to cheer, but we need to talk about why this mega-release is happening now, and what it means for the future. Contents WebKit's Roaring Twenties Good Things Come In Sixes What Changed? Headcount Is Destiny Early Innings But first, the list! WebKit's Roaring Twenties Apple's summary combines dozens of minor fixes with several big-ticket items. Here's an overview of the most notable features, prefixed with the year they shipped in Chromium: 2015: Web Push for iOS (but only for installed PWAs) 2020: PWA Badging API (for unread counts) and id support (making updates smoother) 2015: PWA installation for third-party browsers (but not to parity with "Smart Banners") A bevy of Web Components features, many of which Apple had held up in standards bodies for years1, including: 2019: Constructable Stylesheets (important for performance) 2019: Form participation and default ARIA role 2021: Declarative Shadow DOM for "SSR" Myriad small CSS improvements and animation fixes, but also: 2018: CSS Typed OM for faster styling from JavaScript 2020: CSS Custom Properties can now be animated 2019: <iframe> lazy loading 2017: Clear-Site-Data for Service Worker use at scale 2021: Web Codecs for video (but not audio) 2021: WASM SIMD for better ML and games 2020: Compression Streams 2018: Reporting API (for learning about crashes and metrics reporting) 2020: Screen Orientation & Screen Wake Lock APIs (critical for games) 2018: Offscreen Canvas (but only 2D, which isn't what folks really need) Critical usability and quality fixes for WebRTC A number of improvements look promising, but remain exclusive to macOS and iPadOS: Fullscreen API fixes AVIF and AV1 support The lack of iOS support for Fullscreen API on <canvas> elements continues to harm game makers; likewise, the lack of AVIF and AV1 holds back media and streaming businesses. Regardless, Safari 16.4 is astonishingly dens

## Breaking Out of the Box

DevFeed: [Breaking Out of the Box](<https://devfeed.tech/articles/breaking-out-of-the-box-4288.md>)

Original publisher: [Read original article](<https://alistapart.com/article/breaking-out-of-the-box/>)

Author: by Patrick Brosset

Published: 2021-12-09T15:00:00Z

Content type: article

Language: en

Sources: [A List Apart: The Full Feed](<https://devfeed.tech/sources/a-list-apart-the-full-feed.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [code](<https://devfeed.tech/tags/code.md>), [code-css](<https://devfeed.tech/tags/code-css.md>), [css](<https://devfeed.tech/tags/css.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>), [web-app](<https://devfeed.tech/tags/web-app.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

The article introduces the Window Controls Overlay feature for Progressive Web Apps (PWAs). It explains how PWAs combine website characteristics with native-app capabilities and can use the full desktop app window, including the area normally occupied by the title bar, to create more integrated and flexible interfaces.

### Source excerpt

CSS is about styling boxes. In fact, the whole web is made of boxes, from the browser viewport to elements on a page. But every once in a while a new feature comes along that makes us rethink our design approach. Round displays, for example, make it fun to play with circular clip areas. Mobile screen notches and virtual keyboards offer challenges to best organize content that stays clear of them. And dual screen or foldable devices make us rethink how to best use available space in a number of different device postures. Sketches of a round display, a common rectangular mobile display, and a device with a foldable display. These recent evolutions of the web platform made it both more challenging and more interesting to design products. They're great opportunities for us to break out of our rectangular boxes. I'd like to talk about a new feature similar to the above: the Window Controls Overlay for Progressive Web Apps (PWAs). Progressive Web Apps are blurring the lines between apps and websites. They combine the best of both worlds. On one hand, they're stable, linkable, searchable, and responsive just like websites. On the other hand, they provide additional powerful capabilities, work offline, and read files just like native apps. As a design surface, PWAs are really interesting because they challenge us to think about what mixing web and device-native user interfaces can be. On desktop devices in particular, we have more than 40 years of history telling us what applications should look like, and it can be hard to break out of this mental model. At the end of the day though, PWAs on desktop are constrained to the window they appear in: a rectangle with a title bar at the top. Here's what a typical desktop PWA app looks like: Sketches of two rectangular user interfaces representing the desktop Progressive Web App status quo on the macOS and Windows operating systems, respectively. Sure, as the author of a PWA, you get to choose the color of the title bar (using the

## Manipulating Screen Brightness on iOS and Android with Ionic React

DevFeed: [Manipulating Screen Brightness on iOS and Android with Ionic React](<https://devfeed.tech/articles/who-turned-on-the-lights-19126.md>)

Original publisher: [Read original article](<https://medium.com/rbi-tech/who-turned-on-the-lights-579c12fda6b?source=rss----904782439303---4>)

Author: Alejandra Del Valle

Published: 2020-08-20T19:06:20Z

Content type: tutorial

Language: en

Sources: [RBI Tech](<https://devfeed.tech/sources/rbi-tech.md>)

Topics: [Ionic](<https://devfeed.tech/topics/ionic.md>), [React](<https://devfeed.tech/topics/react.md>), [React Hooks](<https://devfeed.tech/topics/react-hooks.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [components](<https://devfeed.tech/tags/components.md>), [development](<https://devfeed.tech/tags/development.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ionic](<https://devfeed.tech/tags/ionic.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [react](<https://devfeed.tech/tags/react.md>), [react-hooks](<https://devfeed.tech/tags/react-hooks.md>)

### AI overview

This tutorial discusses controlling screen brightness on iOS and Android using Ionic React and Ionic React Hooks, including the package's Capacitor API wrappers and support for shared-codebase applications across mobile, desktop, and PWA targets.

### Source excerpt

Manipulating Screen Brightness on iOS and Android Devices Undoubtedly one of the most annoying side effects our phones have is its ability to change screen brightness dynamically. Whether it's a setting enabled on your device to automatically adjust brightness based on your environment, or an app you downloaded manipulates it based on its needs, sometimes it's just out of your control. Maybe you're an avid digital content creator and having your screen brightness at its max is to help your content be "pixel-perfect" and edited just the way you want. Maybe you're visiting a store and need to scan your screen to quickly and easily pay for something without fumbling through your wallet or purse. Or, maybe you're at a show or at home for a movie night and having your screen brightness as low as possible is important to one, not blind you, and two, not blind your neighbors. Whatever the backstory, it's important for the apps we use to consider how we use our phones in our day-to-day lives to create a seamless experience that users will enjoy. Let's look at how we can help with this experience in native development using Ionic React with Ionic React Hooks (recently renamed to React Hooks for Capacitor). Keep reading if you have basic experience with React and React Hooks. If not, I would suggest getting familiar with React and then hop back on over! Why Ionic React? Short answer? Ionic React is ultimately just... React. Music to my ears. Ionic React is also built using web components, making it compatible with a multitude of web libraries and supports iOS, Android, Desktop, and PWA (i.e. progressive web apps) all by using one shared codebase (I'm hearing music again...). Ionic React Hooks Re-introduced Ionic announced their launch of Ionic React Hooks back in December of 2019. It has recently been renamed and moved to the Capacitor Community org -- @capacitor-community/react-hooks. This package provides a collection of wrappers around Capacitor APIs along with a few other Ioni

## Codename One 6.0 "Chat" is now Live

DevFeed: [Codename One 6.0 "Chat" is now Live](<https://devfeed.tech/articles/codename-one-6-0-chat-is-now-live-19258.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/codename-one-6-0-chat-live/>)

Author: Shai Almog

Published: 2019-02-26T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Universal Windows Platform](<https://devfeed.tech/topics/uwp.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [release](<https://devfeed.tech/tags/release.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Codename One 6.0, nicknamed Chat, introduces Codename One Build, migrates cloud builds to Xcode 10.1, adds VM and Switch API changes, and implements reply push notifications. Codename One is an open-source mobile platform for Java and Kotlin developers.

### Source excerpt

We are thrilled to announce the release of Codename One 6.0 - Chat. Codename One is an open source "Write Once Run Anywhere" mobile platform for Java and Kotlin developers! With this release we introduced Codename One Build which is one of the biggest overhauls to the Codename One workflow since its inception. We also refined and updated many underlying technologies e.g. the xcode 10.1 migration, WKWebView support, push replies, badges on Android and much more.

## Install on Home Screen

DevFeed: [Install on Home Screen](<https://devfeed.tech/articles/install-on-home-screen-19331.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/install-home-screen/>)

Author: Shai Almog

Published: 2018-12-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [Web](<https://devfeed.tech/topics/web.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [guards](<https://devfeed.tech/tags/guards.md>), [hints](<https://devfeed.tech/tags/hints.md>), [install](<https://devfeed.tech/tags/install.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [screen](<https://devfeed.tech/tags/screen.md>), [web](<https://devfeed.tech/tags/web.md>), [web-apps](<https://devfeed.tech/tags/web-apps.md>)

### AI overview

This tutorial explains how Progressive Web Apps can be installed on a device home screen. It discusses the need for explicit browser installation prompts because desktop, mobile, and web platforms behave differently, and notes that the prompt is shown only once to avoid duplicate prompts.

### Source excerpt

We talked about our support for Progressive Web Apps before. We added quite a few enhancements since that support was introduced and it's a pretty powerful feature. Personally I consider it a killer feature, even if Google decides to ban your account you can still distribute your app. One of the cool features is the seamlessness. Most of the functionality "just works". However, there are some cases where we need explicit hints due to the different behavior of desktop/mobile and web.

## Codename One 4.0 "Taxi" is now Live

DevFeed: [Codename One 4.0 "Taxi" is now Live](<https://devfeed.tech/articles/codename-one-4-0-taxi-is-now-live-19256.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/codename-one-4-0-taxi-live/>)

Author: Shai Almog

Published: 2018-03-19T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [release](<https://devfeed.tech/tags/release.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Codename One 4.0, nicknamed Taxi, is an open-source mobile development release for Java and Kotlin developers. It adds Progressive Web App support, new device skins, updated iOS build tools, and improvements to native components, stability, unit testing, and continuous integration.

### Source excerpt

We are thrilled to announce the release of Codename One 4.0 - Taxi. Codename One is an open source "Write Once Run Anywhere" mobile solution for Java & Kotlin developers! This new release overhauled the way Codename One is updated, added support for Progressive Web Apps (PWA's), overhauled device skins & updated the backend iOS build tools. A major focus of this release is better support for peer (native) components, stability, unit testing and continuous integration.

## Progressive Web Apps

DevFeed: [Progressive Web Apps](<https://devfeed.tech/articles/progressive-web-apps-19450.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/progressive-web-apps/>)

Author: Steve Hannah

Published: 2018-01-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [Web app](<https://devfeed.tech/topics/webapp.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Android](<https://devfeed.tech/topics/android.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [manifest](<https://devfeed.tech/tags/manifest.md>), [offline](<https://devfeed.tech/tags/offline.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This article explains how Codename One apps can be deployed as Progressive Web Apps. It describes browser access, home-screen installation, offline behavior, native-app installation prompts, and customization of the web app manifest through build hints.

### Source excerpt

PWAs (Progressive Web Apps) are an extremely hot topic right now, and Codename One apps are very well suited to being deployed this way. In case you haven't been following the PWA buzz, the idea is that it's a web app that behaves like a native app. When they are first loaded in a user's browser, they behave like a normal responsive web app, but users can install them to their home screen just like native apps. At which point, they can behave as "offline-first" apps. Parts of this have been available for quite some time, but the concept of PWA brings a lot of little things under a single umbrella.

## PWAs with Polymer: a checklist

DevFeed: [PWAs with Polymer: a checklist](<https://devfeed.tech/articles/pwas-with-polymer-a-checklist-35537.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/polymer-pwa-checklist/>)

Author: Monica Dinculescu

Published: 2017-07-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [PWA](<https://devfeed.tech/topics/pwa.md>), [Web app](<https://devfeed.tech/topics/webapp.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Caching](<https://devfeed.tech/topics/caching.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [components](<https://devfeed.tech/tags/components.md>), [html](<https://devfeed.tech/tags/html.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

A practical checklist for turning a Polymer-based web app into a progressive web app. It covers generating icons, adding a manifest, bundling with Polymer CLI, registering a Service Worker, handling first paint and fallback content, and rendering without JavaScript. The article also describes a case study showing how these steps improved a Lighthouse score.

### Source excerpt

The Meownica Web App Workflow™ goes like this: Write bad code until the file is too long Refactor that code into some web components Repeat steps 1-2 until done Realize you forgot to do the PWA dance, so your app is scoring 45 on Lighthouse Make it into a PWA by doing basically the same steps every time. I'm not joking about step 5. It's all a bunch of fairly simple boilerplate and party tricks, that I copy paste from a couple of apps. This time I decided to make them into a checklist. This checklist is keen on the polymer cli, because I usually write apps that use Polymer. If you don't, you can replace the polymer cli with your favourite bundler/service-worker generator! If you just want the checklist, here it is. If you want to see how I made this checklist and how the Lighthouse score improved as I checked more items off, jump to the case-study! Checklist Step by step 1. 📝 Add a manifest.json 2. 🏃 Bundle with the Polymer CLI 3. 🤖 Add a Service Worker 4. 🎨 Fix first paint 🆗 🆒 Checklist generate icons (sizes: 48x48, 96x96, 144x144, 192x192, 512x512) [example] add a manifest.json [example] add the rest of the manifesty things to your index.html [example] add the polymer cli: npm install -g polymer-cli add a polymer.json [example] run polymer build register your Service Worker [example]. If you have a complicated app setup or caching strategy, you might want to generate a sw-precache-config.js file. add fallback content while your main element is updating [example]. As a general rule, I try to match this fallback content very closely to what the first paint of the element will actually be, so that there's no visual jank make sure that your page renders something without JavaScript [example] Provided your app isn't outrageously big (think: the only thing that will make loading 10MB of JavaScript up front better, is not loading 10MB of JavaScript), this should help put you somewhere in the green scores on Lighthouse. Step by step So, here's the post-game analysis of wh

## AppShip3000: A Firebase Game

DevFeed: [AppShip3000: A Firebase Game](<https://devfeed.tech/articles/appship3000-a-firebase-game-16209.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2017/07/appship3000-firebase-game>)

Author: Abe Haskins

Published: 2017-07-07T00:00:00Z

Content type: article

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Google](<https://devfeed.tech/topics/google.md>), [App](<https://devfeed.tech/topics/app.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [Database](<https://devfeed.tech/topics/database.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [database](<https://devfeed.tech/tags/database.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [games](<https://devfeed.tech/tags/games.md>), [google](<https://devfeed.tech/tags/google.md>), [google-i-o](<https://devfeed.tech/tags/google-i-o.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [leaderboard](<https://devfeed.tech/tags/leaderboard.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [realtime-database](<https://devfeed.tech/tags/realtime-database.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

The Firebase team describes AppShip3000, a collaborative trivia rocket game built to test Firebase at Google I/O 2017. The game uses Firebase Authentication, Cloud Functions, Realtime Database, and a progressive web app to manage sign-in, game associations, trivia questions, leaderboards, and rocket-flight images.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Why Traditional Pageview Tracking Fails for Modern Web Applications

DevFeed: [Why Traditional Pageview Tracking Fails for Modern Web Applications](<https://devfeed.tech/articles/how-we-track-pageviews-is-all-wrong-29507.md>)

Original publisher: [Read original article](<https://philipwalton.com/articles/how-we-track-pageviews-is-all-wrong/>)

Published: 2017-04-11T17:46:25Z

Content type: opinion

Language: en

Sources: [Philip Walton](<https://devfeed.tech/sources/philip-walton.md>)

Topics: [Web](<https://devfeed.tech/topics/web.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [PWA](<https://devfeed.tech/topics/pwa.md>), [browser](<https://devfeed.tech/topics/browser.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [browser](<https://devfeed.tech/tags/browser.md>), [data](<https://devfeed.tech/tags/data.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [pwa](<https://devfeed.tech/tags/pwa.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

The article argues that traditional analytics tools produce unrealistic pageview data for modern websites because they equate pageviews with full page loads. It examines Gmail, single-page applications, and progressive web apps as examples where users can interact with changing or offline content without reloading the page.

### Source excerpt

All analytics tools I know of track pageviews in a way that--to put it bluntly--simply doesn't work for a growing number of websites today and is completely incompatible with the direction the web is heading.