Rethought, redesigned and rebuilt. Obscura 2 is here, and it’s everything you’ve been waiting for.
Get Obscura 2 on the App Store: https://itunes.apple.com/us/app/id1290342794?at=1001l5GB&ct=wb
Work on O2 began in earnest last summer, but the result is the culmination of 4 years of experience building a camera app, and the many more years of experience I’ve had behind a camera.
It’s a delight and a relief to finally get it out into the world and into your hands, but it’s also just the beginning. There are so many great features still to come, and I won’t be taking my foot off the pedal any time soon.
Before we dig in, there’s a few people to thank. Sara, my wonderful girlfriend who drew the vast majority of icons within the app, Adam, who is responsible for building some of the best parts of the app, and Fionn, who fixed all my writing (this article included), and provided some wonderful photos of Hong Kong.
You’re probably wondering what’s new, what have we done to justify a whole new app? The short answer is everything.
Here’s what we achieved.
Designing Obscura 2
Obscura 2 was created from scratch. I threw out every preconception I had with Obscura 1, to rethink what a camera app should be. Design work on O1 originally began not long after the announcement of iOS 7, and since then app design trends have shifted in new directions.
I’ve always found designing a camera app a fascinating set of problems. It’s unlike designing other apps in a number of ways. Most app designers can make reasonable assumptions about how the phone is being held. Almost always in portrait, probably cradled in the palm, or delicately resting on the fingers. Maybe a load bearing pinkie.
With a camera app, the user is often holding the phone in more convoluted ways. Often it’s held in landscape with the forefinger and pinkie forming a claw around the phone. With one hand reaching even halfway across the screen is a stretch, to reach the far corners is impossible.
Another common use case is the arm fully outstretched for taking selfies, or to get a higher vantage. As the phone gets further from you, accurately tapping small buttons and icons becomes more difficult.
With these considerations in mind, we have to create an interface that feels comfortable without comprising features.
So that was the goal with Obscura 2. To recreate that sense of tactility and trust, without the use of physical controls, that felt comfortable in the hand, no matter the situation.
I worked to achieve this in a number of different ways, from large buttons with clear shapes, to a gesture driven interface to avoid having to stretch to the top of the screen. But the heart of Obscura 2’s redesign is the Control Wheel.
One of my favourite features of O1 was also one of the most poorly implemented. If you touched either the exposure or focus buttons, and then dragged outwards, you would activate a circular scrubber that could be used to quickly set exposure or focus.
Although the implementation left a lot to be desired, I knew that there was the seed of something great there. While brainstorming another project, it clicked: if we could combine the hardware interface of a SLR, the delight of using an iPod, and the satisfaction of turning the knob on a high end stereo, we would have something really special.
The iPhone Taptic Engine really made this possible, and it lends a wonderful feeling of physicality to the controls. It feels less like a slab of glass, allowing you to adjust by touch rather than just sight. As good as it looks in screenshots, it feels 100× better in hand.
Black and White
From the very beginning of O1, I’ve tried to keep the interface entirely monochrome. A little bit inspired by the Graphite theme in macOS, I like the idea that photography apps should by neutral, receding to the background, to help the images retain focus.
Although it’s only happened a handful of times, some of the hardest emails I’ve ever had to send have been explaining to customers that their images haven’t saved because of photo library permissions not being granted.
With Obscura 2, I went to great lengths to design a permissions screen that makes it as clear as possible why permissions should be granted, and to make it clear when something is amiss (and pointing the user in the right direction to fix it).
Another reason I wanted to get this screen just right is that it’s the first interaction the user has with the app. It’s a great opportunity to show them that the details matter, and that we respect their privacy.
Obscura 2 also includes a handy Notification Center widget, which can allow for quick access from the lockscreen, or anywhere else on your device. It works especially well on the lockscreen with FaceID.
It’s almost as good as having Obscura replace the stock camera app.
Developing Obscura 2
When I started working on Obscura 1, I think it’s fair to say I had no idea what I was doing. I had only started teaching myself how to write software about three months earlier. A lot of decisions were made that ended up having bigger consequences down the road. Everything from the app’s navigation to the image processing frameworks had become something of a liability. I was reluctant to fix any single problem, because I knew everything needed work.
Combined with the desire to redesign the app, I knew it was time to start from scratch.
Obscura 2 is built with the future in mind. It uses no third party frameworks, relying entirely on Apple technologies. Having no outside dependencies means that, besides Apple, we’re not beholden to anyone else’s schedule. That’s liberating.
Similarly, we’ve also decided to forgo the use of any third party analytics. The only data about crashes and app usage comes from Apple, and that is opt-in by users. This will make troubleshooting a little harder, but right now, having the confidence that we’re protecting our users’ privacy is a trade off we’re willing to make.
Obscura 2 is written entirely in Swift. I’ve found it a breeze to work with, and the language itself has helped prevent numerous bugs that wouldn’t have been caught as easily.
On the image processing side of things, I’ve moved from using GPUImage, created by Brad Larson, to Apple’s CoreImage. It has a steeper learning curve, but it enables features like featuring RAW images and Live Photos.
This change has also provided a great opportunity to revisit Obscura’s filters. There are a total of 35 filters in O2 (up from O1’s 26). 19 are included, 1 is unlocked by sharing the app, and the remaining 15 available through In-App-Purchase.
One of the primary goals for O2 was to improve the ease of capturing different image formats. In O1, filters could only be captured when shooting JPEG, and the filters were baked into the image so there was no original copy.
In O2, you can now capture multiple formats. This means you can capture a filtered and unfiltered HEIC or JPEG image, or shoot RAW with a filtered copy. One for sharing quickly, and one for more in depth editing. It’s such a relief not having to compromise. As well that, you can also capture images with Depth data, and Live Photos.
The Business Side of Things
Like its predecessor, Obscura 2 is going on sale at $4.99. I’ve toyed with every business model imaginable, but none of the alternatives feels like the right fit.
A subscription model was the most tempting, and while it does provide an assurance of stable income, it seems better suited to productivity apps.
I was given the advice last year that there will always be some amount of people out there willing to give you more money than what you charge them, and you should make it as easy as possible for them to give you that money.
For that reason, Obscura 2 includes two In-App-Purchases for filter packs: Black & White and Analogue. These are entirely optional (but really nice) and well worth considering.
This is just day one of Obscura 2. I’m so proud of the final product, but it’s also just the beginning. There are so many features, big and small that are planned, or already in the works, and I look forward to sharing more with you soon.
On top of that, O2 also serves as the foundation for a number of new projects that I’ve been dreaming about for years. I can’t wait to start working on them in earnest.
It wouldn’t have been possible to make it here without the support of everyone who bought, used and shared Obscura 1. If you’re one of those people, you have my heartfelt thanks. If you’re discovering Obscura 2 for the first time, I hope you come on this adventure with me.
Go forth and create,