自主概念作品
Fieldnote
為離開辦公桌工作的人設計的離線優先現場紀錄。
構想
現場走訪很少剛好在穩定連線旁進行。筆記可能散落於相簿、語音與另一份清單。Fieldnote 是一項自主概念作品:以一次走訪為單位,把這些素材放在同一個行動 App。
設想從本機紀錄開始,而不是等待載入。使用者應能開始走訪、切換擷取工作,並在沒有成功網路請求時離開 App。裝置必須先能獨立使用;伺服器是之後的協調點,不是每次操作的通行證。
真正的問題不只是能否上傳,而是在無法上傳時產品該如何誠實呈現。本機資料、已確認的共用紀錄與衝突中的不確定性應被區分。連結的 App 已有本機擷取與儲存;同步與共用紀錄尚未建置。
同步路徑
- 在任何傳輸前,先把走訪紀錄寫入本機儲存。
- 裝置離線時將操作排入佇列;網路可用時再重新連線。
- 協調時比對本機與共用版本。
- 變更相容時,走金色路徑完成合併。
- 發生衝突時,保留版本並走藍綠色例外路徑交由人工裁決。
這張圖只做一個窄承諾:連線失敗不應抹去本機觀察;它不假裝每一項編輯都可自動合併。
設計決策
先在本機寫入,再嘗試同步。
提案採用本機資料庫和待處理操作佇列。網路中斷只延遲傳輸,不阻礙記錄。
附件與走訪紀錄分開。
照片與音訊各有傳輸狀態,文字不必等待大型檔案上傳。
顯示衝突,不默默覆寫。
同時編輯時保留兩個版本供審閱;最後寫入覆蓋的簡單做法被排除。
讓下一步在手邊。
短清單讓擷取路徑維持可見,也保留權限被拒絕時的替代路徑。
可做的事
以下清單是真實核取方塊,可用鍵盤或指標操作。這個網頁示範僅在頁面內運作;要使用本機走訪、清單、照片、語音、觀察與匯出,請開啟 Fieldnote App(英文介面)。它沒有同步、帳號、分享或伺服器。
走訪清單離線概念
走訪現場。
準備好記錄觀察。
技術組合
提案:行動介面採 TypeScript 的 React Native、本機紀錄採 SQLite,共用狀態採 PostgreSQL 支援的 API,附件使用獨立物件儲存。這些是架構候選,不是已確認實作。
狀態
已完成本機擷取。此自主概念 App 可在裝置瀏覽器建立走訪、保存清單、文字觀察、照片與語音,並匯出為單一下載檔。沒有後端、帳號、分享、同步、伺服器端紀錄或衝突處理;不是客戶委託,也不是已發表產品。