Blog

Our thoughts on technology and design

Delivery
An alternative to introducing Agile incrementally is to make a 'big bang' transition, converting over to Agile all at once. In this post I take a look at how this might work.
Tech
How to use Asp.Net's built-in bundling and optimisation feature to optimise AngularJS templates
Tech
Actor Models make writing concurrent and scalable software much easier. This post uses Akka and Scala to demonstrate some of the benefits of the Actor model.
Delivery
One of the common ways of introducing Agile is to incrementally move the current process to a more Agile one. Here I take a look at the strengths and weakness of this approach.
Tech
SignalR is an easy to use framework for .NET and the browser which enables bi-directional communication over a variety of transports (from WebSockets to Ajax long-polling). The SignalR Hubs API is dynamically typed, in this post I will summarise some existing tools which can be used to provide strong typing for calls between C# and TypeScript, as well as a more experimental approach via F#, FunScript and Type Providers.
Data Engineering
Sharded clusters enable the data persistence layer in MongoDB to be shared across several machines. In this post, we will look at the key considerations you should make before you use sharded clusters.
Tech
Writing end-to-end tests for a Single Page Application (SPA) built with Angular or Knockout, and how to improve the robustness of those tests.
Tech
As part of a project I'm working on, I have a requirement for a NoSQL database. There are numerous offerings out there, of which MongoDB and CouchDB appear to be the most popular. So which system should I choose?
Delivery
As Agile methodologies gain more acceptance in the software development world, should Scott Logic look at introducing Agile to our client projects? And if so how?
Tech
It was just two months ago that Apple took us by surprise in releasing the Swift programming language. This blog post reflects on the first few months of Swift adoption.
UX Design
The link between hip hop and UX design doesn't come up often, but it should.
Tech
A comparison of Angular and Knockout in an enterprise scale single page application, by building the same sample application with both tools.
Tech
This blog post looks out how Swift makes the combination of ReactiveCocoa and MVVM even better ...
Tech
Reactive programming is a paradigm which allows you to better represent a work flow where changes in one part of your data model propagate down to other parts of the model. This blog post demonstrates an example of this, by listening for updates to Wikipedia and reacting accordingly.
Tech
A few months ago I published a blog post which showed the results of analysing the meta-data of 75,000 apps from the iTunes App Store. This blog post continues the analysis by adding 60,000 Android apps into the mix.
Tech
I've recently had a two-part tutorial published on Ray Wenderlich's website that details how ReactiveCocoa can be used to implement the MVVM pattern within iOS applications.
Testing
Which school, which certificate? It’s a minefield for testers. Are any certifications worthwhile?
Tech
In this blog post I want to take a quick look at the Swift Sequence protocol, which forms the basis for the for-in loop, and see how this allows you to write code that performs sequence operations that are only evaluated on-demand.
Resources
Moving from desktop or plugin technologies (Flex, Silverlight, Java Applets) to HTML5 is a challenge for developers of large-scale enterprise applications. This White Paper discusses the challenges and offers potential solutions.
Tech
This blog post presents a simple utility class for binding ReactiveCocoa ViewModels to UITableViews without the need for the usual datasource / delegate boiler-plate.

Authors