Blog

Our thoughts on technology and design

Tech
A few months ago Facebook announced React Native, a framework that lets you build native iOS applications with JavaScript. I've been spending the past couple of months building am app with this framework, which I have finally been able to share!
Tech
I've been building a React Native app for the past few months, which was published as a tutorial yesterday. A number of people have asked about my thoughts and opinions about React Native - which I am sharing in this blog post.
Tech
When it comes to coding style in JavaScript, what makes most sense - one var declaration, multiple at the start or scoped?
Tech
ZeroMQ is an opinionated, light weight, blazing fast messaging library. Here I take a look at how to get up and running with it and the building blocks it provides you with.
Tech
For some reason, everybody and their dog has written about how to parse JSON in Swift. Not wishing to be left out, I thought I'd throw my hat into the ring.
Tech
A quick run through of the steps involved in integrating a Node.js client with Active Directory Federation Services for authentication using OAUTH2.
Tech
Localising a web application to a high standard is difficult. Why is that? Consider the following differently formatted numbers...
Tech
I'm relatively new to the world of single page applications and have just finished a project built using AngularJS.
Tech
This blog post explores the novel approach taken by the React.js team, where the UI is expressed as a function of the current application state, and re-implements it with Swift.
Tech
Avoiding broken promises with WebDriverJS - a quick guide to avoiding some of the framework pitfalls.
Testing
When Malcolm Gladwell wrote a book called Blink about the power of the subconscious in 2005, a heuristic was named for it. Read on for how blink testing works, and some further thoughts on how other ideas the book contained can influence your testing.
Tech
I have recently been using a set of tools called fastlane, developed by Felix Krause. fastlane helps to automate the steps involved in building and deploying iOS applications to the App Store.
Tech
I mentioned in the previous post that I would create a plugin for less which converted from LTR to RTL. Here is a tutorial post on creating that plugin.
Tech
Some languages of the world (Arabic, Hebrew etc.) are RTL, meaning they are read right-to-left, instead of left-to-right. Typically in web applications supporting one of these languages, everything is reversed, meaning scroll bars, progress indicators, buttons etc.
Tech
Swift has access to all of the Objective-C APIs, which means that anything you could do with Objective-C you can now do with Swift. However, there are times when it is worth exploring a better, pure-Swift, alternative. This post explores the pros and cons of KVO versus a couple of Swift alternatives.
Tech
Swift does not have a built in eventing mechanism. This post explores a few different ways events can be implemented in Swift and how to avoid problems of retain cycles and closure reference equality.
Tech
This blog looks at how CSS flexbox layout can be applied to SVG in order to simplify the task of constructing charts with D3. This approach has been made possible by the JavaScript flexbox implementation that Facebook recently open sourced to support ReactJS Native.
Tech
The upcoming JavaScript standard ES6 introduces generators, which provides us with a new pattern for writing asynchronous code. I compare this pattern to the established patterns of callbacks and Promises.
Tech
Swift doesn't support throwing exceptions, nor does it support catching them. This wouldn't be a problem if you could develop iOS apps in pure Swift, but unfortunately at the moment you cannot.
Tech
TypeScript 1.4 was released last Friday, bringing union types, type aliases, and some ES6-related features. It also brought a new compiler and language services API to facilitate better tool support. Here I'll give a brief introduction with some pointers on places to get started.

Authors