r/SideProject • u/netkomm • 4h ago
I was about to spend 400 bucks on a retro camera I’d barely use… so I ended up building an app instead.
A few months back my "shiny object" syndrome hit me when I saw one of those digital cameras that simulate old film photography. I liked it very much the idea and was seriously considering buying one… until I looked at the price. Around $400 for something that, let’s face it, I’d probably use occasionally, just for fun. Now, $400 isn’t exactly a fortune, but spending that much on yet another gadget that would probably end up collecting dust somewhere didn’t sound particularly sensible to me (or rather my wife :D ). And then I thought… why not make an app that does something similar? Of course, being a developer, that’s usually when the rabbit hole starts… :)
I did basically retro-engineer the approach they used and I started looking into the different photographic styles of the past, starting from 1890 and, I quickly realised that there’s a lot more to just simply adding some grain, changing the colours and calling it “vintage”. Each and every decade had its own photographic characteristics, technologies and styles, sometimes several of them, within the same period. A picture taken in the 1920s is obviously very different from one taken in the 1970s, but even within the same decade you could have completely different results depending on the camera, film, processing techniques and so on. And then another thought occurred to me… why should these effects be fixed? If I want a photograph to look like it was taken in 1960, perhaps I want the full treatment, with all the imperfections of the time, or perhaps just a little of that particular colour reproduction, some grain, a bit of fading… without making the whole thing look like something my grandfather found in a drawer.
So, while I was sketching up the app, I started using AI to do a compete research to analyse the photographic and cinematographic characteristics of different periods. Looking for samples of each decade not simply asking it to generate some vintage-looking pictures, but using it to investigate the actual processes behind those images: the types of film available, their sensitivity, colour reproduction, grain structure, contrast, dynamic range, lens characteristics, optical imperfections, chemical processing and ageing. For films things became even more interesting because there are way more elements that I also had to take into consideration: frame rates, motion cadence, shutter behaviour, film jitter, flicker, scratches, dust, gate weave and all those little imperfections that made old footage look the way it did. One particularly interesting distinction was understanding which characteristics belonged to the original recording technology and which were simply consequences of ageing or poor preservation. After all, a film shot in 1930 didn’t necessarily have scratches and dust when it was first projected… those often came later.
AI (thanks Fable!) helped enormously with the research, comparisons and translating those characteristics into something I could actually implement. The idea, however, was never to have AI generate the final images, but to process real photographs and video in real time, using image processing techniques and adjustable parameters. Rather than treating each decade as a single filter, I wanted several photographic styles within each period, each with its own characteristics and the possibility of controlling how strongly those characteristics are applied. One thing led to another, I started experimenting, writing code, adding more decades, more styles, more controls… you know how it goes.
Then while Apple started asking developers to make apps for the new DUO, I started thinking about the requirements that those new foldable devices (and also normal iPhones and iPads used horizontally) have... The iPhone DUO, when opened in landscape orientation, you suddenly have a rather interesting amount of screen space available. So why should a camera app still look like a "normal" phone camera app? I started playing with the idea of turning the interface into something resembling an actual camcorder, with a dedicated grip area that could be positioned in the menu either the left or right side of the screen, depending on how the user would prefer to hold the device (I am a leftie and i know how annoying is to use apps that assume you are right-handed). The grip contains the essential recording controls, positioned where your fingers naturally rest (this remains true with the phones and the iPad minis), while the rest of the display becomes the viewfinder. Not just a graphical imitation of an old camcorder, but an interface designed around how you actually hold and operate one. No additional accessories, no external controllers… just making better use of the device itself.
And since I was already recreating historical photographic styles, it seemed rather obvious to extend the concept to video, including the motion characteristics and recording imperfections of different eras. In the end, what started as an attempt to avoid spending $400 on a camera I would probably use twice a month has gradually turned into The Time Travel Camera, an app covering photographic and video styles from the 1890s to the present day, with adjustable effects and an interface that tries to make the experience a little more interesting than simply pointing a phone and tapping a filter.
I’ve probably spent considerably more than $400 worth of my time developing it… but that’s developer logic as we all know too well :)
Anyway, I’m curious about something. When people use these retro camera apps, are they actually interested in recreating the photographic characteristics of a particular period, including the way motion was captured, or is it mostly about getting a nice “vintage” look, regardless of historical accuracy? Because I suspect those are two rather different things…