MVB Spotlight: Simon Gladman - Swift Supremo

DZone 's Guide to

MVB Spotlight: Simon Gladman - Swift Supremo

In the first of the series of MVB spotlights, we meet Simon Gladman.

· Mobile Zone ·
Free Resource

Image title
Simon Gladman is one of our most prolific MVBS at DZone, showing how to push the bounds of image manipulation in Swift. His book, Core Image for Swift is now available, which gives a level of detail on the subject that you won't find in Apple's documentation. We did a quick interview with Simon about his career, Swift and his new book.

DZone: Can you introduce yourself?

I'm based on London, UK and I've been writing code for nearly twenty years: I spent over a decade at an advertising production agency, working on their in-house software that managed processes such as artwork approvals, media booking and asset management. After leaving advertising production, I've worked mainly in investment banking and almost exclusively on foreign exchange trading systems. 

Before I was coding, I worked in 3D animation. My love for VFX has always been with me, so while I was working on quite pedestrian software, I've been "recreationally programming" particle systems, image processing apps and other visually oriented bits of software.

When my last contract finished at the end of 2015, I decided to take a gamble, give up full time work and write a book. I love Apple's Core Image framework, but its documentation, especially for Swift developers, is quite sparse. Since I'd been playing with Core Image for almost 18 months and explored it in detail, I thought it would be a great project.

I tend to open source everything I do, so I have a popular GitHub account: https://github.com/FlexMonkey/

DZone: What interested you in the MVB program? 

Actually, DZone approached me, maybe around eight years ago. I was blogging a lot about Flex, which was Adobe's "enterprise framework" for Flash Player. Being an MVB has certainly helped with my blog statistics! 

DZone: How do you organize your writing?

I've been writing daily since the beginning of the year. Often, I'll wake up in the morning with some outlandish programming challenge which could yield an interesting result. I'll spend a day or two writing a demo or some shader code and then follow that with a few days of writing about it. I enjoy the coding more than the writing and sometimes end up with a backlog of writing after creating a few pieces of code for the book. 

DZone: Tell us a little bit about your book?

The book is all about Apple's image processing framework, Core Image. As I mentioned above, documentation from Apple is a little sparse and it's diffused across different parts of their site.  The breadth and power of the framework is astonishing, but I think a lot of developers don't really see its potential. My book covers the basics but moves to some pretty advanced stuff, especially around writing custom shaders. I'm hoping developers will be a bit surprised about what amazing visual effects Core Image can deliver. 

There seem to be countless photo-editing applications for iOS - but their functionality is often quite similar. With any luck, my book will allow developers to explore some different and interesting avenues to make their app stand out from the crowd.

DZone: What sources do you use to keep up with Swift? 

Simon: I'm always on Twitter, which is a great source. I follow some of the big Swift names and, I hope, that keeps me up to date. 

DZone: Have you published any apps yourself? 

Yep, I have a node based image editing app called Nodality. It borrows a user interface paradigm from high end workstation applications such Houdini and Nuke. 

DZone: What are some of the app that you use most? 

Simon: Day to day, I use Xcode all the time. For image editing, I use Gimp - but often I'm only cropping and scaling then using Gimp's output as the source for my own image processing filters. I've been writing the book with Apple's iBook Author software. 

image, mvb, swift

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}