When I first started coding in Swift back in July, my ambition was to port Nodality, my node based image editing and compositing app, from AS3 to Swift by the end of 2014. As I stumbled along in those early days, I was concerned it might not happen but, I'm very happy to say, after some very early mornings and frantic coding sessions with my little MacBook on the Tube, version 2.0 of Nodality is available in the App Store.
The previous version was written in ActionScript 3 and targeted Adobe AIR. I was very happy with its performance and responsiveness, however the Swift version is a lot snappier. For one thing, I'm able to run all the filters in background threads so that the user interface remains responsive even when editing complex networks.
Writing Nodality natively has also allowed me to implement pinch-to-zoom which is an enormous usability bonus. Furthermore, I'm finally able to store source images between application sessions which I think was a major black mark again version 1.x.
To the best of my knowledge, Nodality is the only node based image processing app for iOS. This allows users to create rich networks where image sources can be piped through different filters chains and re-composited back together.
For example, here a single cat image acts as the input for three differently coloured dot screen filters and a Gaussian Blur, the dot screens are composited together and the blur is sent into a gamma filter to act as a mask to allow the cat to be composited over a psychedelic background generated from a distorted checkerboard:
The final result looks like this:
While version 2.0 has been in review at the App Store, I haven't been resting on my laurels. Version 2.1 contains a huge Santa's sack of new features including saved project snapshots, automatic creation of numeric input nodes and lots of new filters. I'm also working on CloudKit support and plan to release 2.1 mid January 2015.
Best of all, Nodality remains free of charge, Merry Christmas!