Why I Built PWA LAB: A Simple Place to Test Real PWA Behavior

Why I Built PWA LAB: A Simple Place to Test Real PWA Behavior Why I built PWA LAB While working with PWA behavior and home screen support in OJapp, I kept thinking the same thing. Reading the specification is not enough to understand how it actually behaves. Write a manifest.json, register a Service Worker, set display to standalone, and the site should open like an app. As an explanation, that sounds correct. But when I actually tested it on iPhone and Android, it was not that simple. That is why I built OJapp PWA LAB. PWA LAB is an experiment page for testing PWA settings and status while actually seeing what is happening. Even if you write it by the book, it may not behave the same way A PWA can be made with HTML, manifest.json, and a Service Worker. But in real use, the behavior changes a lot depending on the browser and OS. Something may work well in Android Chrome but not behave as expected in iPhone Safari. Something may look fine on desktop Chrome but appear differently on mobile. The Service Worker may be ACTIVE, but the page may still fail to display correctly offline. These things […]

How to Check PWA Status: Mode, Service Worker, Push, and Installable Explained

How to Check PWA Status: Mode, Service Worker, Push, and Installable Explained A PWA can be hard to understand if you only look at the page When you build a PWA, it can be surprisingly hard to tell whether it is actually working as a PWA. You may have written manifest.json, registered a Service Worker, and made the site addable to the home screen. But then you still wonder: is this really running as a PWA? Is the page opened as a normal website? Is it opened from the home screen in standalone mode? Is the Service Worker active? Is the browser treating it as installable? These things are not always obvious from the visual appearance alone. That is why I made a page called PWA LAB in OJapp. It is a simple experiment page for checking PWA status directly. In this article, I will use the status items shown in PWA LAB as examples and explain what to check when testing a PWA. MODE: is the page currently opened as a PWA? MODE shows whether the page is currently opened as a normal web page or as a PWA. For example, if the page is opened in a normal […]

How PWA Offline Support Works: Service Workers, Cache API, and Files to Cache

How PWA Offline Support Works: Service Workers, Cache API, and Files to Cache Conclusion: PWA offline support works by saving required files in advance To make a PWA work offline, you usually use a Service Worker. In simple terms, the browser saves files such as HTML, CSS, JavaScript, and images in advance. Then, when there is no network connection, the app can display the page using those saved files. So PWA offline support is not magic. It works because the files needed to run the app have already been cached. What you need for offline support When you add offline support to a PWA, there are three main things to think about. Service Worker Cache API A list of files to cache A Service Worker works like a background layer between the page and the network. When the page tries to load a file, the Service Worker can decide whether to fetch it from the network or return a saved version from the cache. What does a Service Worker actually do? A Service Worker is different from regular JavaScript. It is not mainly used to move buttons or update UI elements on the page. It is used to manage network […]

Why the PWA Install Button Does Not Appear: Common Causes and Fixes

Why the PWA Install Button Does Not Appear: Common Causes and Fixes Conclusion: the PWA install button only appears when the right conditions are met You may build what looks like a PWA, open it on a phone or PC, and still not see an install button. In most cases, this is not exactly a bug. It usually means the browser does not yet recognize the site as an installable web app. The common causes are a missing or incorrect manifest.json, an unregistered Service Worker, a non-HTTPS environment, or browser-specific install requirements that are not being met. A problem I ran into more than once While testing PWA behavior myself, I often hit the same confusing situation: the manifest was there, the page worked, but the browser still would not offer installation. That is what makes this problem annoying. From the outside, the site may look perfectly fine. But a PWA is not complete just because the HTML page works. The browser has to decide, “this is an installable web app.” If one required piece is missing, the install prompt may never appear. Cause 1: manifest.json is not being loaded correctly For a PWA, the Web App Manifest is one […]

Why Can’t I Save Images on iPhone? Fix Long Press Not Working (2026 Guide)

Why Can’t I Save Images on iPhone? Fix Long Press Not Working (2026 Guide) “Why can’t I save images on my iPhone?” If you’ve ever tried to save an image from a website and it didn’t work, you’re not alone. Nothing happens when you long press No “Save Image” option appears The image is saved, but you can’t find it The truth is simple: There isn’t just one reason. There are multiple causes—and each requires a different fix. This guide will help you identify the problem and fix it step by step. First: What’s Your Situation? Before trying random fixes, find the situation that matches yours: A: Long press does nothing B: No “Save Image” option appears C: Image is saved but not found D: You’re using an in-app browser (Twitter/X, Instagram, etc.) Jump to the section that matches your issue. A: Long Press Not Working If nothing happens when you press and hold an image, here are the common reasons: 1. The website blocks image saving Some websites intentionally disable long press to prevent copying or downloading images. In this case, there is no direct way to bypass it. 2. It’s not actually an image What looks like an […]

Is PWA Dead? The Reality in 2026 and How to Use It Correctly

Is PWA Dead? The Reality in 2026 and How to Use It Correctly “Is PWA dead?” A few years ago, Progressive Web Apps were expected to replace native apps. The idea was simple: build once on the web, and deliver an app-like experience everywhere. But in 2026, the situation looks very different. PWA is not dead. But the assumptions behind it have completely changed. 1. Why PWA Was So Promising PWA was designed to bring app-like capabilities to the web. No installation required Distributed via URL Offline support Push notifications In theory, this meant you could replace native apps with a single web-based solution. At the time, many believed that app stores might eventually become unnecessary. 2. The Reality in 2026: A Split Ecosystem Today, PWA behaves very differently depending on the platform. iOS (iPhone) Limited PWA support Unstable Service Worker behavior Offline features are not reliable Push notifications are restricted As a result, PWA does not fully work as an app replacement on iOS. Android Stable Service Worker support Reliable offline capabilities Working push notifications Near-native app experience On Android, PWA is still a practical and powerful solution. In other words, PWA didn’t fail — it split into two […]

