Blog

Our thoughts on technology and design

Tech
In this article I'm going to create two simple, reusable D3 components for adding line annotations to charts.
Delivery
The exact method used for introducing Agile will depend on the nature of our client. Here I look at how different clients might affect the approach we take.
Tech
We're the Scott Logic interns for Newcastle in 2014, and our project was to make a mobile-compatible version of the Scratch HTML5 player that allows offline access, and app-like immersion. This blog post is an overview of what we managed to achieve ...
Tech
An open-high-low-close chart is a type of financial chart used to show price movements in a financial instrument over time. In this post, we'll make a reusable D3 component for an OHLC chart series.
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.

Authors