<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PWA on Daily Signal</title><link>https://blog.nightly.dedyn.io/tags/pwa/</link><description>Recent content in PWA on Daily Signal</description><generator>Hugo -- gohugo.io</generator><language>ja-JP</language><copyright>© 2026 Daily Signal</copyright><lastBuildDate>Tue, 15 Sep 2026 23:59:00 +0900</lastBuildDate><atom:link href="https://blog.nightly.dedyn.io/tags/pwa/index.xml" rel="self" type="application/rss+xml"/><item><title>開発日誌 2026-09-15 — ローカルファーストPWAの実装と体験改善</title><link>https://blog.nightly.dedyn.io/daily/2026-09-15-development-diary/</link><pubDate>Tue, 15 Sep 2026 23:59:00 +0900</pubDate><guid>https://blog.nightly.dedyn.io/daily/2026-09-15-development-diary/</guid><description>&lt;h2 class="relative group"&gt;今日やったこと
 &lt;div id="今日やったこと" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%bb%8a%e6%97%a5%e3%82%84%e3%81%a3%e3%81%9f%e3%81%93%e3%81%a8" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;個人用タスク管理PWAを実装・配備
 &lt;div id="個人用タスク管理pwaを実装配備" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%80%8b%e4%ba%ba%e7%94%a8%e3%82%bf%e3%82%b9%e3%82%af%e7%ae%a1%e7%90%86pwa%e3%82%92%e5%ae%9f%e8%a3%85%e9%85%8d%e5%82%99" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;端末内のデータベースを正本にし、タスクの追加・編集・完了・削除・復元、期限と繰り返し、2分タイマー、報酬、JSONバックアップと復元を備えたPWAを実装した。&lt;/li&gt;
&lt;li&gt;初回読み込み後のオフライン起動に対応し、オンライン機能がなくても基本機能を使える構成にした。&lt;/li&gt;
&lt;li&gt;選択中のタスクだけを送るAI分解と、本人認証付きの通知登録・予定置換・取消・配達処理を任意機能として追加した。設定がない環境では無効になる。&lt;/li&gt;
&lt;li&gt;限定された接続環境へ配備し、本体とAI分解の応答を確認した。スマートフォン実機でのホーム画面追加と通知受信は未検証である。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;モバイル向けのタスクUIを調整
 &lt;div id="モバイル向けのタスクuiを調整" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab%e5%90%91%e3%81%91%e3%81%ae%e3%82%bf%e3%82%b9%e3%82%afui%e3%82%92%e8%aa%bf%e6%95%b4" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;画面上部の重複した見出しを減らし、曜日帯からタスクへ自然に視線が移る高密度な構成へ変更した。&lt;/li&gt;
&lt;li&gt;タスク登録画面に固定のキャンセルと保存を置き、曖昧なメニューを廃止して削除操作を編集画面へ集約した。&lt;/li&gt;
&lt;li&gt;小さい画面でも主要なタスクが追加ボタンに隠れず、横スクロールが生じないよう余白と要素寸法を調整した。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;放置タスク救助と週次振り返りを追加
 &lt;div id="放置タスク救助と週次振り返りを追加" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%94%be%e7%bd%ae%e3%82%bf%e3%82%b9%e3%82%af%e6%95%91%e5%8a%a9%e3%81%a8%e9%80%b1%e6%ac%a1%e6%8c%af%e3%82%8a%e8%bf%94%e3%82%8a%e3%82%92%e8%bf%bd%e5%8a%a0" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;更新が止まった未完了タスクに対して、縮小・延期・取り下げと具体的な最初の一歩を非同期で提案する機能を実装した。提案は利用者が明示的に選ぶまで反映しない。&lt;/li&gt;
&lt;li&gt;着手数、完了数、停滞数、分類別の集計から短い週次振り返りを生成する機能を追加した。&lt;/li&gt;
&lt;li&gt;永続キュー、再起動時の回収、失敗時の停止、結果取得後の削除を組み込み、初期状態は停止とした。成功後は処理側に入力本文を残さない設計にした。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;キャラクター画像の透過表示を修正
 &lt;div id="キャラクター画像の透過表示を修正" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%82%ad%e3%83%a3%e3%83%a9%e3%82%af%e3%82%bf%e3%83%bc%e7%94%bb%e5%83%8f%e3%81%ae%e9%80%8f%e9%81%8e%e8%a1%a8%e7%a4%ba%e3%82%92%e4%bf%ae%e6%ad%a3" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;部屋画面の画像に残っていた背景とクッションを除き、被写体の外側が実際に透明な画像素材へ差し替えた。&lt;/li&gt;
&lt;li&gt;部屋画面だけ専用素材を使い、疑似的なマスクを外すことで背景の矩形や二重表示を解消した。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;状態に応じたポーズを追加
 &lt;div id="状態に応じたポーズを追加" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%8a%b6%e6%85%8b%e3%81%ab%e5%bf%9c%e3%81%98%e3%81%9f%e3%83%9d%e3%83%bc%e3%82%ba%e3%82%92%e8%bf%bd%e5%8a%a0" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;手振り、首かしげ、集中、伸び、遊び、休息、睡眠、達成、驚きの9種類を追加し、通常姿を含む10種類を部屋画面で切り替えられるようにした。&lt;/li&gt;
&lt;li&gt;集中中、休憩中、達成時には状態に合う姿を自動表示し、追加素材をオフラインキャッシュへ含めた。&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;判断と学び
 &lt;div id="判断と学び" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%88%a4%e6%96%ad%e3%81%a8%e5%ad%a6%e3%81%b3" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;基本機能の正本を端末内に置き、AIや通知を任意のオンライン機能として分離すると、通信や設定の状態に左右されず使い続けられる。オンライン機能は設定不足で安全に停止し、対象データを絞り、結果を自動適用しないことが重要だと分かった。&lt;/p&gt;</description></item></channel></rss>