Algorithms and Heuristics

Weekly I/O#67

Algorithms and heuristics are two sides of the same coin in product development, with algorithms providing objective measurements and heuristics offering subjective judgment.

Book: Creative Selection

At Apple, product development aims to orchestrate algorithms and heuristics to create great products. They use the word "heuristics" to describe aspects of software development that tip toward the liberal arts. Its counterpart, "algorithms," was its alter ego on the technical side. Heuristics and algorithms are like two sides of the same coin but with different purposes.

Algorithms are specific procedures that follow a predetermined logic, producing quantifiable results with clear goals. For example, in the case of improving Safari's performance, the average time to load a web page was the measurable result, and the goal was to reduce this number. Algorithms provide objective measurements.

Heuristics also involve measurements such as the animation duration or color value choices, but there isn't a similar "arrow of improvement" that always points the same way as algorithms. Heuristics are harder to define and lack a clear improvement direction. Therefore, they require demos to explore and time to evaluate. For example, determining the animation duration involves building demos to explore how it feels and providing feedback to improve. Heuristics offer subjective judgment.

In certain cases, algorithms and heuristics are combined and chained together. The output of one heuristic may become the input for an algorithm, which then feeds into the next heuristic. For instance, consider the action of swiping left to view the next image in the Photos app. The first step involves detecting your finger movement to determine whether the swipe should go to the next photo or remain on the current one (a heuristic). The software code then uses this information to shift the photo display to a specific position to center the next image (an algorithm).

Want to learn 5 bite-sized cool things like this every week to understand the world better? Sign up below for my free weekly newsletter and learn together!

Weeklyio Banner