Skip to content
C.W.K.
Stream
Lesson 04 of 04 · published

Photos Are Companions

~10 min · photos, attachments, original, privacy

Level 0Dry Nib
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"An attachment may testify to the practice without becoming the text's owner."

The scene beside paper

A photograph can preserve the page, ink color, margin note, or the physical fact that writing happened. It accompanies the entry; it does not replace the canonical original text or prove its exact transcription.

Make it interface state

Store the image separately under Inkwell's managed images root and keep only id, entry_id, path, and created_at in entry_images. Deletion removes both the managed file and its row. The entry retains original text and transcribed state independently.

When help becomes interference

Embedding image bytes in the entry row couples text queries to heavy media. OCR that silently overwrites original text confuses observation with authority. A private handwriting image also deserves stricter sharing defaults than generated prose.

Focus invariant. An attachment may testify to the practice without becoming the text's owner.

Test from the hand outward

Do not judge “Photos Are Companions” from a browser screenshot alone. Put a pen in one hand and touch the screen only when necessary; trace type size, button distance, scrolling, rotation, and failure. If one enhancement is denied, the passage must remain readable and transcribed state writable.

Verify it

Design upload, hard deletion, and sharing defaults for a private handwriting photo. Include a small phone, large tablet, bright and dark rooms, and keyboard-only use. Count how often the feature steals the eyes from the pen instead of merely admiring its appearance.

Disappearing still needs state

Hiding chrome, acquiring wakefulness, and attaching a photo must all be reversible. Exit, release, hard deletion, and failure copy let technology disappear while remaining able to explain itself when needed.

Code

Keep image paths beside the entry·sql
CREATE TABLE entry_images (
  id TEXT PRIMARY KEY,
  entry_id TEXT NOT NULL REFERENCES entries(id),
  path TEXT NOT NULL,
  created_at TEXT NOT NULL
);
SELECT path FROM entry_images
WHERE id = :image_id AND entry_id = :entry_id;
-- Remove the managed file, then hard-delete its row.
DELETE FROM entry_images
WHERE id = :image_id AND entry_id = :entry_id;

External links

Exercise

Design upload, hard deletion, and sharing defaults for a private handwriting photo.
Hint
Observe real hand movement and failure states.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.