Frames

For the last year and over 6 software products and >2k users, I've been developing an idea called Frames. It’s the expression of a simple insight:

Many thoughts operate like mathematical functions, and these functions are now programs (due to human-level LLMs like GPT-4)

The second part of the sentence above has only recently become true, and I believe it can be used to make fundamentally new systems for learning, thinking and communicating.

Over 100s of interviews with users and friends, one common feedback has been that the idea is particularly abstract. People that haven’t used products built with frames struggle to grok its meaning. We all use the word quite frequently ("how should I frame this...", "that's a neat way to frame the issue") but that usage is only half the story.

To attack the heart of the matter: what exactly is a Frame? While its abstractness is inherent, I'll motivate its meaning and utility through three definitions of the word over time.

Defn 1/ Bateson, 1952 [Steps to an Ecology of Mind]

The word "frame" was first defined in a cognitive sense by Gregory Bateson. He was exploring communication in animals and was particularly fascinated by the idea of Play.

Bateson

When two cubs are playing and one bites the other, the internal message may be "I’m biting you", but if the context in which they’re communicating is Play, then the meaning of the message flips: "I’m (not really) biting you". Bateson defined this communication context as a frame, as in the frame of interaction is Play. Other frequently invoked frames in mammalian communication are Threat and Fantasy.

Bateson's definition is metacommunicative. In written language, punctuation usually signifies — like the dashes on either side of these words — switching between frames.

Defn 2/ Minsky, 1974 [A Framework for Representing Knowledge]

Minsky and other AI researchers in the 1970s were exploring efficient representations for human knowledge. They expanded the definition to include any stereotyped context.

In Minsky's definition, for example, going to a birthday party is a frame. There is metadata associated with the frame: such as expectations for what is about to happen, what you expect to see, and perhaps some instructions for what to do if these expectations are not met. Here is Minsky's definition in his own words (highlights are mine, relevance explained later):

Minsky

This definition was then further expanded and applied for political communications and mass media, by people like George Lakoff.

Defn 3/ Mine

My route to Frames may seem a bit silly at first, or second, or if you're low-openness, even at third! It does not matter. I've been making thinking tools for about 1.5 years.

I first built Smoltalk: a cute bird that would ask you questions to help you think about something by asking you questions on a topic. It was cute, so a lot of people used it for relationship advice. So I then made an iOS app called Redflagz, where you'd upload screenshots of your conversation and see a scorecard with red, yellow, green flags, attachment styles, potential, interest and compatibility.

Redflagz

I also happened to be reading Steps at the time, and I realized each of these was one frame with which to think about a conversation/relationship. Since then, I've pivoted to the central idea of frames and built many products with frames as a core mechanic...

Specters of the promise of a third definition appear and begin to tug at me: an Open Gestalt, as some would call them. They ask for payment. Here it is.

First recall, from elementary algebra, that if a function f is defined as:

f(x) = 2 * x, then

f(12) = 24, and

f(15) = 30.

Now, forget everything you've read about the word frames so far, and see with fresh eyes the colored text in Minsky's definition:

Minsky

If the portion in blue above is taken to be a function, you can apply it to the specific examples given in yellow and orange above. This yields, in each case:

🔵(x) = "Attached to a frame are several kinds of information. Some is about what one can expect to happen next."

🔵(🟡) = "You expect to see: a TV, a sofa, some sort of table in the middle"

🔵(🟠) = "You expect to see: guests arriving, a cake, a happy birthday song sometime in the middle"

Such functions are what I’m calling frames. The benefit of defining them in this way is that it maps quite well to what is newly possible with AI: these functions have become programs.

You're still here!? Fine, here's a bit more.