November 6, 2020

Remixable Software

Remixing for a better software future.

Remixable Software

The personal computing revolution succeeded and we are all miserable. The dream of personal computing as augmentation for the intellect, and the joyful, radical counterculture that arose around the first PC's has given way to our increasingly dismal present.

The riot of experimentation of the early PC era was eventually subsumed by commercially successful but ultimately bland products. In a classic example of the flaw of averages, the computers and software we use today are intended for everyone but ultimately satisfy no one.

But there may be a way out. Software that uses innate human drives to make something that better fits every user is possible. In fact, it's already been written.


Remixing is Human

In 1993, id Software released a masterpiece of software.

As a video game, DOOM fulfilled the user’s needs perfectly - it was fun, exciting, and visually spectacular. But more than that, DOOM was engineered to run on the average machine of its time, ensuring a wide install base, while still pushing the state of the art in graphics, sound, and networking. This made DOOM wildly commercially successful, buying John Carmack his first Ferrari.

But DOOM was also extremely humane software. It let you play with your friends, even in the shareware version. And along with the game itself, id released tools which allowed anyone to easily modify the game’s levels and assets, and then share them for others to use. This created a thriving ecosystem that exists to this day.

DOOM embraced the idea of shared creativity. Rather than requiring the user to start from a blank slate, DOOM provided the structure and tools which allowed people to re-combine and add things to an existing system. This lowered the barrier to entry, not only in terms of the required technical skill (since it was not necessary to learn to write code to use DOOM’s tools), but also the required creativity to make something others might enjoy.

DOOM is remixable software.


What makes remixing work?

It’s a lot easier to make something new by modifying something that already exists than it is to make it from scratch. This pattern repeats over and over again, in the structure of online communities where ten times more people contribute to existing content than create it in the first place.

Just as important as the ability to share content itself is the ability to easily share how something is made. The most common remixed media is all visual; meme templates lay out the recognizable format and it’s intuitively obvious how to change them into messages that suit your niche or community. Other platforms like Snapchat, Instagram, and TikTok come with remixing tools built in - they are designed for remixed content within the bounds of their apps and communities.

The mechanism of sharing thus plays a dual role; it propagates both content, and the knowledge that content can be changed to suit one’s own tastes.


Harnessing Shared Creativity

Shared creativity is a powerful force. It’s amazing that preteens will go through the hell of working with the Java programming language just to make something cool that they can share with their friends in Minecraft. This has also been true historically; artistic and scientific movements are often driven by incremental advances in response to shared progress. Seeing that something can be modified to create something new is enough for people to start exploring all kinds of possibilities.

This goes beyond the ‘trivial’ realms of media and games. Professional 3D modelers use Houdini to share not only their models, but their entire workflows for every component. In many ways, programming itself is often about remixing existing components shared as packages and libraries, to better fit the specific needs or desires of the programmer.

There is a lot of room to apply these ideas to other kinds of software. The three necessary components are;

  • Workflows that encode not only the usable end product but also the steps used to create it.
  • Discoverability and sharing for the most useful workflows, and the ability to propagate them appropriately through various niches.
  • A user culture of playfulness and safety that makes remixing a first class user activity.  

The road to more humane software that overcomes the homogeneity of scale leverages the human need to create and to share. Maybe Excel stories isn't such a silly idea after all?


Cover image courtesy of @CrookedCosmos.

Further reading:
- Rewilding the Web: My article on a more human future for the internet.
- UI: A personal view: Alan Kay on what a user interface for a computer should be.
- Tools for Thought: A "retrospective futurist" vision for computers.

Ideas inspired by discussion in the Why Computers Are Bad and What We Can Do About It held together with @NickArner.