First, the big news: I’m excited to announce that FilmLab 1.0 will be released for iOS on September 26th, and for Android later this fall. I’m really looking forward to getting it out into the wild and seeing how people are able to use it to improve their film workflows!
Before the release, there will be a couple of beta builds in the 0.9 series. Version 0.9 went out to testers last weekend, and version 0.9.1 will go out this week. Version 0.9.2, if necessary, will be a bugfix release before 1.0.
Here’s what I’ve been working on since the last update, and what beta testers can expect in the 0.9 builds.
New features in iOS build 0.9
Speed, smoothness, and energy efficiency. Since the beginning of FilmLab development, I’ve been trying to figure out how to make it run fast enough without cutting corners on image quality. This was a challenge to get right. Many of the betas had to compromise by reducing resolution or frame rate, and even so they would still tend to max out your CPU and make your device run hot. Well, no more. FilmLab 0.9 is designed for speed, with slow algorithms rewritten to be fast, and and graphic operations redesigned to run on the GPU chip, where they can be accelerated by hardware. As a result, all video previews now run at full resolution while typically using less than 50% of a single CPU core. It’s noticeably faster and smoother to use.
There is one downside to this focus on speed: since I’m relying on Apple’s Metal framework for GPU support, I’ve had to drop support for a few older devices. Specifically, FilmLab will no longer support the iPhone 5 and iPad 4th generation. All newer Apple devices (iPhone 5s and newer, iPad Air or mini 2 and newer) are supported. (When the Android version comes out, the requirements will be similar - you need to have a device with a decent GPU.)
Zoom. Now you can pinch to zoom and pan in all parts of the app. In the live view, you can zoom way in to check your focus, or zoom out when you’re working with large film formats and want to make sure you’ve got the whole frame in the shot. You can also zoom in to the pixel level and watch how the quality improves as FilmLab processes image data during capture. Here’s a quick demo of using zoom to get more precise crop corners:
- Raw image stacking. FilmLab now aligns and combines multiple captures to give a better, less noisy image. This feature is currently dialed down to only 3-4 input images per capture, which gives a modest but noticeable improvement in quality. I’ll be adding support for increasing the number of images captured in the future.
- New UI. FilmLab has a brand new UI. It’s designed to follow standard UI conventions, and be familiar to anyone who’s used a camera app before. This new UI also has a much faster transition between the live mode and editing mode, with no more blackout in between. In the 0.9 build, the UI is limited to portrait mode, but this will be fixed soon.
- Proof sheet support. One of the features people have been asking for since last year is the ability to use FilmLab for proof sheets. Now you can! Just capture a whole sheet at once, and don’t crop it. FilmLab will set exposure and color balance based on averaging the whole sheet (and very soon you’ll be able to override the automatic settings yourself, see below). Here’s another short demo video of my capturing a proof sheet:
Coming later this week in iOS beta 0.9.1
- Film type selection. FilmLab is finally getting dedicated support for black and white film and color positives, as well as the current color negative support.
- Manual control over exposure, color balance, and contrast. I finally have enough of the UI in place to be able to add these controls. These settings will give users a whole new level of control over FilmLab output - I know I’m personally looking forward to having them. The way they work is modeled after the analog printing process. Exposure changes the virtual print exposure time, color balance changes the input color filters, and contrast changes the contrast of the virtual paper you’re using to make your print.
- Even more speed. Capture and processing speed will be significantly improved.
- UI Improvements. The UI will be getting some status indicators to better communicate what’s going on. The crop tool UI will be improved. And there will be more UI refinements.
- Bug fixes. 0.9 has a bug in automatic settings when cropping the output, bugs in automatic color balance, bugs when quickly transitioning between live and editor mode, and more. Fixing for these issues should be straightforward, and I’m making them a priority.
What 1.0 means
There was a moment last month when I realized I’d been putting too much pressure on the 1.0 release. I’d felt like I had to have every feature I viewed as important done before I could release it. But that’s actually not true - it’s OK for a 1.0 release to be limited in what it does, as long as it works well. Version 1.0 isn’t the end, it’s really just the beginning. So there are quite a few features that will ship after 1.0. Probably the most significant one is automatic frame detection. This is an important feature, and something I’ve invested a huge amount of time in, but it’s not quite ready for prime time yet. That feature will ship soon enough, and it will make the task of cropping images way more enjoyable. But it has it earn its way in by being solid and reliable.
New Instagram account
One last note in this update - FilmLab has a new official Instagram account, @filmlabapp. This is being run by my wonderful wife and savvy social media user Hannah Fettig (@knitbot). Especially during this lead-up to 1.0, I’m in sprint mode working day and night on development, so it’s awesome to have her take over social media duties. If you’d like to have your own use of FilmLab featured, tag your scans, proof sheets, or videos of FilmLab in action with #filmlabapp.
Thanks as always for your continued interest in support in my work on FilmLab! Getting to 1.0 is going to be a big milestone. Let’s do this!