Why iOS Changes Your PWA URL When Adding to Home Screen (Fix & Causes)

Why iOS Changes Your PWA URL When Adding to Home Screen (Fix & Causes) Have you ever added a web app to your iPhone home screen and noticed that the saved URL is different from the one you opened? For example, you open /petal/{token}, but the home screen icon points to /petal/@username instead. The cause is simple: your manifest.json configuration. The Cause: maskable Icon + start_url Here’s an example of a problematic manifest: { "name": "Business Card App", "short_name": "Petal", "display": "standalone", "start_url": "/petal/@ojapp", "icons": [ { "src": "/icon.png", "sizes": "192x192", "type": "image/png", "purpose": "maskable" } ] } At first glance, this looks fine. But it can trigger unexpected behavior on iOS: iOS treats the page as a PWA start_url is prioritized The current URL gets overridden In short, iOS saves the start_url instead of the current page URL. Why This Happens on iOS Safari on iOS usually ignores most of the manifest. However, when certain conditions are met, its behavior changes: display: standalone A maskable icon is present The app looks like a PWA Under these conditions, start_url may become active. That’s what caused this issue. How to Fix It 1. Update the icon purpose { "purpose": "any maskable" […]

Safari PWA Limitations: What Works and What Doesn’t (2026 Guide)

Safari PWA Limitations: What Works and What Doesn’t (2026 Guide) Progressive Web Apps (PWAs) are designed to make websites behave like native apps. However, on iPhone (Safari), PWA functionality is significantly limited. In this guide, we clearly explain what still works and what doesn’t in Safari as of 2026. Why Is PWA Limited on Safari? Safari has never fully supported PWAs compared to browsers like Chrome. After 2024, Apple introduced changes that further restricted PWA functionality. As a result, PWAs on iPhone are no longer reliable as a full app-like solution. What Works on Safari Despite the limitations, some features still work: Add to Home Screen (WebClip) Basic website rendering Light caching behavior Standard HTML, CSS, and JavaScript In short, Safari still supports normal web usage. What Doesn’t Work Properly Many core PWA features are limited or unstable: Reliable Service Worker behavior Full offline functionality True standalone app mode Consistent manifest support Stable cache control These limitations make PWAs unreliable on iOS. The Reality: WebClip Instead of Full PWA On iPhone, “Add to Home Screen” creates a WebClip, not a full PWA. Opens in Safari No real offline support No full app experience This is the most stable and realistic […]

How to Add a Website to Your iPhone Home Screen (2026 Guide)

How to Add a Website to Your iPhone Home Screen (2026 Guide) Did you know you can add any website to your iPhone home screen and use it like an app? This feature makes it easier to access your favorite tools, blogs, or services with just one tap. In this guide, we’ll walk you through how to add a website to your home screen step by step. What Does “Add to Home Screen” Do? “Add to Home Screen” allows you to save a website as an icon on your iPhone. Open the site instantly No need to search or bookmark Feels like launching an app This feature uses a system called WebClip. Step-by-Step Instructions 1. Open the Website in Safari First, open the website you want to add using Safari. 2. Tap the Share Button Tap the share icon (a square with an arrow pointing up) at the bottom of the screen. 3. Select “Add to Home Screen” Scroll down and tap “Add to Home Screen”. You can rename the icon if needed. Then tap “Add” to finish. Why It Might Not Work If you don’t see the option, check the following: You are using Safari (not Chrome or other […]

iOS PWA Not Working? Causes and Fixes (2026 Guide)

iOS PWA Not Working? Causes and Fixes (2026 Guide) “Why is my PWA not working on iPhone?” If you’re asking this, you’re not alone. Since 2024, many developers and users have run into this exact issue. Here’s the truth: On iOS, PWAs often don’t work as expected due to Safari limitations. In this guide, we’ll break down the real causes—and show you fixes you can try immediately. 1. Safari Limitations (The Main Cause) On iPhone, all browsers use Safari’s engine (WebKit). This means PWA behavior is entirely controlled by Safari. After 2024, Apple restricted several PWA features: Unstable Service Worker behavior Incomplete manifest support Broken standalone (app-like) display So even if your setup is correct, PWA may still not behave properly. 2. Cache Issues (Old Version Still Showing) PWAs rely heavily on caching. Sometimes, the problem is simply that the old version is still being served. Common symptoms: Icon doesn’t update UI changes don’t appear Old content keeps showing This is not a bug— it’s how caching is designed to work. 3. Service Worker Not Updating Service Workers don’t update automatically in all cases. This can lead to: Old Service Worker still controlling the app New code not being applied […]

>OJapp / Petal

OJapp / Petal

OJappは、Webページをそのままホーム画面に置ける仕組みを提供しています。
Petalは、その仕組みを使って “人のページを名刺のように持つ”ためのサービスです。
QRからすぐ開けて、ログインなしでも見れる。 でも、必要なときだけつながれる。
そんな「弱いつながり」を残すために作られています。

CTR IMG