Skip to content

Comparison matrices

A comparison table is the most persuasive thing a reference can publish and the easiest thing to fake. Five stars against one, and a reader has made a decision in four seconds without reading a word of argument — and nothing about the appearance of that table changes if the stars were measured, inherited from a forum post, or made up on the spot to fill the column.

Brief section 16 asks this course for comparison matrices and ends the request with four words: no unexplained star ratings. These are those matrices, built so that the rule cannot be broken quietly.

5 matrices, 376 cells in all. 290 carry a score with its reasoning and at least one source; the remaining 86 render asnot established and say what is missing.

  • Film developers

    Six Kodak negative developers on the sixteen axes brief section 16 names, with the reasoning and the source under every score and an argued blank where the evidence stops.

    9 subjects × 16 axes · 89 of 144 cells scored · 3 axes empty for every subject: Compensating, Suitability for scanning, Negatives for hand-coated processes

  • Fixers

    Five fixing baths from plain hypo to an alkaline bath for printing-out papers, compared on what kind of bath each is, what it does to the gelatin, and what the makers publish about capacity and keeping.

    5 subjects × 11 axes · 45 of 55 cells scored · 1 axes empty for every subject: Cost

  • Stop baths

    Kodak's SB-1, its three-times-strength sibling for Reflex plates, and this course's own citric variant, compared on acid load, capacity, keeping, vapour and what each one is published for.

    3 subjects × 10 axes · 25 of 30 cells scored · 1 axes empty for every subject: Cost

  • Toners

    Seven after-treatments for a developed-out silver print - three routes to sulfide, three to gold and one to selenium - compared on what they do to the silver, to the colour, to the density and to the permanence.

    7 subjects × 11 axes · 64 of 77 cells scored · 1 axes empty for every subject: Cost

  • Printing processes

    The seven processes brief section 31 names, scored on what each asks of the negative, what it gives back, what decides its permanence and what it costs - with the cell that cannot be filled left open.

    7 subjects × 10 axes · 67 of 70 cells scored

A score is a score, its reasoning and its source, or it is not a score.

That sentence is a schema. src/schemas/matrix.ts refuses a cell that carries a position on a scale without a sentence saying why that position and not the one beside it, and without at least one citation under the sentence. The component refuses it a second time at render, so a cell that somehow arrived without its reasoning would print as not established rather than as a number. npm run validate:matrices refuses it a third time, and adds everything the schema cannot see: that the citation resolves against the bibliography, that a cited price is still in the price file, that the subject is a written page of the right kind, and that no two cells are carrying the same sentence with a different name on it.

An empty cell is a statement, not a hole. Every axis carries a note saying what an unscored cell on it means, what the course looked for and what would settle it, and a subject with a reason of its own carries that instead. Five of the sixteen properties the brief names for developers are in that position, and three whole columns elsewhere are empty for one documented reason each. Those columns are the most useful thing in this product, because they are the places where a star rating would have been easiest to invent.

Why the scores are not derived from the formula pages

Section titled “Why the scores are not derived from the formula pages”

Every formulary entry already carries a characteristics object with nine fields in it — grain, acutance, speed, contrast, tonality, colour, staining, compensating and reuse — and six of those name properties the brief asks a matrix to compare. It is a fair question why this product does not simply read them.

It holds its cells separately, and there are three reasons.

The first is that those fields are free text, and turning free text into a position on a scale is an act of interpretation performed by whoever writes the query. D-76’s grain field reads “Fine, from the solvent action of 100 g of sulfite; coarser at 1:1, where the same sulfite is halved”. Reading “fine” out of that sentence and printing it as a rating would silently discard the second half — which is the half that says the score depends on how you dilute it — and would attribute the resulting number to the formula page’s own provenance citation, which was never a citation for that.

The second is coverage. characteristics holds six of the sixteen axes the brief enumerates. Cost, complexity, safety class, environmental route, shelf life and all five suitability questions have no field there at all, and a matrix half-derived and half-authored would be a matrix whose cells had two different standards of evidence and no way to tell which was which.

The third is that a cell needs its own source, and characteristics has none. The formula object gives capacity and shelfLife a ref each, because those are published measurements; the characteristics are prose, covered loosely by the page’s own source list. A product whose entire premise is that a score carries its evidence cannot be built on fields that do not carry any.

So the matrices are authored, and each cell links back to the page that argues it — usually the same formulary page, at the section that carries the claim. An entry that restates what a written page established, with a link to it, is what these cells are meant to be. What they must never be is a second, drifting copy of the formulary: where a cell and a page disagree, the page is right and the cell is a bug, and validate:matrices fails on a subject whose page has stopped existing.

These cells cite documents and sections, and they do not carry a retrieval date. The date on which a source was read belongs to the page that read it, and every cell names that page under Argued in. Putting a fresh retrieval date on a citation this product inherited would claim a reading that did not happen, which is the same class of error as an unexplained score.

The one exception is the cost column, which cites the course price file rather than a document, because shopping data is the one kind of evidence in this course that is a dated observation rather than a publication. Those citations name the price ids they rest on, and the validator resolves every one against src/data/prices.json, so a cost cell cannot outlive the price it was written from.

The developer library is not complete, and the matrix compares what exists. The brief names Beutler, a p-aminophenol type, a Phenidone type, an ascorbate, a high-acutance and a staining developer, and none of those has a written formulary entry yet. Nothing about the six that are here should be read as a claim that they are the six best; they are the six the course has sourced.

The rapid ammonium-thiosulfate fixer and the iron-blue toner the brief also names have no formulas in this reference either, and their absence from those two matrices is a gap rather than a judgement.

And the process matrix is not the process comparison the design ultimately asks for. That is one negative printed across seven processes in one darkroom, and it belongs to a Part XXV assignment nobody has performed. This matrix compares what the published literature says about seven processes, which is a different and lesser thing; the process atlas states the distinction at length and this product does not repeat it.

Sources for this page

3 cited · checked 2026-09-05

  1. 01Chemicals and Formulae, 3rd edition (one of a series of Kodak photographic handbooks)Kodak Limited, 1949§ Keeping properties and useful life of solutions; the developer, fixing bath and stop bath formulas and their headersarchive.org/details/KodakChemicalsAndFormulaetier 1, primary2026-09-05
  2. 02Toning Black-and-White Materials (KODAK Publication G-23, Technical Data / Reference)Eastman Kodak Company, 2006§ Why tone a print; Toners Mixed from Formulas125px.com/docs/techpubs/kodak/g23-Toners.pdftier 1, primary2026-09-05
  3. 03The Albumen & Salted Paper Book: The History and Practice of Photographic Printing, 1840–1895James M. Reilly, 1980§ Chapter One, Printing-out papers; Chapter Eight, Toning; Chapter 9, Fixation and Washingcool.culturalheritage.org/albumen/library/monographs/reillytier 1, primary2026-09-05

Formulas, hazard statements, historical dates and process descriptions on this page were checked against the sources above on the date shown. Safety data changes: obtain the current safety data sheet for the product you actually buy before you open it.