Show Menu

Military Strategy & Web Performance Cheat Sheet (DRAFT) by [deleted]

Military Strategy Teaches Us About Web Performance

This is a draft cheat sheet. It is a work in progress and is not finished yet.


At the conclusion of the Korean War, US Air Force fighter pilot Colonel John Boyd, graduated at the top of his class from the presti­gious Fighter Weapons School in Nevada. Shortly thereafter he became an instructor at the school revolu­tio­nizing aerial tactics and developing the concept of the OODA loop

The OODA loop is a reoccu­rring decision making cycle that, while originally intended for use by fighter pilots, has now been adopted in many fields including litigation and business. Boyd broke the loop into four phases:
Observe: Collect data from the surrou­nding enviro­nment
Orient: Analyze and synthesize the data to form a mental model
Decide: Determine a course of action based on the mental model
Act: Physically act on or implement the decision

The OODA Loop

The OODA loop begins with Observ­ation, and ends in Action, but at any point in the cycle, if the situation changes or you do not have a clear picture, you can reset and go directly back to Observ­ation. The more salient point though, is that Action is never reached without first Observing, Orienting and Deciding.

When consid­ering web perfor­mance, following the OODA loop ensures that developers avoid the evil, premature optimi­zations that Knuth warns about. It is very difficult to optimize in the wrong place or at the wrong time if you’ve properly observed, oriented and decided first. Let’s consider how the OODA loop applies to web perfor­mance in practice

1. Observe

Leverage web analytics and real user monitoring (RUM) techniques to gather inform­ation about page usage and perfor­mance. There are plenty of web analytics libraries available that are easy to setup and use. I’ve had great success with Google Analytics in the past. For RUM data, the WC3 has authored several specif­ica­tions (Navig­ation Timing, Resource Timing, User Timing, etc.) that have been well adopted by browser vendors and provide most of the data required.

2. Orient

With usage and perfor­mance data gathered, leverage simple statistics and charting tools to build up a mental model that’s easy to reason about. Median values, time series charts and histograms are commonly used and easy to generate, even using software as common as Excel.


3. Decide

Identify popular, yet under performing functi­onality within the applic­ation and decide how to improve it with carefully calibrated synthetic tests. Synthetic testing systems, like the perennial favorite WebPag­eTest, use highly instru­mented browsers to provide deep insight into the loading and perfor­mance of web apps. This insight allows developers to confid­ently decide how to best improve the perfor­mance of their targeted functi­ona­lity.

4. Act

Update the code, commit it, deploy it, then take the most important step in the cycle.

5. Repeat


Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi