What would it look like to build space repetition into an OS or into one of these fundamental systems, so that it’s a core building block of a system? ANDY: I think spaced repetition is a special case of something much more general, that I’ve been labeling programmable attention. Just this idea that there are so often lots of little things in your life that you’d like to orchestrate happening maybe with some regularity, maybe periodically, maybe repeatedly over time, maybe with that schedule responsive to some kind of input or feedback. And so when I imagine the very general version of space repetition, I imagine something where maybe I start reading a paper and I get tired, my attention’s slipping. And so I can program my attention later and say throw this into some reading spool, sometime in the near future and just trust that’s going to happen, my attention’s going to be guided back to it through some orchestration later.
Spaced repetition as a special case of programmable attention — the ability to orchestrate when and how ideas surface over time. The same mechanism that powers memory systems could power creative ideation: scheduling when an idea returns to consciousness, letting it turn over in the background. Software could make “turning ideas around in your head” an explicit, programmable affordance. enzymeMeaningful correspondence with a research colleague can be real work, but it is in a cordoned-off section of time because I will absolutely do that. But the writing inbox is working better for me. And I have a little bit closer to a dynamic system, where I’m kind of constantly collecting the material to write about whether it’s when I’m out walking, or I’ve read something that interests me. And I throw it into a writing inbox and I have various mechanisms to let me view a slice of older stuff, repeatedly view things that I’m not sure how to deal with yet.
DEVON: So essentially to keep it like a candy store, you have to do a lot of curation over time and make sure that everything in there is high value or you really strongly feel like it has the potential to be high value? ANDY: Well, it’s funny I want everything to feel like a candy store, but I also don’t want to feel the burden of curation, because this thing about having to manage the inbox down to zero that sucks, making these decisions about am I going to snooze this? Am I going to respond to this? I feel guilty about it, I hate that. I want the good stuff to float to the top and the bad stuff to sink to the bottom. And I think you can arrange that just by these temporal strata that I was referring to where if you don’t respond to something after it’s been surfaced to you for enough times, then you can take out the rotting vegetable and put it in the trash bin, and you’ll probably not notice without explicitly curating it.
And initially I feel bad about this because heartfelt and personal messages arrive and there’s real correspondence that doesn’t get action. And yet it is also just the case that responding to this is less important than using my time to do novel work. And this is one of the other problems with I think a lot of the way that we think about inbox design is that it’s kind of a menu problem, a menu problem is like it’s difficult to order what’s not on the menu. And often the correct menu choice is not responding to everything and just spending less time and dropping stuff on the floor. DEVON: Yeah. And the inbox not only can constrain what you think you should be doing, but it feels really wrong not to respond to them all. The affordance is that you should respond to these or deal with them in some way. Andy and Shabu. Image from Andy Matuschak. ANDY: That’s right. DEVON: I often find myself drawn to my email inbox when I’m not quite sure how to solve a problem on something important. ANDY: Yes. Absolutely. DEVON: And because it’s this really easy win-
Inbox design that works with temporal strata rather than zero-inbox curation: let good material float to the top through repeated surfacing, let bad material sink through neglect. The system suggests synthesis in small bites rather than forcing periodic organization marathons. The curation burden shifts from active decision-making to passive selection through attention. enzyme pkmWhy do you think this is more common with athletes and musicians than it is with programmers and perhaps physicians, working on those core skills? ANDY: I’m willing to basically accept the traditional answer to this question for now, which is the core skills of an athlete and a musician and a dancer, and these kinds of things are really well for structured. So we kind of understand there’s a certain number of muscle groups that you train in a certain number of ways, we can assess their current state really easily
But what about something like breaking down a software deliverable into tasks or into an architecture to be implemented. I think that’s a fairly difficult thing to assess. We don’t culturally really have agreed upon a set of levels, or know what it is to be better or worse than that except intuitively. I think it’s often not clear to people that they might need to develop in that until it’s too late or maybe not even then. And we certainly don’t have well developed practice methods. You can just architect a bunch of systems and that’ll probably work, but that’s pretty different from improving your agility on the piano by playing a certain kind of Czerny exercise or something like that.
Dynamicland is trying to be a highly social computer. It’s not just a computer which takes place in physical space, it’s a computer which takes place in a shared physical space. This is a large environment that many people inhabit and it is all the same computing environment. And there are no seams in the computing environment, so what this means is that if I’m sitting at a table where you’re doing something on the computer, what you’re doing on this table may reach out and interact with what I’m doing over here at the other end of the table. And while that sounds like it could be annoying in practice it’s extremely rich socially because it means I can look over and see that you’re doing this very interesting thing on the table. And I can now riff on what you’re doing, it feels a little bit more like computing as a jam session or something like that.
One thing which comes to mind is that Dynamicland is a strange laboratory. It was a space in Oakland that is no more, but it’s a physical environment where the primary activity being undertaken was creating this very unusual computing system. And so insofar as there was pressure in the environment to evolve a new kind of programming computational system, that pressure was being able to make new programming and computational systems. So there’s a kind of recursion there that maybe leads the design of the system away from the needs of visitors to the space. So the aspiration was we’re going to have artists and musicians and scientists come to the space, and they’re going to use the system and they’re going to push around the development of the system in important ways. But in practice, it was very difficult to get a scientist to like spend a bunch of time doing their work in the lab.
And so most of the work being done and most of the work being observed was about building new software systems, or we’d have a class of artists come in for two weeks and they’d do some stuff. And some of that would be interesting and rich and we’d improve the system based on that, but then the artists would go home and then it’s back to building more computer systems
The system is meant to be used by artists. Don’t over engineer it. ecology-of-technologyAnd so I think that in order to grow the system they’ll need to situate its growth in some serious context of use that is not about building a system
And maybe group chats then begin by I can kind of pick up some message and then put it next to some others, and now we’re in this kind of republic of letters together exchanging weird postcards. DEVON: That’s such a fun idea. During the deep pandemic, I experimented with a Figma board with a group of friends. ANDY: Oh, cool. DEVON: And we were using that as our messaging app. It had the problem that I don’t open that Figma board for any reason. ANDY: Just check it. DEVON: I have to think to check it, so it really actually breaks the idea of peripheral vision
DEVON: That’s so fun. It feels like a theme of the last 10, 20 years has been around software scaling widely and being used in a lot of different situations, and that makes a lot of business sense, you can lower marginal costs and so on. But you end up losing a lot of context, which could allow you to build more special software that creates you feel a particular thing or solves a particular problem. And it seems like I’ve been hearing more people talk about specialized software systems, or homegrown software and that sort of thing, I’m very excited about that. Because I think that we’ve really lost something by having tools that are used by billions of people, and they have to fit all of them. They probably won’t, they have different goals. Sometimes they’re at funerals, sometimes they’re at a rave. Sometimes they’re doing completely different things. And so if the software can reflect those moments in your life, I think that the software would just mean a lot more to people. ANDY: Yeah. Absolutely. Robin Sloan has this great piece, “Software can be a Home-Cooked Meal.” I really love this. And if we take it seriously, we get to this observation that I can cook dinner without having to go to some central industrial kitchen because I actually have a kitchen in my house. And that kitchen has the appliances I need and pots and pans and stuff, I have the tools of the trade in order to make a home-cooked meal. And they’re less serious in certain ways than the industrial kitchen, and so I’m not allowed to make certain kinds of meals even, but I can do it. And I think that kind of reveals an issue in software, even with decades of work on end-user programming research, it’s still very difficult to make a homemade meal kind of piece of software, even for an experienced person like me. Just on a whim, you and I are in a particular message group and I want to make a messaging app just for our little chat group, it’s like that might be a multi-week project even for a very experienced person.
I don’t know whether it’s going to come through new kinds of programming environments like expanding something like Excel but for Messaging apps. Or whether it’s going to be something more low code, no code kind of environments where they figure out… I guess the analog might be a highly customizable messaging app. And so it’s not that you’re making an app for you and your group it’s that there is an app which someone else has made, which has the affordances of allowing you to highly, highly, highly customize the feel of individual chats, much more so and that’s it’s differentiator, it’s like a no code Messaging app, I’m not sure which direction we’ll end up going.
