 I'm Carlos Picari. I'm not a software developer by profession, but I do this for a hobby. And this is my project filmulator, which is a photo editing specifically for raw camera photos that simulates the development of film. It's not a new project, but it may be new to many of you. And I started it way back in 2012. So, what is filmulator? It's a raw photo editor with library management, including importing and moving files around. It emphasizes three things, simplicity, over-flexibility, ease of learning for new users, and the streamlined workflow for experienced users. And in addition to that, it uses a tone-napping algorithm that simulates the chemical action of film development to achieve great results. So, it's different in many ways from existing photo editors. So, for example, I only have like 20 or so tools total in filmulator compared to pages and pages and pages and pages of tools that may do the same thing multiple different ways. So, I try to strike a new balance between flexibility and ease of use. Other tools might compare to flexibility. I prefer ease of use in filmulator. One thing that, when I started the project, I was very insistent on was having a very polished editor view. So, it has unconstrained, smooth zooming about the mouse cursor anywhere in the frame. Back when I started this, a lot of photo editors had kind of janky zooming, and panning is very slow in other editors, although they've great improved since. But I can have 60fps full resolution 4K screen panning around at any zoom level in filmulator. And it also has a fast preview of the same pipeline, so you get responsiveness to the sliders. And then eventually it recomputes at full resolution. Another difference with many of the popular raw editors like Rawthair Paint Darktable is that I actually support importing from CARD. So, I like to have it all in one tool. I don't want to have to use a rapid photo downloader or DigiCam before switching over to a separate image editor. I like to have it all in one program, and so filmulator lets you copy from a CARD or import in place, and it does simultaneous backup with checks and hash in the files after it writes to verify secure copying. And also, you can have it automatically create a directory structure for your photos so that you don't have to organize them manually. Another thing that I try to emphasize is that a lot of these other applications prefer to keep very minimal user interface help, I would say. Like tool tips that are entirely unhelpful sometimes. Like on the right it says vibrance, the amount of vibrance. Frankly, I would say that doesn't mean anything. Whereas in filmulator I try to explain every tool in clear language. Even if it's a little verbose, I also try to make the tool tips stay out of the way. So, in real use by power users they never get in the way, but for a new user, they're there to help. There is a manual too with explanations of all the tools and when to use them. So, it's not like I'm stamping on that aspect. But what might be the most interesting part about filmulator is the film aspect. So, when I started photography, I learned on actual film with that camera you see there in high school. And when I went to college I got a DSLR for the first time and I found that I was rather disappointed by the photos. I really couldn't put my finger on why I didn't like the digital photos. Something about the color, something about the way they rendered the skies. And so I racked my brain for like two years over what isn't about film that just looks good. And so what I realized was that after a few times when I developed film myself, I asked myself why is there an agitation step. If you're not familiar with film, you pour liquid into a tank that contains the film. And every few minutes you shake it. And I was wondering what the shaking was doing. And I realized that the aspect of film development that this shaking does is, it causes the diffusion of the film, of the developer around to make it uniform again. So what happens when film is exposed is that silver grains are activated in different parts of the film. In brighter regions more silver grains are activated and in darker regions fewer are. It's a stochastic process. And what happens when you put the developer in a liquid chemical is that the parts with more activated silver grains consume more of the developer and that slows the rate of development in the bright areas. And this depletion reduces the global dynamic range. But at the same time, because it's in a liquid, the liquid diffuses between adjacent regions of the film and the local contrast is enhanced by the bright regions stealing the plentiful developer from the nearby dark regions. The dark regions stay darker because they lost the developer to nearby bright regions. And so all I had to do is mimic the process instead of having to try and make a stab at the end result. So by literally simulating film development, it just makes the images look better. So what does it do? It lowers global contrast. In this image, I've raised the exposure but the film aspect has reduced the highlight brightness so that the overall global contrast is much lower. Although that's an extreme example and typically I wouldn't push it that far in real use. It also raises local contrast so you can see the clouds have more detail, the building has more pop and if you look in the tight crop, you can see that the tiles have more contrast and more color. And additionally, it naturally boosts the color in a way that will never induce clipping. What happens is the three color channels are basically three layers of film and if one of the layers is significantly brighter than the other, it does the same stealing of developer basically from the other two layers. And so in the case here, the red channel steals from the blue and green channels and enhances the color. And in this particular case, the actual flowers were just red and the weird thing is that no matter what I could do in other programs it's very difficult to remove the orange and yellow that appear when I take a photo of it. I have another all sorts of very interesting touches in the user interface. For example, I expose the pipeline which makes it easier to learn what each tool does. So at various points in the pipeline, which the tools are in pipeline order from top to bottom, you can see before the film step we have a histogram and of course we have the end result histogram at the top. And so you can see in a linear space what white balance is doing in exposure compensation. You can see how your highlights are behaving. It's the highlight recovery working. Did I clip a channel without needing to guess at it from the end result? In addition, in the organization view, I have a histogram of photos taken per day. So it's very easy to find a trip you went on or a photo shoot you had where you took a lot of photos. Although recently I've seen this in dark table, so it's not unique to me. And I also put a lot of effort into a very nice cropping tool and filmulator that you only press one button and it enables you to choose aspect ratios as you wish. And it's just super polished. You hold control to lock the aspect ratio and you can press shift to snap to preset aspect ratios. And you'll just choose the nearest one and size accordingly. So a little bit about how I got here. Back when I first started in 2012, a friend and I started just with a MATLAB prototype. And this was extremely slow. It took minutes and minutes to process a single 1 megapixel image. And then over time we enhanced it with speed. We implemented the C++, we multi-threaded it, changed memory accesses and stuff. And then we also changed it so that the workflow is smoother. So instead of you having to feed it tips, it would generate them. I created the GUI and that's how we've gotten here. However, recently the Libraw project which we were relying on for loading and demosaicing removed the better demosaicing algorithms from the demosaic packs. They discontinued them. So in order to support this functionality in filmulator, I started the libRT process which is a name that might be subject to change. And we took GPL licensed algorithms from Roth Therapy and now are sharing this with any other project that likes to use this library. And this is better than what Libraw had, which were 10-year-old versions of these algorithms. Now they're maintained, now they are much faster. And we have more stuff too. So these filmulators are very usable right now, but there's a lot of things that it's missing. Things I'd like to add in the future, noise reduction, sharpening, distortion correction for lenses, deleting images, tagging images, pulling images as you import, and building for Windows. But there are things that I don't plan which is basically anything with not very much return on user interface complexity. So if you want split toning or more local adjustments, I'd ask that you just use them in another tool. So who's filmulator 4? Filmulator is for people who find post-processing to be chore, more or less. That was my approach to it. I didn't like spending 15 minutes on a photo to make it look good. Now I spend 20 to 30 seconds per photo. But at the same time I don't want to use presets. If you want the final creative say in every image you output, filmulator can give you a result quickly. On the other hand, it's only for people who want a natural looking result. If you want the most capable flexible program, if you want cross-processing emulation or glitch art or something, or if you like spending an hour dodging and burning each image, this is not really the program for you. Or if you want technical accuracy, it's generally designed for pleasing this over accuracy and simplicity or flexibility. So if you'd like to, please check it out and join us on the Pixels Forum where I have a subcategory. I'd like to thank my friends, Omer, for starting the project with me, and all sorts of other people from the community for helping me out, including making an effort to continue some integration from the last minute. And I'd also like to thank the whole open source community for inspiring me and encouraging me to get back. Any questions?