CHAPELLIA
Rotate to unlock
SHOP NOW
CONTACT US
POPULAR SEARCHES
FEATURED
Strata Series
5 characters · Limited drop
ON SALE
Verify a Piece
Check authenticity
Hall of Fame
Top collectors
CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS
CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS CHAPELLIA FREE SHIPPING ON ALL ORDERS
FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS
FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS FREE SHIPPING ON ALL ORDERS
Development Journal
Journal #001

Four Rewrites of the Same Screen

Phase Phase 02 — Prototype
The screen that lists an archive category was written four times before it was left alone. Three of those rewrites were undone. This entry records what each attempt was trying to fix and why only the last one held.

Objectives

  • Make one screen serve every category, so that adding a category never means adding a file.
  • Keep the reading column narrow enough that the text does not become a wall.
  • Let the page state what it holds before the reader scrolls.

Development Process

The first version was written for a single category and read well. That was the problem: it read well because it had been tuned to one set of content. The second version generalised it and lost the tuning. The third version tried to recover the tuning with per-category overrides, which is the same as having several screens while pretending to have one.

The fourth version removed the overrides and moved the differences into the data instead. What varies between categories is now the content of fields, not the shape of the page.

Challenges

The hardest part was not technical. It was noticing that "make it configurable" and "make it general" pull in opposite directions. A screen with eleven switches is not one screen; it is eleven screens sharing a filename.

Solutions

Every optional element renders only when its field is present, and there is no switch anywhere that says which category is being viewed. If a category needs something the page cannot do, the answer is a new optional element that any category may use — never a branch on the category's name.

Decisions

  • No per-category branching in the layout. Not deferred, not discouraged — absent.
  • Optional blocks are opt-in by data. A category that fills nothing sees no change.
  • Width is fixed for reading, not for content. Longer entries do not get a wider column.

Revision History

Version Date Change
0.1 Rewrite one Written for a single category; tuned by hand
0.2 Rewrite two Generalised; tuning lost
0.3 Rewrite three Per-category overrides added, then judged a mistake
0.4 Rewrite four Overrides removed; differences moved into fields

Timeline

Point What happened
Start One category, one screen, no plan to reuse it
Midpoint Second category added; the tuning problem became visible
Decision Overrides written, reviewed, and deleted the same week
Close Fourth version left in place and not touched since
Three of the four rewrites were not wasted, but none of them would have been avoided by thinking harder at the start. The third version had to exist before it was obvious that configurability was the wrong direction — reading about that distinction is not the same as watching it happen in your own file.
Next Phase
Phase 03 covers the index screens above these lists, which have the same generalisation problem one level up.
Related Entries
Journal #002
The Week Nothing Was Added
Back to Development Journal

Pilih Lokasi