This year we’ve completely rebuilt C4. It’s more solid, more flexible and definitely more badass than before. In doing so, we’ve changed a LOT.

Here is a brief overview of those changes.


C4 is now 100% Swift (2.0). No more square brackets. Throughout the api we’ve taken advantage of all the new facets of Swift, including things like tuples, optionals, initializer inheritance, initial stored values, generics, subscripts, closures, new control-flow statements (e.g. for-in), advanced operators… I could go on.

Keeping with our fundamental guidelines for C4, our new API is very Swift-like (similar to how the old version was very…

We just re-launched with Version 2.0 of C4: the creative coding framework for iOS. Here’s how it all came to be…

It’s been just over 3 years since the first release of C4, its existence has been peppered with bursts of energy, periods of rest, tons of supporters, and some pretty amazing contributors. This is a brief history of how I came to invent C4 and how it has since evolved.

April ‘09

A long time ago in a media lab far far away, I was toying with the idea of building a new kind of sketching app that would let…

On working with people, properly.

I’m really interested in working with great people, one of whom is Lewis Bennet – a film producer from Vancouver. I’m also really interested in not taking advantage of people, and want to make sure that I can pay them, make sure the work I’m asking from them fits the budget I’m offering, etc., in the hopes that the work I can generate helps build healthy relationships without putting strain on people.


My background is in media arts, both my business partner and I have degrees in Interactive Arts and Interface Cultre, and over the last decade have had the…

We were faced with a pretty tough client last year and even though we had a signed decent agreement made up front, it took a long time to finish off the project.

Our original agreement was for a fairly short nine-week term, but the expectations were really high. Throughout the course of the project we were almost constantly on the phone with the client. Up to a dozen times a day, evenings, weekends, they were calling us to discuss details, changes, team updates... Granted, communication needs to happen to keep things running smoothly, but sometimes it’s too much.

At the…

This is just difficult, pure and simple. Managing a difficult client is extremely tough, especially when they just don’t make sense or are panicking or whatever else is going on. Making sure the client understands what is going on, what’s possible, and what’s not, while keeping them happy is a skill that takes a long time to learn and master.

Clients might be upset, might pressure, might be confused, etc., for a lot of different reasons that you’ll never really be able to predict at the beginning of a project. However, one common thing that will always be present when…

I had a few topics I wanted to write about, but I’m getting tired of complaining so here’s a synopsis of all of them.

The Big Picture

This is a term we heard a lot from one of our clients last year. In all our meetings and correspondance they kept refering to “the big picture” and how we needed to have a vision for that. From our perspective it was pretty clear that they didn’t have a solid grasp on what their big picture actually was, and whenever we tried to pry into it, to challenge it, or to provide some necessary critical feedback to help guide the project they resisted – with a vengeance.

We’ve learned a few good things from having dealt with poor clients…

I’m pretty sure I just had a dream where I was walking through a building and you and a few other people were doing a photo shoot.

You were wearing a costume made of cube lights, and it was a sort of square pixelly slinky, you were doing backflips in it with all the lights on and people were cheering you and taking photos.

I was dressed up like Super Mario.


Good morning.


Aug. 23, 2013

When I took on a new client last year they were really insistent on getting me “onboard” with their company. They were really excited for me to lead the tech development for their idea and were agressively throwing shares in my direction, they had already agreed to pay me an exorbitant amount, and there was talk of big things to happen.


They were trying to poach me… from my own company.

Random Thoughts on This

A lot has happened since this episode last year, at the time I thought they were just trying to make sure I would stay with the project for an…

Balance, it’s not that easy sometimes.

We started working on our new contract, pulling together preliminary ideas, timelines, possible directions for tech and contingency plans for executing properly within the tight 6-week timeline we had been given. The client was clear that the deadline was fixed, so we were unable to offer suggestions for extending it, doing a solid design-based approach to the first product, etc.

In short, we had to sprint and so we did… One thing I didn’t consider, though, was how to deal with being pulled between two different roles: CTO of a new startup, and Partner in a design firm.

Acting CTO

My official…

2.5 months into my time at Slant and along comes a…

I had been working at Slant for two and a half months and, still feeling a bit new, I thought I needed to bring in a lot more contract work than I was currently responsible for. At the time, I had completed a few interesting and intense projects for a regular client of ours, but beyond that I hadn’t pulled in anything significant.

Also, I was way over budget on the iBeacon project and thinking to myself that I was losing money for the company. So, my head was running ever so valiantly towards worry that I wasn’t valuable enough…


Code, Creatively. An open-source API for iOS.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store