One Wrapper, Three Documents
The Public Library used to share only task templates. Today it learned to hold memo templates and preparation items too — and a well-designed wrapper made most of it enumeration, not design.
One Wrapper, Three Documents
Fecit’s community has a Public Library: wrap one of your task templates in a shared post, and others can preview it and take it home. Today the library’s door got wider. Where only task templates used to fit, memo templates and preparation catalog items now fit too.
The overview was a wrapper all along
Internally a shared post is called an Overview. Looking at its structure again, the fact that it was designed as a wrapper from day one turned out to be both the starting point and the shortcut for today’s work.
When you create an overview, your template isn’t linked directly. A public copy is duplicated, and the overview points at that copy. The original stays in your drawer, living its own life regardless of later edits; delete the post and the copy goes with it. Downloading means duplicating that public copy once more, into the taker’s space.
The payoff of this shape shows up at extension time. Want to hold a memo template? Use the same grammar once more. Memos already had a duplication routine from guild donations; adding a single “visibility of the copy” parameter produced the public copy an overview needs. Download and delete line up neatly beside the existing task paths.
Holding something that isn’t a document
The preparation catalog was a different story. A catalog item — a piece of camping gear, say — isn’t a document. It’s an object in a personal storage box, and it has no concept of visibility. Make a copy and put it in the catalog collection, and that copy shows up in the owner’s own storage screen.
So here the method changed: snapshot instead of copy. The item’s contents get embedded wholesale into the overview document itself. No separate document means no visibility question; the preview rides along in the overview response, so no extra fetch either. Taking it home appends the snapshot to the same category at the end of your own storage box.
Two different machines now run behind the same “share” button — and that’s not inconsistency, it’s fidelity to what’s being shared. Documents get a document’s method; objects get an object’s.
Don’t lump the names
One decision about exposure: preparation items are not lumped under a single “Catalog” label. They appear as their concrete categories — materials, tools, venue, personnel, papers. The person sharing has “my camping gear list” in mind, not “my catalog.”
The right shape was the third one
With seven kinds, browsing needed a UI. First attempt: a row of filter chips above the list. On screen, chips stacked two rows above the titles and pushed the actual content down. Second attempt: sub-rows folded under the Public Library entry in the sidebar. Now section navigation and kind navigation shared one column and blurred together.
The third shape settled it: one more sidebar, dedicated to kinds. It splits into a Templates section (task, memo) and a Catalog section (the five preparation categories), and its width adjusts by drag. The list items dropped their kind badges — the bar already says what you’re looking at, so titles get the full width.
This kind of iteration isn’t knowable from code. Each shape took ten minutes to build, and only pressing them by hand on a real screen showed which one fit.
What today taught
When a wrapper is well designed, extension becomes enumeration rather than new design. Most of today’s server work was transcription — “what task did, memo now does too.” Real design was only needed where the subject’s nature differed, as with the catalog. And even there, respecting the subject’s nature narrowed the answer on its own.