What I've Been Working On
October 01, 2010

You might have been wondering what I’ve been working on since leaving Sports Interactive.

Yes, ok, you haven’t been wondering at all, you’d forgotten that I exist, but I’ll tell you anyway…

The answer is “lots of stuff”.

One thing I’ve been doing is an iPhone application for my friends at Pod Point. Pod Point make cool high-tech charging posts for electric vehicles, and they wanted an application that allowed users to find the nearest post on their iPhone. Version 1 of the application is done, but isn’t in the store yet. Unfortunately there are some issues with having a product that legitimately has the word “pod” in its name…

Something else I’ve been working on is Neu, which I’ve blogged about a little bit before. It’s quite a small application, but I’ve used it to get up to speed with a number of Cocoa technologies. I’ve been juggling time between projects recently, but the proper release version of 1.0 should be coming just as soon as I finish sorting out my online store.

I’ve also been working on a number of my own iPhone projects. Some of these have been vehicles for learning about one or other iPhone technology, but others are intended to make it into the store as fully fledged products. The one I’m nearest to completing at the moment is code named “Ici”, and it’s a sort of special purpose Twitter client. There are quite a few other projects on the drawing board too.

All of this development has also resulted in me developing a fair amount of shared libraries and utility scripts, many of which can be found on either my public git repository or the Elegant Chaos git repository.

I’m the kind of programmer who likes to build tools and generalise code into libraries. If taken to extremes this can distract from the product that I’m working on, but it can also lead to serious increases in productivity. Computers are great at doing the same thing again and again, yet I’m always amazed by the number of programmers who are quite happy to continue to do tasks repeatedly because they don’t think they’ve got time to write a script to do it for them.

Of course there are times when you just have to knuckle down and finish the job you’re on, and I’ve certainly learnt something from the Extreme Programming mantra of “the simplest thing that works”, but like most things in life it’s a balancing act, and there are times when taking a day up front will save you a week or a month later.

Luckily, most of my time pressure at the moment is self-imposed, so I’ve had the luxury to write tools and generalise code into libraries. I really hope that this pays off, but even if it doesn’t, I’ve had fun along the way.

I’ve made some of this stuff open source, not because I particularly thing that it will be an off-the-shelf solution for anyone, but more in the general spirit of sharing. In particular my Cocoa libraries ECFoundation, ECTouch and ECAppKit are things that I am using myself, and will continue to maintain for my own benefit. They aren’t brilliantly documented at the moment, but my plans do include producing some better documentation eventually, for my own benefit and for the eventuality that I end up collaborating with other coders on a project that needs them. It would be hard for people to use all the code in these libraries right now without knowing what it does, but some chunks might come in handy. If you find something that you’re interested in, feel free to get in touch.

[Updated Feb 2012 to correct some broken links]