Dev Diary - 17th April 2014

This week

We’re now in the ‘Waiting for Review’ stage of every iOS release so most of the time has been spent tidying up, spiking new features and bug fixing in prep for our Android release.

Listening to smart people

A few weeks ago I had a debate about our evolving API with my good friend & college Tim. He was pushing for a more ‘hypermedia-style’ while I was more keen on ‘keeping things simple’. I’ve always kept and ear to the ground on hypermedia but it felt too up in the air still.

My mind has been changed after listening to the ”Hypermedia APIs” epsiode of Javacript Jabber where Steve Klabnik goes in depth on the philosophy behind hypermedia and talks about With a specification building around it - and the benefits of convention and a richer data set - I really feel like it’s something we can get behind. I’m really glad we versioned our APIs sensibly!

I’m also resolved to dig deeper before dismissing an idea. A throw away comment from Steve hit it home for me: “I was like, ‘That person’s smart. But they said something that sounds stupid. I should maybe think about why I feel that’s true and maybe go look into what their argument is.’”.


The past few Javascript Jabber episodes have really stood out for me. Raquel Vélez talking about robotics and Javascript was fantastic and really inspiring to get out and play with something other than pure code.

The Incomparable have rebooted their podcast Teevee. At there moment they’re talking about Game of Thrones.

Dev Diary - 11th April 2014

This week

Super excited that the project I’m on a work is shipping next week!

Looking back I’m pretty impressed with what we’ve achieved so far. We’ve used open source tech well but we’re still only a small team. Over the coming weeks we’ll be shipping an app on both iOS and Android that hooks up to our existing backend systems - then the real work starts!

We were lucky enough to not be vulnerable to heartbleed but I’ve really enjoyed digging into the bug. There’s a great rundown of the specifics here.

I’ve always worked in memory managed languages, but my current C studying has just hit memory management. I was pleased to be able to keep up!


I’ve finally picked up SICP. Not too far in yet but it’s great to be digging deeper into compsci.

On my commute I’m still working through the ”Learn C the Hard Way” which has been a lot of fun. I have to confess that I’ve started copy/pasting the code but that is meaning I have more time for the ‘Extra Credit’ exercises.

My son is obsessed with Minecraft so I’ve also picked up the pragprog’s book on creating plugins for the game. It’s giving me a light introduction to Java and has been good to pair with a 5 year old.


Related to the Minecraft obsession, I’ve found the “Volume Alpha” by C418 really good for coding.

Iterate Imperfection

My wife has had the same website I built for her dance business in 2005. In that time we’ve had countless attempts at redeveloping it, normally starting with opening Photoshop, or setting up an account on the latest CMS service. These attempts all ended up half completed.

Running off the high of an event on Saturday night, we sat down on Sunday to prepare for the next show. Rather than the usual hacky updates, I decided to do improve things a little. Not a full rebuild, not perfect - but good enough.

Automated UI Testing With Cucumber for Cordova/Phonegap Apps

Both iOS and Android have UI automation frameworks for driving the UI which is great for integration/acceptance testing for your app. However, when you’re using a web/native hybrid framework like Cordova, this can get tricky.

If you come from the Ruby world, you may also be used to using Cucumber for integration testing. While the testing landscape for hybrid apps is a little rocky, a lot of smart people are working on some great tools to improve things. With some effort, you can have Cucumber-based integration spec suite up and running for your hybrid app with relative ease.

Building SBGauge

I built SBGauge as part of GrooveCoach as a way to indicate which ‘level’ the user was on. When you tapped ‘+’ or ‘-’ the gauge changed accordingly. As part of developing that app I was keen to open source anything I could.

Given the flexibility of this simple library, I thought it would make an interesting code walkthrough.

Glass Bottles and the Law of Demeter

I can’t throw glass bottles in the bin anymore. I’m not a dread-locked earth hippy but I’ve been recycling for so many years that it just feels…wrong.

Good habits work best when they’re instinctual - like muscle memory.

Todoist Part 1: The Todo

Todoist is a simple todo list application that I’ll be building from the ground up, focussing on the objects and interactions first.