Silent no more…
Wow the past few months have been quite a wild ride, and a ton of things have happened! So much has gone on and I’ve been writing so much software that I haven’t had the time to blog about it. In the time I’m not writing software, I’d rather spend it with my wife than spend it writing about the software I’d written.
Over the past few months, while the PhoneGap team started a major refactor of their codebase, I spent some time learning more about Objective-C and UIKit, and discovered that writing native software on the iPhone is a heck of a lot easier than I’d previously expected. It shouldn’t have surprised me, because I’ve heard rave reviews from developers I have a great deal of respect for, and it also shouldn’t come as a great shock that Apple treats their developer SDKs with the same degree of polish and attention-to-detail that they do to their hardware. So while I was working with PhoneGap I’d contributed a number of plugins exposing the iPhone’s native UI elements to JavaScript-based apps, I’ll no longer be updating or adding any new plugins.
While my blog was collecting dust, I also finished a PhoneGap-based app, Parking Mobility, and while it was nice to start the project in familiar languages like HTML and JavaScript, a ton of time ended up getting eaten up chasing random bugs, memory leaks, and strange UI behaviours that required odd work-arounds to eliminate. In the end I discovered I’d spent more time getting the application to market than if I had built it in native code. Starting this past weekend I’ve begun doing just that, writing the application in UIKit and Objective-C in order to get more performance and a better user-experience out of the app than we have currently.
One of the other big reasons why I haven’t been as chatty on my site as usual is, of course, the launch of the iPad and the iPhone 3.2 SDK. I decided to hit the ground running with this platform, and used this new SDK as my playground for learning more native development skills. I developed two applications for the initial launch of the iPad, Boomle and myDrum Pad.
Boomle is an easy-to-play game featuring peaceful sounds, low-touch interaction, and an addictive gameplay. It was a lot of fun to build, and got me started working with OpenAL, manually drawing displays, and dealing with real-time games.
myDrum Pad in contrast is an interactive drum pad that aims to allow people to tap beats out with a variety of sound packs along to music, or create their own riffs. It’s still in active development, but this has been a blast. I’m developing it with CoreData, OpenAL sound playback, multi-touch displays, In-App purchase and asynchronous downloads from Amazon S3. It’s a highly dynamic UI with a smooth user experience. It’s also the first iPhone project that I’m directly involving a graphic designer with the whole process, and once we get a beta ready, I’m sure you’ll like the screenshots and demo images we’ll be putting up.
Last, and certainly not least, I’ve changed roles in my day job at Sophos, and am working once again in the Email Security team developing our Email Security Appliance. I get to play with all sorts of complex problems, web-based administration interfaces, and pretty much every technology under the sun.
Now that these projects have all stabilized, I’ll hopefully be blogging more about Objective-C, Javascript web applications, and technology in general. Plus Summer’s quickly approaching, so hopefully I’ll have some pictures of my motorcycle and any trips my wife and I take this summer up here soon.