But wait... are they Single Page Applications?

In this post I'll address a vexing and potentially contentious question concerning terminology, in which I'll argue that CSR applications that support multi-page behaviours are not Single Page Applications, or should not be called Single Page Applications.

The Stateful CSR-MPA pattern

This is the second of two design patterns that is entirely Client-Side Rendered (CSR) and supports all the multi-page behaviours. This design pattern uses the HTML5 History API to suppress page reloads where possible, and in the remaining cases where page reloads cannot be suppressed it carries them through as smoothly and efficiently as possible.

The Simple CSR-MPA pattern

This is the first of two design patterns that is entirely Client-Side Rendered (CSR) and supports all the multi-page behaviours. This design pattern implements the multi-page behaviours in the simplest possible way for a CSR application.

The HTML5 History API

Back in 2011, a new part of the HTML5 specification known as the History API was introduced, which transformed the ability for Client-Side Rendered (CSR) applications to support multi-page behaviours.

What are multi-page behaviours?

In this blog series, I'll use the term multi-page behaviours to refer to the set of behaviours you expect from a traditional Multi-Page Application (MPA)—even if they're not implemented like a traditional MPA.

Multi-page behaviours in modern web applications

A while ago I looked into Multi-Page Applications (MPAs)—and in particular the behaviours we expect from MPAs, and how modern web applications provide those behaviours even when they are not implemented like a traditional MPA. In this blog series I'll explore some of ways they achieve this.

Notes on the guitar fretboard: some visualization tools

Following my earlier posts covering an introduction to the notes on the guitar fretboard and some basic music theory, in this post I'll provide some visualization tools to help provide some insight into the structure and layout of the notes on the guitar fretboard.

Testing a Mac OS X web site using a local hostname on a mobile device

If you have a locally-hosted version of a web site for testing or development, you'll almost certainly want to test it on a mobile device. Let's say the hostname is defined locally in the "hosts" file. How can you test the site using the same URL on a mobile device without jailbreaking the device, using a DNS server, or paying for additional software? In this post I'll describe a way to do exactly that.

Notes on the guitar fretboard: some basic theory

Perhaps one of the more puzzling things for a newcomer to music theory is the apparently uneven distribution of “natural” notes: why are they next to each other in some places like E and F, and not in others like F and G? To understand this, we need to take a step back and look at some basic music theory.

Notes on the guitar fretboard: an introduction

While you can get by playing chords and patterns on the guitar without knowing individual notes by name, at some point you probably want to learn the note names across the fretboard---perhaps in order to help remember what you've played, read and write music, and communicate with other musicians. What follows is a basic introduction to the notes on the guitar fretboard.