Version 3 · 19 September 2026
Glass plates and English
The third version is about glass and about language. Wet collodion with ambrotypes and tintypes, an 1890s dry plate with a halation ring, albumen paper and developers of its own — a whole era before film. The program now speaks English throughout, down to the names of films and recipes. And the rack has tidied itself: a knob with nothing to change does not sit greyed out, it leaves.
6 new · 13 fixed · 13 changed
The build is not yet signed by Apple: macOS will stop it the first time you open it. It takes two minutes — how to open it →
Need to roll back — here is the version 3 image. It is an old build: everything fixed later is still broken in it.
01 · New
- Wet collodion — the glass plate. Another type, and again not a film: collodion is poured onto glass and shot wet, before it dries. It is sensitive to blue and ultraviolet only — and all of the recognisable drawing follows from that: the sky and blue eyes come out white, lips, freckles and a tan come out dark, the scale is short, and shadows that got no light stay as clear glass. The “Pour” 0…3 knob is what makes a plate different from film (at zero the edge is almost perfect): the layer wanders, a crescent is left where it was poured in, the edges are short of coating, the corner it was held by has none at all, and overdevelopment sprinkles “gold crystals” over the thick places. “Silver intensification” in DEVELOPMENT takes the density ceiling from 2.0 towards 4.2 — this is how a negative was prepared for contact printing. A plate is viewed as itself: an ambrotype on black lacquer and a tintype on lacquered iron — not an inversion but a reflection of the silver, which is why the highlights come together and read milky, while the shadows fall into the lacquer almost vertically. It can also be printed by contact — beside the salt print there is now albumen paper, egg white and silver under the sun: a long scale for a dense negative and a nearly black maximum. A plate is developed with its own developers, not D-76: iron — physical development, light silver, the one ambrotypes were developed with — and pyro, denser and contrastier, for printing. The glass comes in its own sizes: the “Plate” format — ninth, sixth, quarter, half and whole plate, as with daguerreotypes, the metric 6.5×9 · 9×12 · 13×18 · 18×24 and the cassette sizes 4×5 and 8×10; glass has no sheet format. Collodion does have grain, but of the microfilm class: an ambrotype under a loupe is porcelain, and a fine sand shows on a scan.
- The dry plate and the halation ring. “Dry plate, ortho (1890s)” — a gelatine-bromide emulsion on glass, the main negative until the 1930s: black and white by its chemistry, printed on any B&W paper, and on the picker it stands beside collodion. What is its own is the edge of the machine coating: a rim of emulsion along the edge and the frilling of lifted gelatine. The “Edge” 0…3 knob runs from an even factory coating to a faulty batch, and the “Reroll Edge” dice lays the frilling anew. And everything on glass has gained a halation ring: light scattered downwards reflects off the back of the glass and comes back as a circle with a sharp edge 2.6 mm from a bright point — exactly the halos around windows in 19th-century interiors. Film with an antihalation layer and a tintype on iron have no ring.
- RA-4 hand print. Colour printing not in a minilab but by hand: the negative in an enlarger with a colour head, on Fujicolor Crystal Archive Supreme, glossy. Two things set it apart from the brighter RA-4 papers beside it, both physical. The paper's own contrast is gentler (it was made for portraits and exhibition prints), and there is no capture sharpening, no highlight clipping and no auto-correction — the printer balances colour with filters off a test strip. And above all, the ENLARGER'S VEILING FLARE: the lens and the negative carrier scatter about a per cent of all the light that passes evenly across the sheet, and the brightest parts of the scene get the most of it — the negative above them is the densest, and light of their own is scarce. That is why the highlights of an optical print are not paper-white but slightly veiled; a minilab's laser has no flare at all.
- Black field. A scan and a photo of a screen have no sheet, so the field around the frame is a field and not paper: white reads as a sheet, black as the darkness around the screen or a scanner mask. The “Black field” switch sits in PRINT right below “Borders” and paints the field not with an absolute zero but with the print's OWN BLACK — the darkest this process reaches on this paper: the field follows the Black knob together with the shadows of the picture, and the border between frame and field is invisible. On a green monitor the field goes honestly green — that is its own black. On paper with a sheet there is no such switch: the field there is the paper itself, and paper is never black.
- Two films from the same era. Svema DS-5M — the Soviet masked negative half of late Soviet cinema was shot on: exactly halfway between the “very badly colour” DS-4 and imported stock, and not by taste but by construction — it already has the orange mask, and it does not yet have DIR couplers. Agfacolor B-2 (Wolfen, 1941) — the first negative-positive colour process in the world on a single film, and the captured stock “The Stone Flower” and the Victory Parade were shot on: no mask, water-soluble couplers, layers peeking at one another — but cleaner than the Shostka copy. 72 films on the shelf in all.
- English. The program speaks the language of the system: on an English macOS it is English, on a Russian one Russian. You can switch it in the settings (⌘,): “Language: Same as macOS · Русский · English”, and it changes at once in every window; the system items macOS draws itself (“File”, “Settings…”, window titles) take the new language at the next launch. The whole interface is translated — the menus, the rack, the knob labels, the tooltips, the licence window, the key card and the names of undo steps — and with it the names of films, papers, lenses and recipes: «Мокрый коллодий» becomes Wet collodion, «Адамс — Zone System» becomes Adams — Zone System. The ones that were written in Latin letters in Russian too (Kodak Portra 400, Ilford HP5 Plus) stay as they are. The words were chosen from the vocabulary of the darkroom, not from a translator's dictionary: вуаль is fog, the toe and the shoulder of the curve are toe and shoulder, кайма негатива is the rebate, паспарту is the mount.
02 · Fixed
- The mount window is cut to the frame, not to the edge of the sheet. The board's grip is set in millimetres of the print while the film rebate is a fraction of the frame, so on a small print the grip ate the rebate whole and crept onto the photograph itself: you set a thin rebate, changed the print size, and the rebate vanished while the board moved in over the frame. The window is now cut into the strip between the end of the white and the edge of the frame: if there is not enough rebate for a full grip, the board takes what there is and leaves a hair's breadth at the frame. At every sheet size a strip of rebate (or of the print border) stays visible beside the window, and nothing of the photograph is covered.
- Moiré on offset and on the CRT screen. A print has two different limits: how much detail the film carries, and how fine the printing structure is — and only one of them was counted. On a smaller original the offset rosette would not come together and the tube's mask beat against the pixel: ripple instead of dots, and zooming in did not help, because it was already in the file. Now, before the reproduction stage, the picture grows to a raster on which the structure resolves, and dots go into the file. The inkjet has also gained a choice of which side the paper feeds along: the head's banding always runs across it.
- The crop keys no longer fall silent after you have touched a knob in the rack. The knob took the keyboard focus and never gave it back: ⇧C did not reset the crop, the arrows turned the knob instead of moving the frame, Esc and Space did not close the mode. Entering the crop and any touch on the picture now give the keys back to the picture.
- The tier no longer gets stuck on “P”. While the master was being computed, the next request pushed the previous one out of the queue — and that one vanished silently: the badge stayed on the proxy, the waiting arc hung there, and only an action of yours (changing the paper, say) could move it. A render now has three outcomes instead of two, and “stale” is an ordinary answer rather than silence.
- A black dot exactly in the middle of the proxy. It had lived since the first version and turned up capriciously — only when both sides of the picture were odd, which is why it was on the proxy and not on the master. In the polar pass of the lens field the very central pixel has no angle, and the graphics card returned “not a number” there, which even a zero weight did not quench. The angle at the centre is now taken as zero, as it is on the processor.
- The instant films came back to their own section. All eleven Polaroids and Instaxes stood in the “No film” section of the picker, and there was no “Instant” section at all: the “material with no grain” test took for one those profiles where the grain block is simply not described.
- “File not found” no longer lies about a file that is right where it was. Any miss by the decoder — a broken RAW, an unknown camera, no permission — was declared a disappearance, and the program offered to “locate” what had never gone anywhere. A frame now has an “unreadable” state: its own bar above the grid, the reason said once for the whole session, and the whole of it behind a “Details” button, from where it copies into an email.
- An honest refusal on old graphics. Zerno computes the picture on the graphics card and uses the capabilities of Metal 2. Where they are absent — on a 2012 Mac with a substituted system, for instance — the program says so at launch: the reason, the requirement and the details of the machine ready to copy, with no workarounds and no long search for a disappearance that never happened. The trial period is not spent on such a machine. The requirement: a Mac that supports macOS 14 or newer as it comes.
- The developer in the caption is the one that develops. You picked pyro for a glass plate, switched to ordinary black-and-white — the pipeline honestly develops in D-76 (pyro does not exist for it), while the block's header and the frame's summary still showed the old name. All the captions now show the substitution at once, and your choice in the file is intact: bring the plate back and pyro comes back with it.
- More — four small things: the settings window measures its height by its own text and no longer clips the bottom note in English; the “View” menu has one “Full Screen” instead of two; the line under a reproduction paper no longer denies a drop that printing does draw; “About” answers “what do I have and where do I go” instead of retelling how it works.
03 · Changed
- Push is development only. The knob in the DEVELOPMENT block is now called “Pull / push” and behaves like every other one: to the right the development runs longer (more contrast, more grain, more fog; on slide film a stop lighter as well), to the left it runs shorter and softer. It no longer takes light off the negative behind your back, so classic push processing (“shot at 1600, developed +2”) takes two knobs: Exposure −2 and Push +2 — and gives exactly what a single “+2” used to give. The built-in recipes that used push in the old sense have been rewritten and look the same as before. Your own projects were left alone: a frame with push will sit lighter in the shadows by exactly what the knob used to take away.
- Brightness instead of print exposure. The knob under “Contrast” is called “Print brightness” now (“Scan brightness” on a scan, “Screen brightness” on the screen) and behaves as it does in digital programs: to the right is lighter. In the darkroom that is LESS time under the enlarger, which is why the name changed together with the sign — promising an “exposure” that works the other way round would have been untrue. Old projects and presets print exactly as they did: the file holds the previous number.
- No more dead knobs in the rack. A knob that has nothing to change for the chosen film or process is no longer greyed out but gone: an instant has no format and no tank, a projector no brightness and contrast, a glass plate no borders, paper or plate mark. Four knobs on an ambrotype did not just sit silent but drew the impossible — tank streaks and a sheet's cut edge on glass; now the pipeline does not read them. The values in the file are left alone: bring the film back and the knob returns with its number.
- Borders and rebate in PRINTING, mounting in three groups. The print borders and the film rebate are the print itself, so they stand in the PRINTING block right under the paper. MOUNTING keeps what lies on top of it or under it, in groups: embossing, mount, table. Borders under a mount are visible now — the board overlaps the sheet by 4 mm, where before the borders silently vanished under it together with part of the sheet you ordered. Old “mounting only” presets with borders inside apply as before.
- Three printing sections instead of “Silver”. The process selector has “Printing B&W” and “Printing colour” apart (and “Printing from a slide” on a slide). Eleven papers in one list had to be read line by line to tell whether a paper was black-and-white or colour.
- Scan and screen — no mounting, but with borders. A scan or a photo of a screen has no sheet: there is no mount, no embossing, no plate mark and no table for it, and until now they were laid on the file all the same. Now the MOUNTING card says so in one line, while the borders around the frame stay in PRINTING — scan it, and add the borders in the program.
- The platemark belongs to handmade printing, and only when there are margins. That pressed edge is left by an etching press: the plate is laid face down on damp rag paper and run through the press. Under a silver print, RA-4, inkjet, offset, the screen or glass there is no press and can be none — the control is gone there (it was the one control in the program that was not physics). For the handmade processes it stays, and it has moved from FINISHING to PRINTING, just under “Margins”: the mark lives in the margin of the print, a third of the way in from the frame, and no longer claims a margin of its own. No margins, no platemark.
- The tube is an object, closeness is the knob. On the CRT screen the knob used to set the diagonal from 5 to 32 inches — that is, it adjusted the television itself, which is not something one does to a television. The diagonal, the mask pitch and the number of lines now live in the tube's profile, and the knob sets CLOSENESS, ×1…×10: the whole screen in frame, or shot from up close. The travel is tenfold instead of threefold. The share of the black matrix between the dots has also been recomputed from the patent that introduced it: the dots take exactly half the screen's area, with honest black between them, and a photograph of a screen came out lighter and cleaner.
- The table is a smooth material. Oak and walnut are gone for good: we are not going to make a wood texture. In exchange the white, the grey and the black have gained a second, slow structure — the light unevenness of a pour at the centimetre scale, which is what makes the table read as a material rather than as flat paint. Projects with a wooden table open with the grey one.
- The crop button shows that the frame is cropped. The [⌗] sign in the DEVELOP toolbar lights up in the accent colour when the frame has a crop or a tilt — the button's outline stays dark: it only lights up while the tool is open. The sign and the outline speak about different things: the sign about the photograph, the outline about the mode. The rotate button [↻] next to it marks itself the same way: looking at the picture alone you cannot tell whether you turned the frame or it was shot that way.
- ⇧C resets the crop, and “Free” opens to the whole frame. C enters and leaves the crop tool on either screen: in the grid it opens the frame under the cursor straight into cropping. ⇧C resets the rectangle, the ratio and the tilt — inside the tool, on the open frame and on every frame selected in the grid; the ↺ button at the end of the crop panel does the same. ⌫ has been taken out of cropping: outside the tool it means something else. And “to the maximum” with a free ratio now opens the rectangle to the whole frame instead of stretching the current strip across it.
- Project and frame. Two words have left the program's language. A set of frames is called a project everywhere, and the rectangle of film under the picture is the frame: the “Window” item in the crop picker is now “Frame”, and “remove the frame from the roll” is “remove the frame from the project”.
- Faster. A full 60-megapixel frame is computed in under a second instead of three, a print in a mount in 0.9 s instead of 3.6, a preview with mounting in 44 ms instead of 214. Not a bit of the mathematics has been touched: the time went not on it but on computing addresses inside loops and writing one sample at a time. The screen tier also stays below the threshold past which grain takes the long path, and a stale render is dropped rather than finished.
Updates
The program checks for a new version once a day and offers it by itself. How to update by hand and why macOS asks for permission for every build — “How updates work”.