Where Poserframes comes from

I started work on what would become Poserframes in the autumn of 2022. I had bought a book with photography by Walter Hirsch that summer at an outlet in Höganäs and I was really smitten by his grainy black and white photography, a lot if it shot with a Canon Dial half-frame camera. Many of his photos were scanned and reproduced with the film rebate visible, as I understand it a way of showing that nothing had been cropped out. I had had film scanned with borders like that in the past, had always been fond of the look and I then wondered if it was possible to somehow approximate it for digital photos.

I looked around for existing solutions and found none that did what I wanted. I didn’t want a static PNG overlay, even if it was scanned from a real film negative. I wanted something that would produce less uniform results and that I could automate, so it didn’t increase the time spent in front of a screen by much. By then I also started wondering if it would even be a good idea to make something like this. Would fake film borders be something I would be ashamed of in ten years time, like filters and split toning? I decided that the kind of borders I wanted fell on the right side of my personal cringe line, but as emotional protection I chose the name ”Poserframes” as a preemptive defense against criticism.

My first attempt was to simply make an action in Photoshop, where I drew a negative shape and filled the outside with black. This really wasn’t any better than that static overlay. I then found a way to execute a small javascript snippet in an action, so it would randomly select one of three other actions, which in turn drew the negative shape with some variation. That was better, but an incredibly frail and limiting solution. If I was going to make this into something I’d like to use myself, I realized I was going to have to learn how to write a javascript plugin for Photoshop, so I could inject serendipity in the construction of unique frames.

I read through Adobe’s scripting guidelines, poured over the Internet looking for preexisting code, asked a lot of questions in forums and eventually found a way to translate vectors to textual strings, so I could store shapes inline in a script. Bit by bit, through a lot of trial and error, I finally had a starting point. The first version of Poserframes could only do cropped frames (like the ones in the Walter Hirsch book) for images in 2:3 and 4:3 formats.

From that first version, I added support for the common aspect ratios and drew the negative shapes and scanner mask shapes from real 35mm, 645, 67, 4x5 and 6x6 film scans. I found a way to make it (almost) resolution independent, I expanded the scope from the cropped frames to looks of scanner masks filed down for interesting border shapes and I found a way to run it with user-editable Photoshop actions. I built the script to mimic the actual scanning process, so it first makes ”the negative” by adding a negative shape to the image, then adds and moves a scanner mask shape on top of that. My goal has been to make it into a versatile toolbox that I can use to generate a wide variety of border styles.

Poserframes is a labor of love and I still make it mostly for myself. It has been wonderful and slightly surreal to see it in use with other people’s work.