Future of Coding - Personal Dynamic Media by Alan Kay & Adele Goldberg
Episode Date: July 18, 2022There once was a podcast episode. It was about a very special kind of book: the Dynabook. The podcast didn't know whether to be silly, or serious. Jimmy offered some thoughtful reflections, and Ivan s...tung him on the nose. Sponsored by Replit.com, who want to give you some reasons not to join Replit, and Theatre.js, who want to make beautiful tools for animating the web with you. futureofcoding.org/episodes/57Support us on Patreon: https://www.patreon.com/futureofcodingSee omnystudio.com/listener for privacy information.
Transcript
Discussion (0)
that's great thank you so much There you go.
That's great.
Thank you so much.
One thing I've been thinking about is visual programming for low-level systems.
I've been exploring the Ruby JIT compiler that they recently added, YJIT,
and I made a visualizer for it because actually trying to understand,
reading raw assembly, let alone raw machine code,
is not actually that fun, to be honest with you.
Trying to keep track of all the different places
the branches go, et cetera.
And I think that for me, whenever I'm doing
kind of scripting type stuff you
know kind of the javascripty the pythons the rubies or whatever i don't feel this like pull
for visual programming but as soon as i'm in this like lower level stuff where i have to like
keep track of my memory know the values of my registers etc that's when I feel like a visual programming language would just
help me out tremendously.
That's interesting you say that
because I only write
scripty kind of
code. Those are the only kind of
programming languages I use, like Ruby
and CoffeeScript.
But yeah,
I've written maybe three or four lines of C++ in my life, and I've read Rust code, certainly.
It's almost readable.
But I've never done any super low-level stuff outside of university, and I still feel that pulse.
So that's strange to me that you feel that distinction.
Where does it come from?
I think it's because I'm pretty decent at keeping
track of things in my head. And I feel like for kind of scripting languages, usually the number
of things I have to keep track of in my head at one time is on the order that I can understand
and actually do. And maybe it's just like, because I've done it for so long, right? Like I've done a
lot. I've worked in a lot of these more high level languages so i'm very used to it but as soon as we're down at
this lower level it feels like that there's this massive growth in the number of things i have to
be thinking about at any given time and visual programming to me really feels like it minimizes
that burden right like you you don't have to keep track of everything in your
head at all times, because it's displayed on the screen, it's visual, it's, you know,
explorable, etc. Right. And so that I guess is where I'm coming from on that is, it just seems
like visual programming actually would work better for these languages, you know problems that you have to keep
track of so much I just don't see anything doing that and I guess maybe
it's because like the runtime environment of a visual programming
language has to be a little bit you know higher level but the the end artifact
has there's no reason that you couldn't just compile it to straight machine
code.
Yeah.
Well, and I'm, oh, wait, no.
Well, I was about to say something that would be too much talking up my ass, even for this
show.
But yeah, yeah, no reason you couldn't do that, for sure.
Yeah, and I guess that would be really interesting to me
is what if you had a visual programming language that just was like x86 64 machine code like that's
the level you're operating at well and forgive my relative ignorance for having not toiled in those
particular minds the instructions that you are working with or like if the set of
instructions is smaller in those kind of languages yeah uh sadly not the case really the case for x86
64 okay right it's it there's just just um well it depends on how you divide them up right you can
think of it as being like there's a instruction, but really there's like 40 different kinds of move instructions.
Because the only assembly I've done is Spark, and I think that's RISC.
Yes, that's RISC.
And yeah, if you're doing a RISC setup,
then it would be very easy to have that limited number.
Which I think lends itself well to at least like NodeWire-style
visual programming languages like the bane of my
existence is how max msp just has so many different kinds of nodes like you'll have three different
nodes that do roughly the same thing and if you like did a voronoi diagram of them or whatever
like for some reason there'd be a weird gap in the middle where they don't quite have the the
particular use case you have in mind and so you have to just cobble something really really rube goldbergian
rube goldbergian uh together to get what you want so i feel like having a a smaller number of
instructions to work with means that those instructions have to like there's there's more
of a a pressure in their design for them to be compositional in a way that you want as a programmer.
So I could see that feeling really good.
Yeah, I think that would be probably a better place to start, right?
Like a risk-based architecture.
And then what I'm imagining is visualizing things like pointers, right?
Because you're having to think about pointers.
You're having to think about how they're changing over time if you're you know pointing at memory that's no longer valid and if you're able
to like visualize your running program i just feel like you could see those even if they don't
actually happen the potential for them to happen you know in a much clearer way whereas now it's
very like you have to abstractly think through what is possible
and not. Yeah, let's dig into this. Because when you say like, oh, I can imagine, you know,
low level programming being amenable to a visual programming language, sort of implicit in that is
is an assumption of what gets visualized. Because I think different visual programming languages,
at least the interesting ones that aren't in the kind of the cluster of Max MSP style node wire pasta,
they visualize things differently. And they sort of choose what to visualize based on
what kind of work you're meant to do with them. And so when you're thinking of this kind of low
level programming, like visualizing pointers, in what way? How do you think that would look?
What other kinds of things are you thinking about visualizing pointers in what way? How do you think that would look? What other kinds of things are you thinking about visualizing?
Yeah, one of the things that got me thinking about this was,
it's a little bit on halt,
but I've been working on a Game Boy emulator
with a former coworker on the weekends.
And you're having to think about
a number of parts of the hardware
when you're trying to do this Game Boy emulator.
The Game Boy doesn't really have uh stack exactly i think it does but like it's not a prominent feature
instead what you're really focusing on are these memory banks and these memory banks are like
swappable in and out so like you'll have like memory bank one and that might point inside the
the normal system memory but then you plug it in a game and that game tells you like,
no, memory bank one now points at my cartridge over here.
And so I think the sorts of things you'd visualize
really kind of depend on those
like hardware level things, right?
And kind of what access the hardware gives you.
But if we're thinking about kind of a modern computer,
I'd love to see the stack, right? I want to be able to visually see the stack, see the frames broken
out, I'd want to be able to see the heap. And like, if I have pointers into that heap, I can see,
you know, a big old rectangle of my heap and where the pointers pointing at, right? And see that move
over time. Things like that, to me would be so definitely not a
max MSP node wire sort of interfaces isn't what I have in my mind, right? I would want to kind of
make concrete to those abstract things of the stack, the heap, you know, if it if the system
has other hardware components, have those be reified, you know? Yeah, this sounds like, almost like debug visualization
instead of an interface through which you will do the programming.
I think I would want it to be,
to kind of make that distinction not matter, I guess,
is what I'm thinking, right?
Yeah.
Like that, yes, you're right,
that this could be a nice debug visualization,
but why separate those two activities?
Well, the why here is that what kind of interactions would you be doing
in order to work with these visualizations?
That's the tricky question to me.
That's the thing that's hard to design.
You mean like how are we writing the code, sort of?
Yeah, like you've talked about, okay, these are the things that I'm going to see.
But then the question is, how do you express the ways that you want to manipulate them
and how that changes over time?
Yeah, I mean, I definitely think that this is an area I haven't thought about enough.
I mean, you know, to be very simplistic about it, right, we can imagine blocks here actually work pretty darn well, right?
So you have a move instruction that takes two arguments, right?
Like that's the sort of thing we're dealing with.
And your blocks are all like kind of these fundamental things.
And if we're doing risk, you know, we've restricted ourselves to risk.
There's actually just very few of these operators.
And they don't have to be compound complex tree-like structures because that's intentionally
what we're not doing right we're we're staying at that assembly level uh so that's at least
just to throw out a kind of a straw man idea there right it's like yeah you you do the the block
style setup and you can drag your registers
and you can drag things from your heap as a pointer, right?
You grab certain bits of memory, you can, et cetera, right?
So it's kind of this like mouse driven interface,
let's just say for right now.
Yeah, I'm picturing stuff.
This makes sense.
Yeah.
Yeah.
Yeah, I think that doing that,
you can now do all sorts of, almost like structural editing sorts of things, right? Like you can, you could, you could annotate or know when a register is still actively being used or not. That's not something that's in assembly, right? Like there's nothing that tells you the value stays in the register, right? But now you could have a thing where it's like yeah
this register is now free and so now like as you're going down your program if you make that
register free you can now use it again but if you didn't uh you know it wouldn't be available to
select hmm yeah though that i think kind of is at odds with the spirit of writing assembly where you are
like if what i know about say how a lot of early nintendo games were programmed to kind of stay
on theme like they would abuse undefined behavior and they would abuse you know oh this thing is
being used here but if we use it you know momentarily in this way we can kind of get a
couple of extra cycles out the door while we're waiting for something and then leave it in a state where the other thing will be ready for it and it'll pick up where it left off and it won't have noticed.
And there's just all this like hacky trickery going on that a visual language that leans hard on like, oh, you have to make sure that you release this memory before you use it somewhere else is like maybe at odds with the spirit of yeah i i don't want to say like you have to release this memory
right i want to say you can well you can know if it's been released exactly right i think that's
huge yeah yes yes uh and so you could like in at time, decide which sorts of restrictions in this moment you want.
Yeah.
Right?
Like, show me.
You could have just, you can imagine, two sets.
You know, the registers, like your little register palette or whatever.
And you have, like, two of them.
Right?
One that shows you or, like, a little annotation on one of them.
Like, this one's currently used.
And you'd be like, that's fine.
I don't care.
I want to use it anyways.
Right?
I don't think it has to be a strict type system stopping you.
Yeah.
You know, I think what would be more interesting is just that ability to take what we consider hacks and cleverness and kind of bring them as first class citizens.
Yeah.
Right.
So now we can see that we're being clever here rather than having to discover that we're
being clever here.
Yeah.
You know, like the thing that motivated me actually for all of this was with the Game
Boy emulator, what I really want is to be able to play Pokemon, do the missing no glitch
and see it happen.
So for anyone who doesn't know missing
no glitch Pokemon, it's you know, basically, you can make a Pokemon that doesn't exist show up and
it does all these weird effects. And it's because you're pointing to memory that's now like invalid.
It's very cool looking. If you haven't seen it, you should go look at it. It's one of the great
one of the great classic game glitches.
Exactly.
And there's so many great explanations on why it happens and even helping you discover why it happens.
But I want to see it, right?
And that, to me, was like, if I built this,
that would be the test of,
did I make a successful visual system for the Game Boy?
Could you play the game, do the missing no glitch,
and just from watching that, discover what's going on?
There's some other good Game Boy glitches
that would be fun to visualize in a system like this.
And I think the Game Boy in particular lends itself to this
because it's so constrained.
It's like it feels tractable, whereas something,
I'm sure even like like mario 64 is
just an incredible glitch fest but i imagine it would be there's there's so much more data on the
go that the visualizations i have seen of it are quite complex but the game boy is smaller there's
a great super mario land 2 six golden coins exploit where you get yourself outside the level
bounds and it sort of builds a new level environment for
mario to run around in out of a different window of memory and so all the blocks are very strangely
positioned but you can actually move mario around through them and there's some coin blocks and you
hit those coin blocks and it updates those values in memory and people use that to do like wrong warps where they'll like
hit coin blocks to change those memory values and then go to a specific position on the screen.
And that warps them to the end of the game. And so they're using the game mechanics to manipulate
just random parts of memory. And I think that's like, A, that's an amazing thing. But B,
you know, having a way to visualize that where you can sort of see
like oh here's the the window of data that's normally used as level geometry and she see how
we've like shifted it down a couple of rows and so it's pulling these values here and then as you're
you know jumping and hitting the coin blocks you're seeing sort of like the res edit style
view of where those those values are changing or to like have that
as your interface that you're using to manipulate the memory having a programming model built around
seeing that memory layout and being able to like drag the bits that you want to change from their
actual registers yeah no this is this is very cool jimmy yeah yeah i think that the game boy i agree
with you the game boy in particular is actually probably a really great test bed for some of these like visual programming ideas because so often when you're
trying to do like a real system right you run into performance issues right i've built out they
weren't visual programming language but little toy programming languages that i really wanted
sort of like introspectability in and i just got bogged down and like oh but i can run this but then as
soon as i like introspect that i'm now like 10 times slower right uh but the game boy with modern
computers you have to artificially slow everything down right like you have to put those delays you
have to count cycles to get cycle accuracy etc and so like you have
extra cycles to burn you have extra time that you could be visualizing things the hardware is so
simple like constrained compared to you know the macbook that i have in front of me like you can do
you could visualize everything right well and there's other aspects to it, too, that I think are really amenable to visualization
and visual manipulation. Two of them. One is that the types of data that you're working with are
very restricted. And so you don't have to think about coming up with really rich interfaces for
working with color, or for working with, you know, complex string manipulation, or working with a
database or whatever, or network kind of stuff. Like it's
mostly just like some pixel data and maybe some counters. The data types are very restricted, A.
And then B, the total volume of memory that you're working with is very small. And so you can come up
with ideas that are about like visualizing the layout of memory and how that layout is changing
and how one part of memory and how one part of memory
relates to another part of memory and it can fit on a screen whereas something i've run into when
trying to build visual programming tools is that when i think of a a problem that i want to be able
to solve within my visual programming tool that requires so much memory and so much data and so many things that certain styles of visualization
are just not possible because the volume is too large or the potential volume is too large. And
so having a known amount of memory that's pretty restricted means you can be a little more free in
how you choose to depict it and work with it. Yeah, exactly. Like you can also like save all the history
of all the changes
without having to be clever about it, right?
That's one of the things that I've found over and over again
is like what I want to show you is the diff over time, right?
And when you're working with, I don't know,
like 100 megabytes of some data
and you're like making small changes to it,
you can't just like copy it
every time
the change happened right you got to start being clever right and and this i mean i think you could
literally make uh the game boy emulator like a persistent data structure every time you make
changes and it would probably be totally fine like i haven't done it but it feels like you
could totally do that and and actually like keep all of the history of these things around.
I'm pretty sure somebody did that with Super Mario World.
They wrote a thing that would snapshot every frame, and then they made a musical interface that would let you scrub backward and forward through those snapshots.
And so you could play both the sounds of the gameplay and the actual video of the gameplay as a kind of a glitch instrument.
Interesting. That sounds really fun, actually.
It's one of those like, you know, boing boing link to it in like 2012 or whatever. And I've
long since forgotten the link. But yeah.
Yeah. So okay, I'm glad that I'm not the only one. I like I do think that one of the problems with
a lot of these kind of future programming things that we try to do is we try to make real systems
and those require just massive amounts of work and a massive amounts of polish right and so i
do wonder if we might be better served picking something like the game boy making it real for
that you know setup but it's very constrained and what it's the expectations are and what it
needs to do and that could serve as our test bed for like what should the user interface for things
be what interactions work what visualizations are good for this kind of data what which ones aren't
and then we can think about how do we scale that up over time so yeah i'm glad that uh i'm not the
only one here i think this could be really fun.
And I definitely think,
and maybe there already are things out there
that I just don't know about, right?
So if anyone is aware of some visual programming language,
looking at all the state,
like I know there's like program builders
for Game Boy games, right?
Kind of like the drag and drop, make your own game.
That's like, that's doing the still high level thing, right?
I want one that's like just showing me
that low level detail.
Yeah, like I know what a pointer is.
I just want a nice interface for working with pointers.
Exactly.
Not like I don't want to have to know what a pointer is.
Yeah.
Like I'm not trying to turn Game Boy
into kind of a you know object
oriented fake thing right which i've seen things do that like you can think of doors and here is
the door entity and you know things like that right like it's like no i want i want the raw
exactly what it's doing and and i do think that what would be really even more interesting is
if you had a system like this taking existing games and if you could make a,
you know,
a translator between like the byte code into your visual medium.
Yeah.
Yeah.
Yeah.
I just think it would be really neat stuff.
I thought of a,
a terrible pun.
All right.
This is already too much setup.
GPU maker 2000,
which would be like, you know, RPG maker 2000 which would be like you know rpg
maker 2000 but for like gpu programming i think this actually segues very naturally into our our
our talk here right the so here's why all right game boy is a device that you carry on you
everywhere you go right and it can help you solve problems like,
how do I catch this Pokemon?
Or how do I get through this long bus ride
from Vancouver to New York?
And it has a camera, so you can take pictures
of your shopping lists and digitize them.
And it has a very low resolution black and white screen.
Yes, and in fact, you can plug in a diskette-like thing It has a very low resolution black and white screen. Yes.
And in fact, you can plug in a diskette-like thing to it that makes it suitable for making your own music.
Uh-huh.
You can make your own music.
And it has these little cartridges you plug in.
Plug them in and now you have maybe a book on there, right?
You know, you could be reading a book.
And it has multiple fonts.
And you could probably, on one of those cartridge diskettes,
fit thousands of page equivalents worth of data.
Oh, yeah.
I bet you you could.
Sounds like we're describing a wonderful device
that everyone is going to want to carry with them
everywhere they go.
And I think that that's what this paper is about so yeah we read a paper about the game boy
uh by uh alan k and adele goldberg called personal dynamic media and well you know what here's the
key distinction between the dynabook that we will get to in a minute and the game boy is that the game boy uh actually shipped and was
widely loved and you can you know i'm actually sitting within three feet of three different game
boys two of them of that era and they don't run small talk ah and kids actually wanted to play
with them oh kids wanted to play with the game boy come on jimmy yes kids wanted to play with the Game Boy. Come on, Jimmy. Yes, kids wanted to play with the Dynabook.
No, no, I was obviously just joking.
No.
But I'm not joking.
Small talk.
I'm going to say small talk is what killed the Dynabook.
That if it wasn't small talk, if it was instead video games,
might have actually been a commercial success.
Interesting.
And yeah, so for people who don't know this paper right i think we've kind
of been talking around it so this is personal dynamic media by alan k and adele goldberg
and it really is laying out what the dynabook was which you know i am going to describe it the way
that i know alan k does not want people to describe it which is basically it was thought of as like an ipad or an iphone right like it's a device that is the size of a notebook so ipad
that you could carry with you and it would be a really truly personal computer because it's
something that can be with you all the time that can contain your thoughts, that can, you know, help you think through problems in a way
much, you know, I think Alan Kay would say much richer than what, you know,
modern iPads and tablets offer. Thinking of it as a personal device, another big distinction
between the Dynabook and other computer systems at the time of its creation, the mid-70s, the Dynabook had all of its processing
power and storage locally within the device and not in the form of timesharing, which was still
the predominant model. This was before the PC era really kicked off in the 80s. And so the dominant
model of computing at that time was still you had a central server and then a bunch of dumb terminals that would hook into the central server
and the central server the central mainframe would share time between all the different terminals
that were connected to it and that was inherently impersonal and so one of the one of the big
design decisions early in the dynabook was that it should be its own computer, self-contained, able to serve you with its full attention.
That design decision kind of goes hand-in-hand with the audience as well.
The Dynabook from the beginning is supposed to be for all ages.
This is the 70s, right?
So this paper is published in 1977. Dynabook, I think,
goes back to like 72, kind of the origins of it. But you know, computers were for adults, right?
They were for business people. The idea that kids would be playing with computers wasn't mainstream,
to say the least, right? And so,. And so it even talks about in here
that kids want this sort of immediate feedback
and the ability to draw pictures
and all the things that time sharing
really couldn't give you
just because they were so constrained
by the hardware and the having to share
and the latency involved, et cetera.
So let's, I guess, start from the top.
The paper, should we call it a paper?
Is this a paper?
I'll call it a paper.
Yeah, it's a paper.
Yeah.
And I'm reading a copy of it in a book called The New Media Reader.
Yes, I am as well.
Do you have a physical copy of the book, Jimmy?
No, I do not have a physical copy of the book.
Ah, i got mine
off amazon a couple of years ago i bought a used copy and it's bound like a high school math
textbook which gives me this just incredible feeling of warmth and fuzziness and weirdness
to think like i could have in high school been reading an essay like this as part of a class.
Like to have a high school class that is all about new media and dynamic media and the work of Engelbart and Kay.
And like main computer symbiosis is in here,
excerpts from augmenting human intellect are in here,
as we may think is in here.
It's a real treasure trove.
Yeah.
But unfortunately, my copy of the New Media Reader,
the last page of this essay was missing.
Wow.
So I had to go onto a computer to look it up,
which is, that says something.
See, I'm using my meta media here
to emulate the physical book that you have.
Yeah, I have to say, and it is superior in every way.
Yeah, though, well, I don't know. i like the tactile feeling of flipping through the pages and they do do a lot with the design of this
this textbook to try and make it feel like hypertext like there's oh yeah tons of little
things hanging in the margins like um the uh the page numbers are not in the bottom left and right
corners like a normal book they are part way up the page and each essay in the book the page
numbers move down a little bit and they're they're printed in a black box so when you look at the
side view of the book there's this big diagonal black streak along all the pages showing, you know,
each essay at sort of its relative height through the progress of the book, kind of like a scroll
bar or something like that. Yeah, that's so funny. I have the, you know, a high quality scan of that,
or maybe like the original. I don't, it actually doesn't seem like it's a scan, right? So I have
those black bars, but I would have never figured out that they're moving. Each essay, they move down and down and down. Yeah.
Yeah. And they just look, you know, like they're in the same position because, you know,
this is a pretty short paper. So yeah, that's interesting. I would have never noticed that.
And there's tons of little stuff like that. It's actually, it's worth going on Amazon,
spending the 20 bucks to get a used copy of the textbook and playing with it. Because it's neat to sort of show if you wanted to make a physical book that felt like hypertext, what would you do?
Anyway, now that I've just finished our first ad read, our first sponsor, unofficial sponsor, the new media reader from mit press uh personal dynamic media it starts off
and i guess the framing of this this this uh paper is that it's a reflection back on the
dynabook project so far so there are a couple of years into this project and this is just kind of
a summary of the work that they've already done what their goals are and what activities they've
taken to pursue those goals.
And I've already got an excerpt from the first paragraph, the introductory paragraph that I'd like to read, if you'd permit me to read an excerpt so soon into the podcast, Jimmy.
I think it sounds great.
All right.
Several years ago, we crystallized our dreams into a design idea for a personal dynamic
medium the size of a notebook, the
Dynabook, which could be owned by everyone and could have the power to handle virtually
all of its owner's information-related needs. Towards this goal, we've designed and built
a communications system, the small talk language, implemented on small computers
we refer to as, quote, interim dynabooks.
We're exploring the use of this system as a programming and problem-solving tool, as
an interactive memory for the storage and manipulation of data, as a text editor, and
as a medium for expression through drawing, painting,
animating pictures, and composing and generating music.
And the thing I wanted to call out about this quote here is that they describe small talk
as a communications system.
Towards this goal, we have designed and built a communications system, the small talk language.
And that struck me.
I don't know if there's more to it, like if
this is something they've talked about elsewhere, but I love thinking of small talk as a communication
system because that to me gives me a new bit of insight into the meaning of the term programming
language. Because a language, you know, spoken language, written language you know spoken language written language these are systems
for communication and so if you talk about a programming language as a communication system
in that sense that to me makes me more comfortable with saying something like visual programming
language which has always struck me as strange right because when someone says visual programming
language you think well is it a language text Text programming is kind of like a language, like it's like a written language,
but is a node wire programming tool a language in the same way? And this, to me, makes me feel
like, yes, it is, in that language just means a system for communication. So I really liked that
framing of Smalltalk. That's so so interesting because I took it in a little
different way, I think. I took the communication system here to mean, I guess, message passing,
right? Like small talk itself is the thing doing the communication inside rather than communicating
to others. So you're seeing it as communication system, meaning the way that the different parts of this machine communicate with one another?
Yes.
In a kind of a conceptual way, because it's entirely within the software realm that that communication is happening, that message passing.
Hence the name Smalltalk, right?
It's all these little messages being sent back and forth in the computer, right?
And so the communication is all kind of constrained into the system.
Is that why it's called small talk?
I always assumed.
I guess I never...
That's just a...
That's an assumption on my part.
That never occurred to me before.
And if that's true, that's like...
Whoa, whoa, whoa, whoa.
Wait a sec.
It's called small talk because what all right um
yeah i i don't know that was always what made sense to me right it's all about message passing
and yeah these you know little process little computers communicating with each other as alan
k often likes to put it right yeah huh okay yeah no but i love your take on it a lot more actually and uh i've heard you
struggle kind of with you know is a visual programming language a language i guess to me
it just seems you know i know there's like formal properties of like you know chomsky hierarchy
etc whatever um about like what makes a language but i guess sign language to me is a visual language right it isn't written it
isn't auditory it is this visual language that has all the features i would think of in visual
programming language as well okay so so i think there's a small category error going on here okay
a written language is called a written language because the way you create it is through writing. A spoken language is called spoken because the way you create it
is through speaking. Saying that sign language is a visual language doesn't make sense in the same
way because it's not like you use your eyes, like the visual receiving part of the language, to
create sign language. You are creating it with your hand. It
is a signed language. And there are conceivably many, well, not even conceivably, there are many
different signed languages that you use your hands to create. Maybe spatial might have been a better
word for me to use. Well, no, I think you should say the thing that is what is the action that you
take to express in the language is it writing
is it speaking but it's not merely sign either for sign language it is the spatial relations
between things sure but i mean like like uh like drawing right is there a drawing language where
you draw something and use that like like a like a hieroglyphic language is a a drawn language
you are drawing pictures to do that so when you say visual programming language it's like
when you have a text language like a conventional programming language you are writing text to do
that programming a visual programming language doesn't talk about what it is that you do to actually
express in the language they don't like and that's why saying like node wire makes i think to me more
sense than saying visual when you're talking about a max msp or an origami or whatever because you are
uh wiring together nodes it's sort of it the thing that is used to describe what kind of a language
it is is about what you do to make
the mark or to make the expression because receiving the mark or the expression or whatever
you're going to use your eyes or your ears or i don't know maybe touch maybe touch yeah like braille
or something like that yeah to help me understand the distinction you're making because i know you
have trouble with the the term visual programming in general, right?
I know you've like graphical, visual, something, right?
Okay, so like on this distinction you're making, how would something like Max MSP,
how would you try to describe that differently from like dynamic land?
Well, I don't think anybody has used the term language to describe dynamic land.
Every description of dynamic land that I've seen has been about more than just the programming of it.
It's an entire system.
It is more like a communication system in the sense that I'm extracting from this introductory paragraph.
When people talk about the language at DynamicLand,
they're talking about real talk, and that is still a text-based language. It's still something where it's implemented in Lua, right? Yeah, it's like a superset of Lua and a collection of libraries and
little functions that create the dynamic environment that you actually go and and play within using
all sorts of things using sure the little you know the dot pattern around the the margins of
a piece of paper but also using springs and glue and crayons and dances and all of the different
things that you want to do in that space. So it's the real talk
part of it is a is the conventional programming language part. But what you are doing in that
space is so much more in the same way that like, you know, there's lots of software systems where
a programming language is a small part of it, but there's so much more to it than that.
There's more things going on around the programming language.
See, I guess I always considered real talk to be a little bit more like, yes, there's more things going on around the programming language see i guess i always considered real talk
to be a little bit more like yes there's the textual representation but i considered the
operations of moving the cards around and placing them in relation to each other right to be part
of that language the real i mean that's hence the real part right like the objects the objects of real talk are the physical objects
and that is part of the language in my mind i see that but i disagree with that interpretation
in that i i think that um the real the leaning on real is saying that's what this is for not
that's what this is but the problem here jimmy is that you you have the
philosophy chops and so i know that if i start going well no jimmy i disagree oh no that you
are going to eventually uh bring out the big guns and then i'm doomed i am completely doomed so i
am willing to for fear of of uh of getting too far into it i I'm willing to concede that there's definitely
just shades of interpretation to all of this.
Whatever it means to you
is, I think, what you want to take out of it.
I don't know what Kay meant by communication system.
I don't know what Brett meant by real talk.
Yeah, absolutely.
To be clear, I don't think there's an answer here.
Some of the beauty of these systems are that there's many different ways to interpret it right and and to consider things right um so whether the language includes
the physical things or not is uh is definitely and yes uh some of my thoughts here are coming
from philosophy so uh we'll bracket those If anyone's interested in semantic externalism, happy to talk about it.
But anyways, I think that just to draw the thing from small talk,
where we talked about it's passing messages and communication system,
to real talk, small talk had computational objects that passed messages. And I always saw Real Talk as the
objects are the physical things and the message passing is physics, right? It's causation in
reality. That's the message passing. And it might be mediated through the, you know, the projectors
and, you know, yeah and the data log implementation
that they have in Real Talk, et cetera.
But that was just implementation detail.
And the ideal was that the physical objects are now
imbued with computation and talking directly together,
just like Small Talk's objects were.
Yeah, I dig that.
That's a good interpretation.
I like that.
Yeah.
All right. So we've gotten in the first paragraph here, right? I do love what you're reading, what you, the quote
you read there. Like, you know, I think this really, I want to contrast this with the Engelbart,
right? Like this is a very like readable paper. It is very clear what the goals are. And I
think I remember Alan Kay saying that this was ultimately part of a proposal for funding that
got rejected. But it is very clear here what is being done. There's great, like, concrete what
has been done, what the plans are. I think it's just hearing that example read, you kind of get a flavor for what this paper's like.
In some ways, it's big picture.
In a lot of ways, though, it's very just concrete.
And I wonder how much of that is helped by the fact that this is a reflection on work that's already been done,
rather than the imagining of what a research project could be to pursue creating a system.
And we're up in space already.
Description of eventual long-term high-level goals that involve understanding the development of humans as organisms and as a society
and as different levels of creature and and the the workings of their
individual muscles and how those are things that you put on a helmet to train yourself for and
yeah all all of that yeah like there's this this is like hey we built a thing and here's what it's
good for yeah i feel like that's so much easier to write a very down-to-earth kind of thing about than a, like, oh no, society is careening towards the brink of having unsolvable problems due to
their incredible complexity. How do we get a grasp on complexity at the scale of an entire society,
which is what Doug was tackling. And at the same time, it does seem to be very much in like a different manifestation
of trying to solve those sorts of problems right is that what what kaylee was trying to do
uh goldbergie uh yeah yeah kay kaylee and Goldberg. Kaylee and Goldie?
I don't know.
That sounds like a 70s music group, Kaylee and Goldie.
It does.
Yeah, no, I mean, okay, so just to give a little bit of history,
because I actually listened to,
I was interested in what Alan Kay and Adele Goldberg's various roles here were,
how the collaboration worked.
So I listened to an
interview with with adele goldberg and she kind of joined alan k after he had already kicked off
this dynabook like that was like 72 73 something like that and she joined in like 75 76 something
somewhere around there a few years later after the dynabook had already been going um and she was actually like studying education
and so the reason she came on was that this vision of kids doing this computational stuff
really fit with her research and what she wanted to be doing so from my understanding at this point
she did like all of the teaching she did all of the interaction with the kids and she did a lot of
design work to make the system more understandable for children and then later went on to like be
like a major contributor to small talk and then actually like spun off a park into a commercial
venture and all sorts of really interesting stuff. She was much more practically
minded is my read of things than than Alan Kay, who wanted to throw everything away all the time
as as we you know, if you've read any of Alan Kay's papers, you know that that's kind of the
trend, right? And he has a good reason. He has a reason which I hope we get into at some point for
doing that. But you know, that is that was something that adele in her
interview you know adele goldberg was was saying like she didn't want to burn things down she
didn't want to start fresh she wanted to polish it and make it more and more friend user-friendly
and a real system and something that could be sold but yeah yeah uh just want to make sure that
we you know give her she was a
major contributor to this work came in a little bit later than the initial stuff but you know for
this paper a lot of this was was her doing as well sadly i know very little about her or her work so
i appreciate that overview and i think now hearing what you're saying, the parts of this that really resonated with me would have come from her as
opposed to,
you know,
my,
if you've been listening to our podcast,
you may have heard that I have some complaints about the way that,
uh,
computing was created in a context that was very,
uh,
focused on the needs of the military or of business or of engineers and not
on other kinds of people of
which there are many and this is a paper as we will see when we get into it that is very much
focused on those other kinds of people and not just on engineers and and ceos and that sort of
thing you know the people who uh or military commanders the people who don't have time to
learn to type um anyways yeah let's let's uh's crack into the next section, which is they're going to do a little bit of
background on the project. And it starts by talking about, you know, we've been
in various ways, we've been externalizing our thoughts for thousands of years in a whole bunch
of different ways, all of which interact. And we can kind of think of
those ways that we've been externalizing our thoughts as different mediums for embedding
thought or different mediums for expressing thought. And it sets up what they're working on
as a new medium that is different in two very interesting ways. One of the ways that it's different
is that this new medium is interactive.
It's not a static encoding of a thought.
It has the potential to actually respond to you,
and it's something that you can have a relationship with
or be conversant with.
I always use that word incorrectly.
And it has that back and forth relationship.
Previously, the only thing that you might have had that with is like a teacher.
They say that a teacher is the only other medium that you could have that kind of a dynamic relationship with.
There's actually a quote here that I think actually backs up your reading of communication system that I think encapsulates what you're saying here very well.
So you might be right on your communication system here based on this quote.
So for most of recorded history,
the interactions of humans with their media
have been primarily non-conversational and passive
in the sense that marks on a paper, paint on walls,
even motion pictures and television
do not change
in response to the viewer's wishes. So there's this conversational aspect. And so, you know,
a communication system conversation kind of seems like you're right, like this was about
communicating back and forth with the user in the system. I actually extracted the next sentence as
a quote that I wanted to read too, so I'm going to read that.
A mathematical formulation which may symbolize the essence of an entire universe once put down on paper remains static and requires the reader to expand its possibilities.
And just to jump back, the end of the previous sentence, do not change in response to the viewer's wishes.
So you might have this math formula that symbolizes the entire universe, but it doesn't change
in response to your wishes, as opposed to the real universe itself, which does change
in response to your wishes.
I found that passage very funny because it suggests that, oh, you can write a formula
about the universe, but unlike the real universe universe the formula is not going to change based on what you want and it's
like what does that even mean what's the implication there like like i can't change the universe based
on my wishes i can't you know imagine oh what if i could fly or what if you know what if gravity was
a push instead of a pull or what if my high school sweetheart actually, you know, didn't die in the terrible...
Oh, no, that's gross.
There's like, there's ways of interpreting this sentence that brought me a lot of delight in their absurdity.
And I'm sure that's not what was meant.
But any opportunity I have to point out like, oh, you said something you weren't meaning to say I revel in that yes
so I'll try to be the like you know the the try to give the the interpretation I think was probably
meant which is you know yes we can't just wish things up right we don't have a genie who will
you know we just think it and it happens uh for most things uh But we can affect the world in these ways that we can't affect that other media.
But Jimmy, determinism.
Yes.
But even given determinism, right?
We are agents in the world who act.
And by acting, there's two ways of thinking about the world right there's
mind to world fit where we try to figure out the world and world to mind fit where we try to make
the world the way our mind wants it to be right and so you know there are things we can do we can
uh want something to happen and make it happen by acting in the world i think is what this is
is talking about whereas if i want the television to do
something there's literally nothing i can do i can't make the tv respond to me right
there's no action i can perform where now the tv will respond to my wishes except for if i'm
watching blue's clues and i really want blue to find that clue then if i yell really loud
blue will find the clue yeah yeah but you know we can we can do
various things there's notions of speech acts right where we can uh declare something to be
true and by declaring it we have made it true i now declare you uh you know man and wife yeah yeah yeah yeah like i now declare you man and wife and now you declare you know... Man and wife?
Yeah, yeah, yeah, yeah.
Like, I now declare you man and wife,
I now declare you husband and husband, right?
Like, I now declare you spouses, right?
That declaration makes it true.
Yeah.
Right? It requires a certain context,
a certain social context, et cetera,
but we can make those things true.
I want a terrible monetary system that's
going to exploit all sorts of people
and let me sell random images on the internet for way
too much money.
I make cryptocurrency, right?
You get a capitalism, and you get a capitalism,
and you get a capitalism.
But money only has value because we declare it to have it as
such like there's it's a you know a social acceptance right and so we do have a way of of
making the world the way we want it to be um maybe not as easy as wishing it but through our actions yes yeah and and computers don't uh accept my wishes just as wishes either
you know i still have to press keys sadly yeah and there's i i'm sure we'll get in i'm not sure
if we'll get into that maybe we will get into that here there's the question of like is the
computer actually responding to you in a way that like a teacher would,
or in a way that kind of transcends the other media?
Because if you think of something like a video game,
like a video game, you can think of it as responding to you
in a more profound way than maybe a book or a movie would.
Let's leave books out of this. Books are kind of special.
So I'm thinking of
something like Finnegan's Wake like right to me Finnegan's Wake you know certain certain works
uh waiting for Godot maybe like that I think there's a little bit more to them than well and
I guess some movies do this too damn where it's like you can really like not just the way you
interpret them but the way you actually perform the the act of reading them or watching them will influence.
There will be a dynamism to it.
For example, watching Big Lebowski and drinking a White Russian is different than watching Big Lebowski.
Or watching The Room and throwing spoons at the theater screen is different from just watching the room
or or watching uh 2001 a space odyssey in a theater where when the at the end of the the
intermission where it has uh just a black horizontal rectangle because the screen is
empty and it's just blasting georgie leggetti's atonal very abstract terror music and it's like oh shit the actual screen
of the theater is the obelisk spoilers um like that to me is a very different way of using the
medium that brings you as the viewer into the medium in a in a different way than than you
know your typical movie or book or whatever. But I digress.
Or Blue asking you where the clue is.
Yes, yes, that is actually, yes, yes.
That is what I mean, yes.
I might have some philosophy to pull out,
but you definitely have more, you know,
media, literature, et cetera, than I do.
We both have high brows.
They just go in different directions.
The two of us make a pretty repulsive face. The the thing I wanted to say with that is like video games are
dynamic in a sense, you could argue a game that has some programmability in it, like maybe Baba
is you or something like that would be a little more dynamic than a game like Uncharted or
something like that, where you're just kind of playing through a linear story.
There's this debate about whether or not those games
are truly interactive because there's no way
to actually transcend the intent of the designer
other than maybe with like glitches or that sort of thing.
But you're sort of playing through an authored experience
in pretty much all games.
And there's some interesting games that say, oh, I wanted to make a game that is not an authored experience in pretty much all games. And there's some interesting games that say,
oh, I wanted to make a game that is not an authored experience.
How do you go about that?
But there's sort of this, a spectrum or a space
or a fuzziness in the interpretation that's opened up here,
which makes me wonder, like, is this Dynabook
Dynabook
actually dynamic in a way that a book or a painting or a song isn't so that's that's just
something i was thinking about when reading this section is saying how it's like oh you know um
this property has never been available before except through the medium of an individual
teacher and it's like really is that is that true you could look at either side of that. You could look at the Dynabook side and
wonder, is it truly dynamic and interactive in a way that other things weren't? And you can look
at the other side, the books and the paintings and that and say, are they truly static in a way that
something like the Dynabook isn't? And I think you can find a lot of interpretive flexibility
on both sides of that question.
Yeah, I would completely agree that there's something dynamic about computing,
but comparing it to the individual teacher seems like a step too far.
Yeah.
It's like an erector set, or any sort of mechanical thing that you can play with and interact with and move around and be dynamic
is very different from a static drawing.
And so you could say it responds to your wishes.
You can move it around here and change it there
and see how it interacts.
But you wouldn't compare that to a teacher.
And yes, a computer is delivering language artifacts and
things like that. But I think there's quite a bit more going on with an individual teacher,
you know, they understand your perspective. And in the Dynabook does not know your perspective,
they can't imagine what you're thinking right now and respond to that imagined
thought. There's so much that goes on between that teacher that is a whole different kind of
dynamicness. I think for more on this, see all discussion ever about general intelligence,
artificial general intelligence. Yes. Because that's what that debate is all about.
And in this sort of section,
there's not only this claim of dynamicness,
but there's also this idea of the metamedia.
Yes, that was the two things introduced in this section.
Number one, we just finished, was dynamism.
Number two, metamedium.
Jimmy, go ahead.
The idea here is that computing systems or a computer can be all other media.
That it can actually be this metamedium because you can program it to simulate every other media out there.
And I think this is such a overstatement. Like,
there's something cool about, you know, the emulation of lots of different media.
But I don't think that it becomes that media in any way, right? It can be sometimes a poor
simulation of that media, as I think a lot of times it is.
But I definitely think that this meta medium is a bit of a strong claim here.
So just to give an example, they mean things like it has a screen so it can show pictures,
and it has a mouse so you can draw pictures, and it has a keyboard so you can write,
and you can read what you've written on the screen.
It has speakers so it can play music and it has a organ style keyboard so you can compose music.
There's all of these different facilities for input and output that allow you to express in each of those different input forms some intent and then that intent can be communicated
back out through all of its output forms and i think to be charitable i don't know that they're
claiming that with those limited input and output facilities it is already the metamedium but rather
that because of something like information theory, and because a
computer is the first thing we have that is for manipulating information in a very profound way,
that computers have the potential to be a metamedium in a way that something like paper
doesn't, or in a way that something like the piano doesn't like you can't really use the piano to write a novel or something like that like you know what i mean yeah yeah you could interpret
a piece of music through some cipher or whatever that's not what i'm talking about i just wrote a
novel using my piano the other day so you know i just hooked up I made it into a typewriter, you know, hooked up, instead of hitting strings, it's...
Anyways, um...
No, okay, but you know, I get that, right? Like, there's something, at the same time, being able to simulate the details of any descriptive model means that the computer, as a medium himself can be all other
media.
I'm going to take the side of arguing that that is true.
If you want to take the side of arguing that that is not true.
Yeah.
So I guess, okay, we have to be, you used piano as a media.
Yeah.
It was kind of a cheap shot.
Well, that's fine.
Okay.
Like, I just want to make sure we don't mean we don't have to be super broad.
Like music is the media, right? Like I do think a piano is decidedly different
than just music generally, right?
Sure.
Okay, so I'm going to take typewriter.
I think the typewriter is a media.
Are we good with that one?
Sure, yeah, yeah.
Cool.
So obviously what the computer can do
is you can type on a keyboard and it can show things
and you could even like kind of make a
typewriter like interface for it right but i think that is distinctly different because the computer
has more capabilities than the typewriter the the the media what makes the typewriter itself what
makes it a distinct media are its limitations and its physicality right and
so yes you could kind of sort of make a computing system that mimicked all of those features but it
would actually literally have to be a typewriter and you know it would have to physically be that
and then like the computers would become superfluous for what you're trying to emulate here
so i'm gonna i'm gonna win this argument in one word you ready jimmy cool holodeck i don't know
the holodeck oh no you're telling me i've heard the word i started a podcast with somebody my age
roughly who doesn't know star trek are you oh okay yeah i know what that is
i'm good i just don't watch i just don't never watch star trek i know the holodeck
but how is that gonna win the the argument
i know holodeck now i just couldn't think of it i was thinking in terms of like
no no offense but like that could be it could have been a real thing that came out of park
yeah it could have been right the name holodeck could have you could have been referring to a
real system that came out of park yeah well i i am referring to a real star trek is real so i do
know the holodeck i don't know lots of details about it so i don't see how it wins the argument
you know you walk into this big old room and there's lots of rectangles yeah so so my point is like the thing
that makes the computer capable of being a meta medium is that if you if you extend it to the
limit of its capability like if you imagine the future where it is has improved in all regards
past the point where we can like we're still we're still
advancing the technology of the computer for its capabilities with input and output right
monitors are not good enough yet speakers are not good enough yet input devices are not good enough
yet but we keep coming up with better ones and we keep trying new ones and if you keep going with
that the further you go with that the more media the computer is able to encompass
okay so you're thinking a thousand years from now yes okay okay i get you that the descendant of the
computer a thing in the lineage of the computer in the same way that the computer kind of inherits
the lineage of the typewriter right um in the way that the ipad inherits the lineage of the typewriter, right? In the way that the iPad inherits the lineage of the paper and pencil
in a certain respect.
Like there's a continuum there.
Yeah.
And the computation is the new ingredient
that will enable computers of the future
to fulfill that metamedium,
fulfill that framing.
I see where you're coming from i still think
it's the lack that makes the medium and just the very possibility that the computer could do things
that the typewriter can't is what makes it different right and it's because like if i
was on a computer and it wouldn't let me delete a word i would be
very very frustrated right like it wouldn't let me rearrange words copy paste words whatever i
would be very frustrated by it but if i'm on a typewriter that's kind of what i'm i'm buying into
right i'm wanting that experience just like i'm making pour over coffee and not drip right like yes it now the thing isn't
pouring the water for me but i wanted that i'm asking for it uh no i'll say you know we we've
been on this beginning of this essay and i i actually think this is good i think this is where
the real interest yes in this essay is is like the first bit and
the last bit and the middle is a lot of descriptions of what goes on what they did right like and those
are cool but you know i i think setting it up they actually do a very good job of kind of structuring
that setup to begin with i want to um i want to say one more thing on metamedium before we move on
yeah yeah yes i agree i have more notes from the beginning than than from anything else I want to say one more thing on metamedium before we move on. Yeah, yeah. Yes, I agree.
I have more notes from the beginning than from anything else,
though it was also getting quite late into the evening as I was reading this,
and so that might be a function of that.
The fact that the term that they're using is metamedium
is interesting to reflect on a little bit
because when I read it the first time,
I was thinking of it as sort of, I don't have a good
term for this, but like a medium that encompasses other mediums. So something like film, film,
it kind of encompasses aspects of theater, it encompasses aspects of music, it encompasses
aspects of writing. And there's skills that you would bring to bear
in those other mediums
that you can also bring to bear when making a film
and that making a good film
requires many more of those skills
than, say, making a good painting or something like that.
Not to say that any individual person making a painting
doesn't require a great many skills to do a good job of it, but there's a, you know, all of the skills
that you bring to bear when painting can also be brought to bear when making a film and more.
And so that's when I think of these sort of mediums that encompass other mediums,
like I think of video games, right?
Video games can bring to bear all of the skills of filmmaking and more.
And it's sort of this Katamari-style effect of rolling up other mediums and merging them
into yourself and kind of glomming them together.
And the computer facilitates that kind of glomming together
in a way that is new and exciting and might be another way of looking at what they're talking
about here but that's not meta that's not like a medium about other media that's just using those different medias mediums using those different media together
and so i i almost feel like there's another interpretation to be made here and i don't
have it ready but i think that the fact that it's meta meaning like you know about like a medium
about media is maybe what is meant here. Unfortunately, I don't know that it really
explores that meaning in any depth, or at least I don't recall any exploration of that interpretation
in this admittedly very short paper. Yeah, I like that thought, though. I think that's really
interesting because the way they're using, I think what the way that they're talking about it in the paper is exactly what you said
in the beginning but if we kind of take the idea you know I watched a talk from
Alan Kay and he says you know there's a quote I can't remember from who but you
know we don't know who discovered water but it definitely wasn't the fishes hmm
so the idea is like if you're in the media you you know you can't escape it right like you the
you become the media that you uh consume yeah true of true of burrows true of uh who wrote
naked lunch whoever wrote naked lunch you know who i'm talking about listener listener you know
who i'm talking about true True of all the beat poets.
They cannot escape their medium.
Yeah, and so maybe there's this idea,
if we're talking about this meta-medium,
that this computing ultimately does become about every media.
Computers have infected and affected every type of media we have today, right?
Every single, I think you'd be hard-pressed to find a medium
that hasn't been changed because of the existence of the computer.
What's possible in that medium changes.
What is expected in that medium changes.
What sorts of discussions you can have about that medium changes.
The very nature of authenticity has changed.
Yeah. And so in some ways, because the computer lets us do these certain intellectual activities
in a way that we couldn't before, all media that we have has been transformed
because of their existence, even if they didn't want to be.
Which is the kind of thing that I'm certain that Kay, Kaylee, was cognizant of as he was working on this and Goldberg as she was working on this.
I'm sure that they were aware of that because they're precursors, you know, Dougie and…
I wonder how many episodes before you give up this bit bucky
all right we're gonna we're gonna have to have a bet uh how many episodes before you give up the
bit they they they were all cognizant of this being a thing that was going to happen and i can
see that thought you know that knowing that that is the inevitable outcome. And to me, it certainly feels like an inevitability. Like, it feels like we're already living in it and we're not even close to the limit of that happening. them mad in a way where you know like i think there is a certain madness 2k now that if not
just madness in the sense of like you know mad hatter um mercury poisoning but um silicon poisoning
um sort of madness like anger that this this just unbelievable potential for transformation is something that is an inevitability and yet it is taking so long to realize.
Like I can see that really putting a damper on one's spirits.
Yeah, absolutely.
I think that there's this, you know, this lit, I mean, it seems, you know, from everything I've seen,
like Park was a very like
kind of all-encompassing experience right like it was you were kind of living in the future right
you were living in this alternative future maybe right like you were embedded and surrounded by
people who all saw things similarly and then to kind of exit it i feel like there is this this lack this longing
this uh desire that never is fulfilled and i see that in a lot of kind of these early
computer pioneers right a feeling of loss in the vision that they had never came to be
and they don't know if it ever will.
Oh, I'm sure it will.
I mean, we're just surrounded by people who are so enamored of the status quo that it's hard for them.
Like, it's painful when you're one of the people who realizes how inevitable this is.
At least, you know, go with me on this assumption. You know, when you're one of those
people to look around and see a bunch of startup bros who are just so stoked about React and so
stoked about the startup theory of change and this idea of the computer as it exists currently
being a thing that is so great that we just need to find new gains at the margins or
find ways to distribute it a little more evenly and who aren't thinking of it through the lens of
like media theory and thinking about it through the lens of you know the transformative potential
that it has on our conception of reality like all all of that wide-eyed, wild idealism
that would have been apparent at the very early stages
of working on this stuff that we're now just so steeped in it
that it's hard to see that stuff anymore.
There's something interesting about watching Alan Kay's talks
because there is this repetition with slight variations.
And I feel like every one of his talks
is trying to get us to see what he saw, right?
And tries to come at it from these various angles
and never seems satisfied with the end result
that people saw it, right?
And I think there's this kind of like esoteria
that is pretty popular in some of these thinkers, right? There's like this, there's this kind of like esoteria that is pretty popular in some of these thinkers, right?
There's like this, there's this kind of belief that you almost have to experience it to get it.
Yeah, like a no true Scotsman.
Well, you see this in like dynamic land, right?
I think Brett Victor tweeted out a quote from a sculpt, people who make sculptures.or sculptor i kept wanting to say sculptist
and i was like that's not it a sculptor um yeah a sculptor who uh would not allow his sculptures
to be photographed and it's because he said like in photographs you lose the very thing that i'm
trying to convey and brett victor tweeted this out about write-ups of dynamic land.
And I feel like there is this element of you can't convey these thoughts
except by experiencing them.
And I do feel that in this paper.
We're talking about later on, we're talking about a bunch of use cases,
and it's like, here's this animation. And of of course i'm just looking at a picture of two different frames
and i'm interpolating them in my head like oh yeah it animated and there is something maybe
that is true about this but i do think that this is definitely a belief that's held that
no one will ever get it unless they experience it. I get that, though.
Like, you know, I so get the experience of making a thing and knowing that there are parts of it that you care a great deal about because you made it.
You have that taste.
You have that drive to make it be a certain thing and seeing somebody describe it or capture an aspect of it and try and relay that and and missing all of the things that are important
and interesting and only conveying the like the packaging that the idea came in it's just such a
deflating experience like like here's a really easy example. If you're trying to do something interesting as a musician and the only venues that you can play at in your city are like noisy bars and you're not trying to do like a rock and roll band, like you're trying like that and it just so happens that bars are the places where it's very easy to put on a show because there's a business model there
right like you charge a small cover at the door there's booze sales it's a known quantity but
you're trying to fit an unknown quantity into a into an existing system i think everybody's had that experience anybody who's
making something has had that experience like like i don't want to show people my prototypes of
because the prototypes are my way of exploring the ideas but they are not an actual embodiment
of the the the goals that i have they're like a jig that i use to work on the
the plan that will eventually be executed and so it's so much more interesting for me to talk about
the things that i want an eventual tool to do whether or not i make it then it would be to show
somebody the prototype but people want to see the prototype because they think like oh yeah the real
thing is the is the real thing and it's like no sometimes the real thing is just the rungs
on the ladder that you use to climb up so you can look over the wall and see where you're going
that's torturing my metaphors here no i think that i think that resonates very well like as we move into what actually happened with the dynabook like their
experiments but then also kind of like we don't get it in this reading but there is a postscript
of about like uh of alan k reflecting on this experience right um and and his thoughts about
what worked and what didn't um with this you the interim Dynabook and all of that.
I think that it kind of fits with this view,
that the idea was greater than the implementation.
In some ways, the implementation kind of cheapened the idea
because it wasn't perfect.
It wasn't the ultimate goal.
It wasn't what it should have been
and kind of maybe led them to the wrong conclusions because of that.
And that's actually, I think, a really worthy thing.
If you had to take away some advice from this
when working on your own future of coding
project dear listener if you can come up with something that is both like usable and good and
valuable today but that also unambiguously points towards what exactly could be better in the future
do that because there's so many of these projects that either point strongly towards what could be
better in the future but are useless today and that fails or that are so useful today that they
stop pointing towards what could be better in the future and that fails and so this is like
one of those things that's well how do you do that i don't know but it's certainly something that one should strive to do is to do both of those things together yeah agreed yeah okay um
all right so we're i think we're at like page 394 now yes yeah which is the second page number you
have we're like four paragraphs into this thing yes which, which is great, right? There's so much packed in, and we
chose this as a smaller paper,
and yet you can see
what happens, right? This is
a tight paper, right?
It isn't trying to use too
many words to explore the concepts.
This week's episode
of the Future of Coding podcast, which
is, of course course a weekly podcast,
is brought to you by Replit. Replit is an online repl with over 50 languages,
and they have sponsored the Future of Coding community for several years now to find people
who would like to work at Replit from our community or from adjacent communities. People
who are doing experimental programming projects
of their own might find that working at Replit is an environment where some of those outsider
ideas about what programming should be would have a nice home. And Replit put together a blog post
recently outlining reasons not to join Replit. And so I just, I'm going to talk about that as the sponsor read
today. Some of the things in this list are to me quite cringy. There are reasons that I personally
wouldn't want to work at Replit, but I think that's kind of the point of this post is that
reading through it, you'll be able to really quickly identify if replet is the sort of place that
you would like to work and what do you know number three on the list is you find weird things cringy
so they kind of they have this like built-in sense in the post that it's like this is meant to be a
really good way to identify what your values are and whether or not those values would be
aligned with the values of replet as an organization, as a group of people.
The Weird Things Cringy one, though, is one that I actually really like.
They talk about how they like memes and colors and jokes, and they try to often, when making a decision, choose the weirder or wackier thing. Some of the things that I've talked about when I've talked about Replit in the past include their JavaScript game library called Kaboom, the intro video of which has this
just really strange, like, ween-esque guitar pop song with almost unintelligible lyrics.
It's just one of my favorite things in terms of, like, here's how we're going to market our
JavaScript libraries. We're going to make this really weird pop song to introduce how the library
works. If you think that you might enjoy working with a team of people who would make a weird
guitar-y pop song as a way to promote a JavaScript library, or who might write a blog post about
the different aspects of working
at Replit that people might not like. And hey, you know, if that's you, don't come. But otherwise,
if that is you, do definitely come. Then you might actually find yourself resonating with what
they're doing and why they're doing it and how they're doing it. I'll link to that blog post in
the show notes, reasons not to join Replit. I'd like to thank Replit for helping to just keep things weird on the internet.
So now, without further adieu,
we get into a summary of what they've built in terms of the actual hardware and that kind of stuff and what they're endeavoring to build.
So they describe the Dynabook.
We've talked about what the Dynabook is.
You've all seen the picture.
It's like an iPad with a little QWERTY keyboard at the bottom. Basically, the same description as we've seen in man-computer symbiosis and augmenting human intellect, where, as Kay says here, and I'm going to paraphrase slightly, suppose it had enough power to store thousands of page equivalents of data.
You know, it's been, what, 20 years now of papers that we've read where thousands of page equivalents, in fact, even
going back to the to the mimics, as we may think, Bushley, thousands of page equivalents, it's always
about the same amount. And that makes me feel a couple of interesting things. Because, like,
we're in this post internet attention economy, we're thinking about having to work with thousands
of page equivalents of data
is just like no i don't want to i don't want to think about that much but at the same time
compared to the capability we actually have which is more like trillions of page equivalents you
know at a at a ready grasp um it's interesting that you know from 45 through the late 70s
thousands of page equivalents was a pretty stable benchmark
i found that interesting that stuck out it continues on to explain that before the beginning
of the dynamo project there was an earlier attempt at designing this meta medium called
the flex machine and i'm wondering jimmy do you know anything about this because i don't i haven't
heard of this project no i i meant to trace that down, but I never looked it up. Yeah. And it was
67 to 69 was when presumably Kay was working on the Flex machine. Yeah, it looks like his
doctoral dissertation. So that's and that's right around the same time as the mother of all demos
and all that just for chronological sorting things out in your mind,
dear listener. It describes the dino book, and then it also describes the fact that they have,
oh, well, I guess it doesn't get into the interim dino book yet. We'll get to there in a second.
Jimmy, you had something from this section that you wanted to point out.
Yeah. So I just love the one little thing in here that I think is really fun is, you know,
there's this discussion about like time sharing versus a personal computer and why like children kind
of force you to have a more powerful computer that's interactive as opposed to like the green
tinted graphics it says the kids on the other hand are used to finger paints watercolors color
television real musical instruments, and records.
If the medium is the message,
then the message of low bandwidth time sharing is blah.
And I just, I love that little,
this is one of the things that I love
about some of these early computing papers
is there's just a little bit more personality.
Yeah.
Right, like imagine that published today right like
i'm not saying you could never do it but most papers you read are just pure technical right
like they're they're about uh you know using a type system to do blank right like they're they
mostly focus on factual statements rather than this kind of flavor that you get here, which I just enjoy.
Yeah, that would never make it past reviewers.
Yeah, it's blah, right?
I pulled out another similar quote about the children. Think of the children.
Second, the kids love it. The interactive nature of the dialogue, the fact that they are in control,
the feeling that they're doing real things rather than playing with toys or working I have a three-year-old
and she already is so disinterested in doing a toy version of something that she sees like my wife or
I doing the real version of like she wants, you know, we we've given her like real saws, a real
drill, um, screwdrivers, nails, hammers, all that stuff, like real ones, like ones that we would use
to do our own woodworking. She has those same tools we're like you know we taught her the little bit she
needs to know to not cut her fingers off and away she goes same with like cooking same with art same
with doing music right like her room's full of instruments but they're real instruments like
she's raided my instrument room and has taken like my actual nice melodica and a bunch of other
things nice recorders that kind of thing up there with herica and a bunch of other things, nice recorders, that kind of thing
up there with her. And the toy versions of those things are so terrible. Like I got her a toy
accordion recently. I didn't think of it as a toy accordion. I thought of it as a small accordion,
but when I actually got it, it's not in tune and it's bad to play and it's hard to play and it sucks and it sounds bad and she knows
that and i know that and it's just a bad thing and it made me curious like well i i totally get why
giving the kids the real thing is something they're going to be drawn towards and why they're
emphasizing that i like that here but it makes me wonder how the kids actually felt that this was the real thing when this is clearly
a prototype of a computing environment unlike anything else they would have used. And if they
know anything about computers, they would know that computers aren't like this. So in what way
is this the real thing? The feeling that they're doing real things rather than playing with toys or working out assigned problems?
Like I just – I'm curious as to how they created that feeling in the junior high kids who were using this because they were testing this project at a junior high school.
I just wonder how they managed to give people that feeling because it's something
that I could imagine. And in fact, we've seen this later on where some people rejected the
GUI at first because they thought it was a toy and that a real computer had a terminal interface.
And, you know, you'd use text commands to interact with it. And the GUI was like some kind of toy
thing. So how did they how did they make the kids feel like this is the real thing? I wonder, I mean, I could imagine at least two potential ideas here, like one might be just the physical
hardware, right? You can see pictures here of the of the machine of these, these disk packs,
which I had never seen a picture of before, actually, these big, huge, like record size,
but thick things that you're sticking in,
which are hard drive platters, from what I looked up, right, that are memory.
So like the physicality, right, might help make this, because maybe these kids have only
really seen computers as the physical object, not the interactions that go on in the screen,
right?
The other, of course option
is some of these kids parents work at Park hmm and so for them this is what
computing looks like yeah right I suppose so yeah yeah but yeah I think
that that's a is really interesting because in some ways it's not the real
thing I think I agree with you you know small talk was very it i mean especially this
was aimed at these kids it was a toy in some sense but i guess alan k at the very least i
don't know how uh adele goldberg would feel about it but i think alan k would kind of defend it as
not a toy because it is capable of everything that the non-toy systems are yeah
so unlike the the fake uh accordion right like it it is properly tuned and can do the things that
you would expect it to do and this is like i think in the heyday of their approach of you know if you
want to imagine what technology will be like in 30 years, you can kind of imagine 10 years of that 30-year gap.
You can cross another 10 years with like $10 million worth of funding or whatever.
And then what's the third 10 years?
How do you get that?
I can't remember.
I don't remember.
Yeah, but there's like three things you can do that when you combine all of them
will get you a hint of what technology might be like 30 years in the future.
And so this is a lab where they have that millions of dollars of funding
and they have that systems that are futuristic in that way.
And so it might be richer and more luxurious
than what these kids might have seen computers are like elsewhere.
Yeah, that's a good point.
And that might make it feel interesting.
Yeah.
And so we get the interim...
All right, and I'll let you say you have officially won this,
what the communication of the first paragraph meant.
Because it says here that we have designed an interim version of the Dynabook
on which several interesting systems have been written in a new medium for communication,
the small talk programming language. So the small talk programming language is the new medium for
communication. And the idea here is really they built a more traditional computer in the sense
of we think of it, you know, it might be a little bit more advanced at the time but it's a desktop computer with a crt display a keyboard a mouse i love you
know a pointing device called a quote mouse and a variety of organ-like keyboards for playing music
and a chord keyboard which they never really describe yeah so that would be the angle bart yeah bartian chord keyboard here uh interesting yeah bartian
barty uh so uh yeah but yeah that that's the sort of thing that we have here and you know it really
is kind of just describing the setup here and we get some things that like today seem a little like
uh i don't know silly uh maybe just like obvious and i'm sure weren't at the time like different
fonts right so they show two images one of a serif font and one of a sans serif font i don't find
that silly at all just because i remember like even in the early days of the Macintosh, like the emphasis on typography and on fonts and Susan Kerr's work on coming up with a couple of really nice looking fonts was a huge deal. in a way that more closely emulated the experience of reading real printed text or newsprint or whatever the benchmark you want to compare it against. that the formal business world, the engineering world, the military, they would never put that
down as like a bullet point, you know, priority action item kind of thing to put a lot of
engineering effort and design effort towards. And it took this, you know, group focusing on
other kinds of people and focusing on humans in general and the kind of things that That we value in a very soft kind of fuzzy way
That's that's hard to make a business case for to really start to bring that
That flavor into what you do with this this medium this new system
And so it's to me that is it makes perfect sense why that's tremendously important because it is one of those kind of things
And it also demos really well like it's very easy to show somebody like look i have this page full of text
and as i'm writing it you know it does um ragged right justification automatically and i can i can
do you know a basic amount of page layout and i can switch between a serif and a sans serif and
and see how that gives the writing
a different feeling when you read it like that's a great demo and it it it requires a lot of
technology to make that demo possible so i totally get that that's to me that's very exciting they
also had custom emojis um which uh yeah it was you know way ahead of their time right so you could
but the way theirs worked was you could type the word
and it would just replace the word with your own custom icon.
At least that's how they described it.
So there once was a bear,
but the bear is just like a picture of a bear that you drew.
There once was a bear who got lost.
He did not know whether to go left or right.
He asked a bee he saw sitting on a flower.
The bee promptly stung the bear on the bear's nose.
Ouch, said the bear. I'm sorry, I forgot myself. My favorite part about that story is that the bee is Canadian.
Why?
I'm sorry.
Oh, boo. Boo. Oh, boo why i'm sorry oh boo oh boo i'm sorry but i had to point it out anyways yeah uh another thing from this section that um that uh that i wondered is i wonder has anybody tracked down any of these kids who were you know
test subjects um who were lab rats for this project do we does does anybody listening to
this know what became of any of these kids who were uh who were playing with these dynabook
prototypes and small talk and and building their own fonts and painting
and drawing programs and that sort of thing. If there's any info about that, I'd love to hear
about it. Yeah. In one paper, Alan Kay mentions that one of the kids ends up working at a park
later on. But yeah, but I just, I'd be curious that from the ethnographic angle of this interests me.
And so, yeah, yes, i maybe maybe i was downplaying fonts
but uh you know it's things that you would just kind of expect in a system today but obviously
this is 1977 right uh and it's not going to be just expected uh so we get we get fonts we get
multi-window display what we know as like a windowed interface, right? But this is
having to be described and not really
shown. I don't know if we really get
a little bit.
Yeah, a little bit.
In examples of other pictures, we see
this, right? And they talk about
how the benefit of a window
is that you can do some drawing
within the window, and if you try
to draw outside the window, you can't.
So it like contains the drawing that you're doing.
So it can't mess up something on a different part of the screen,
which is like, that's an interesting thing
to have to help people come to an understanding of.
And it makes perfect sense to me
when you're trying to like communicate to somebody,
like why a window?
Well, it's like, it's a way of isolating. like it's not just about being able to have lots of things on the go at
once but it's also that all of those things are within their own space and then we have the ability
now like you mentioned to draw they'd say how these things are drawn which i just love this like
uh i don't know this little mathematicalness here curves are drawn by which I just love this, like, I don't know, this little mathematical-ness here.
Curves are drawn by a pen on the display screen.
And then in parentheses, straight lines are curves with zero curvature.
Like that needed to be said.
A little data modeling hint in there.
Uh-huh.
There's actually a couple of those kind of peaks behind the curtain.
Like there's figure 26.8.
Multiple windows allow documents containing text and pictures to be created and viewed.
And one of the windows, the background most one, actually shows a little bit of computer code in a way that I found interesting.
Because it's sort of, I've never seen like what the coding style that was used for writing small talk in this interim dinobot looked like and
there's a little tiny snippet of code there and I'm not I can't quite tell if
it's small talk or not but I found it very hard to read and it sucks and it
should have been a visual language murder murder murder well one of the one
visual language that was built out of this initial small talk system is, is linked here.
Uh,
Pygmalion.
And yeah,
we'll cover that.
I'm sure at some point,
but yeah,
so we get all of these,
like,
uh,
these drawings,
but then we also moved to animation and music,
right?
The system.
I mean,
yes,
like you said,
this is really aimed at like not the,
the suit,
not the,
you know,
the army general. This is aimed at letting us express
ourselves and and i think that children were this test bed not because they thought this would be
limited to children but because they thought if children can do it then any anybody could do it
and children are pickier about these sorts of expressive notions, whereas adults are going to just let it be
less good. And so yeah, we get some, I mean, pretty cool looking drawings, I think at times,
you know, some not as cool as others, but you know, it's all black and white. But yeah, we get
like a horse that's animated, obviously not in the actual book, but in reality, you know, the horse galloping along.
I've watched a video of it.
It's a little janky,
but, you know, the movement of the legs
doesn't quite match the movement of the horse.
But a kid did it.
I mean, come on.
All right, so...
No, the kid added the jockey.
Oh, okay.
Yeah, the animation animation if i remember
correctly was done by somebody else and then the the child was able to add the the jockey onto the
moving course so we're we're getting a little ways into this section the next section coming up i've
got some big thoughts about but i wanted to drop a couple in here. One of the things that
they suggest, and I'll read this quote, one of the goals of the Dynabooks design is to not be worse
than paper in any important way. I wanted to call that out because I worked on a project called
Crosscut late last year and in the early part of this year, which was an interface that is for
creating dynamic drawings. And you're supposed to use these dynamic drawings to help you think late last year and in the early part of this year, which was an interface that is for creating
dynamic drawings. And you're supposed to use these dynamic drawings to help you think through
things. It's a way of creating a drawing that is a little bit reactive. And one of the things that
we did while working on that project, we ended up doing this multiple times throughout the course
of the project, was just like brainstorming all the ways in which, like what are all of the nice qualities of paper?
What are all of the nice qualities of a pen?
What are all of the nice qualities of a,
like an iPad or a tablet that aren't shared by paper?
What are all of the things that they do share?
And those brainstorming exercises are so easy
and really fun to do.
And so if you haven't done that and you're like bored and
you've got to kill 15 minutes or something like that i would strongly suggest like just start
listing out like what are all of the nice things you can do with paper that you can't do with an
ipad because you will come up with some you know and it's like the classic art school exercise of
like okay take an object that's small enough
that it can fit in the palm of your hand
and you have one hour, draw a hundred drawings
of that object.
Like those kinds of exercises are so generative
and so good at getting your gross creative juices flowing
that I really encourage you to do them.
And this is a good one.
And so it's fun that that came up.
I'm gonna just keep steamrolling because I got a bunch of these to get through.
Yeah, no. Great.
So about the multi window capability, the multi window display capability
of small talk has inspired the notion of a dynamic document.
I like that quote because for one,
it refers to window management as a feature of small talk and that
makes me like i and i'm used to windows being really important in like pharaoh and glamorous
toolkit like those those programming environments really like their their multiple windows that
seems like it's you know the the genealogy of small talk but it's interesting to me that they
conceive of smalltalk as being
the thing that powers that multi-window interface and as like in it as a thing that emerges from
Smalltalk. Whereas these days we think of multi-window as being from the OS, like it's,
you know, the OS has a window manager. And if you are writing some program and you want a window,
you ask the OS to make a window for you and you can draw in it and what have you.
So that kind of thinking of the programming environment, thinking of the communications system as destroy all apps you know don't have apps like
just have a programmable computer that gets rid of the app distinction and there's some like
malleable software kind of spirit in there that i caught a little hint of um two more
while i'm steamrolling through my notes oh it's great yeah i mean there's so there's a lot of
stuff packed into these sections.
Oh, yeah. Yeah. And this is a short paper. It's less than 10 pages. So yeah, a lot in here.
Next one, animation, music, and programming can be thought of as different sensory views
of dynamic processes. I just love that. That's so good. That speaks directly to my heart,
thinking of animation, music, and programming
as dynamic processes,
but they're just different ways of viewing a dynamic process.
And you can extend that to so many different kinds
of creative expression.
Like writing is a certain sensory view of a dynamic process.
Theater is a certain sensory view of a dynamic process.
I love that.
I thought that was a beautiful way of articulating that and a way of tying together like, you know, the different media available in this meta medium with what the computer is as like a thing for
facilitating dynamic processes. And then last one. Any graphic expression can be animated,
either by reflecting a simulation or by example, and then in in parentheses giving an animator program a sample trace or route
to follow i hate this i hate this so much this is so bad this is like endemic to all of these early
uh programming systems where they're talking about you know oh here's how you're going to do
animation uh i'm pointing my finger squarely at conal ell's Fran and FRP also do this thing that is awful.
What is awful about this and why does it make me so angry?
They have these systems where they talk about animation as being such an important capability of what these systems offer
and the way that they facilitate animation is one of two things one of them is not so bad
the other one is terrible the not so bad one is the flip book you have a bunch of frames and you
flip between them and you just draw a bunch of static pictures and you have one picture after
another and that is okay i am okay with that
that's fine come back to that in a second the other thing that they suggest you can do is you
can just draw one picture and then you can move it around you can have a path that it follows or
you can make it get bigger smaller you can make it rotate and they and they go especially in conal
elliott's work go to great lengths to talk about how easy it is to program
these things and how i'm gonna start picking on conal elliott we we aren't talking about conal
elliott today but damn it um that whole thing is about conal elliott's whole thing is about um
getting away from discrete states and getting towards continuous representations. So space is continuous,
so instead of pixels, you should have vectors, and time is continuous. Instead of individual frames,
you should have functions that transform things over time, and you can evaluate those functions
with any real number, and they will give you back some information about the animation at that
moment in time, and that there's no such thing as like a oh you're limited to a certain frame rate and if you want to slow down or speed up you can't do it
that sucks so much because it forces you into conceiving of animation as like oh this thing's
gonna move and that thing's gonna move but the things that are moving are themselves static and that that's like it's closer to
puppetry than it is to animation it's taking something that is lifeless and giving it life
only by kind of wiggly waggling it around in space and that is such a limited constraining impoverished way to think
about what animation is and what animation should be and it so curtails
your ability to express emotion or to express scenery or to express mood or
like like to you know a great example of this would be if you are doing an animation of a
person and you want to convey a wide range of emotions but you can't change their facial
expression like sure you can do that right like there's you know we have forms of theater that
are all about that and we have you know puppetry is all about that but it is so limited compared
to being actually able to change the expression
on their face. And if you look at, you know, classic greats of animation, you look at classic
Disney, or you look at Studio Ghibli, or you look at, you know, pick any animation great that you
want and compare those to early computer animation. So I'm thinking, you know, anything pre-Toy Story.
What you will notice is that all the early computer animation stuff was very much about
like affine transformations of 2D or 3D geometry in space. And eventually they got rich enough
that you could do something like Toy Story. But even then, it's still like even animation today,
even keyframed animation with inverse kinematics and
skinning and all that kind of stuff is still about oh we're just going to move vertices around through
space that way of thinking about animation is so broken that we are still struggling to overcome
it today like if you one of the one of the really rich ways of expressing things in animation is
using squash and stretch where, you know,
like you imagine a ball bouncing and when the ball hits the ground, it should squish down a
little bit and get wider. And then when it springs up off of the ground, it gets, you know, narrower
and elongates a little bit. And it kind of has this, this bounciness to it. And you can do that
with, you know, really simple affine transformations of a sphere in space and
so everybody's like look you can do squash and stretch isn't that good enough well we have so
encoded the idea of animation as this like simple transformation through space that if you want to
do a rigged character who you know has like if they're running really fast like their legs
stretch out longer and maybe if they're going to fast, like, their legs stretch out longer,
and maybe if they're going to jump, like, their arms kind of curve and elongate. Like, that is
incredibly hard to do. So that only in the last couple of years have we started to actually see
mainstream computer animation be able to do that. Whereas if you are drawing individual cells of
animation in the flipbook style,
that's immediately something you start doing. And there's no limitation in the technology
of expression there that forces you to do that. And so what's the trade-off, right?
You don't get to have this squishy, stretchy fluidity, like, you know, look at like Felix
Cosgrove. Correction, I meant to say Felix Colgrave. Where he's got like, you know, look at like Felix Cosgrove. Correction, I meant to say Felix
Colgrave, where he's got like, you know, somebody's face melts and transforms into a landscape and the
landscape curls around itself and outcomes like an eyeball and the camera pulls back and you're
looking at someone's face. Like you can't do that kind of stuff with computer animation.
So what can you do that is hard to do with the flip book kind of stuff? Well, if you want to slow something down,
you can,
or if you want to speed something up,
you can,
or if you want to move something from the left side to the right side and
have it not change in any way,
but move smoothly and not have to draw the in-between frames,
you can basically,
you get the opportunity to be somewhat lazy.
So if you don't want to have to,
if you've drawn a sequence and it
takes 12 frames and you actually need it to take 15 frames and you want it to be even motion
throughout you got to throw away your 12 frames and redraw them as 15 and in classical animation
you do that and it's fine and we have ways of of working with that it's not a big deal and so that
that seeing that in here that way of talking about animation is like, oh, you can draw a curve and your shape will follow the curve. That, that's not how they would have been thinking about how to do animation on a computer and how a computer can do animation in a way that is places and it set us up on a course of doing computer animation that is still terrible and you know look no further than popular kids animated
shows these days right like pick any you know 3d animation i know the ones from when i was a kid
like reboot and that sort of thing all the characters are like stiff blocky their movements are robotic there's not life and
expression everything is like the the way that they are eased the way that all their emotions
are eased is really unnatural it did not have to be that way at all and we are still not over that
hump it's it's something that we are still a far way away from getting back to computers helping us
do animation in a way that is
as rich and expressive as what we had pre-computer and we've we've caught up with music and with
visual art i think to a greater extent than we have with animation though those those media as
well were also harmed by the way that they were conceived of by early computer people saying hey
we built a computer for doing music and
and artwork and maybe i will have a similar rant about music in it and when we get to that section
of the paper but anyways that's that that bit any graphic expression can be animated either by
reflecting a simulation or by example giving an animator program a sample trace or route to follow
that makes me angry uh i think this kind of reinforces your point actually i
watched a talk where uh alan k is showing some of these animations and one was a ball bouncing
yeah right and for that animation they did not they wanted it to look like the ball squishes
and then bounces up right and they didn't do any sort of tweening or anything like that. They did it in the flipbook style, frame by frame.
And they redrew the object completely on the squish.
It was a single frame squish.
And they actually showed how they had to change some of the...
The ball had kind of a little reflection on it
to show that it was a 3D, make it look 3D or whatever.
And so they had to redraw that, but in a a different shape and they had to redraw the ball differently like
you you there was no you know you couldn't do the automatic squishing right like it had to be
a distinct hand-drawn thing to really give the effect um and so there were no other than the
fact that you know the computer kept playing the animation for you
So you could like you know figure it out and see the feedback quickly that was about you know
And that's nice that that and that's one of the things they talk about in this paper is if you're working on a frame by
Frame animation where each frame is its own drawing you can have one window showing the animation in a loop
Well you're working on a specific frame. That's amazing.
That's so good.
That's something that we still use today.
We use that same idea in music.
I use it when I'm doing music for this show.
It's so valuable that a computer can do that for you.
That's a great one.
Right next to this terrible bullshit they also foisted upon us
that we're still trying to crawl out from under.
What a contrast. Small talk,
a land of contrasts. Yeah, speaking of these
terrible animations, we then
see some animations that kids made
using this horrible
system.
You know, I'm sure that
Ivan has as good of critiques
for these children,
these children's animations as he did just now.
So he can, we're going to art critic mode here of,
you know, the tree, Christmas tree that spins around.
No, the horse has four legs.
That's good.
It has a tail and the tail is a good tail.
And the horse's eyes look a little bit like it's angry,
but that's okay because it's a horse
and the life of a horse is one of eternal blight and punishment.
And so it's understandable that it would be angry.
I definitely don't think that's true, but okay.
That sounds like somebody whose wife is an equestrian person.
Yes, my wife's a riding instructor and horse trainer.
We own two horses. They're very happy
horses. Eternal blight and punishment. They love running out in the field and being ridiculous.
It's great. So yeah, so we get this, you know, kids have made these, these animations and
drawings, but also made their own programs using small talk. So, you know, it says here, like,
one young girl who had never programmed before decided that a pointing device ought to let her draw on the screen.
She then built a sketching tool without ever seeing ours.
She constantly embellished it with new features,
including a menu for brushes selected by pointing.
She later wrote a program for building tangram designed yeah tangram designs
yeah i don't know tangrams there's the uh picture but i think it's a picture yes okay i see it here
that's a tangram yes for you uh podcast listeners uh that right there is a tan yeah that one i see
what you're talking about yeah it's kind of this like 3D star thing composed of a bunch of parallelograms and trapezoids and things like that.
A Chinese geometrical puzzle consisting of a square cut into seven pieces which can be rearranged to make various other shapes.
Mid-19th century of unknown origin.
We also got this cool jack-o'-lantern
that they painted.
Oh, that's what that is. With a little hat on.
You see that as a jack-o'-lantern?
I see it as a jack-o'-lantern, yeah.
I saw it as like a snowman for some
reason. Like the head of a snowman
wearing a hat.
I don't know why. Yeah, it definitely looks like a jack-o'-lantern
to me. It's got the triangle eyes.
You're listening to the Interpretive art hour on Small Talk Radio.
Small Talk Radio.
So we get, you know, some of these programs,
and they kind of highlight over and over again
that these kids were able to learn the small talk system
and make these novel programs.
We even get a system that lets you lay out circuit designs
that was programmed by one high schooler. I think these are interesting examples.
I have opinions on them, but they're definitely interesting examples.
You go first.
Okay, yeah. So there's a paper, the early history of small talk, I think it is, where Alan Kay even reflects on this and kind of points out that these were really the exception, not the rule.
These kids were kind of, I mean, they were from a Palo Alto school.
They were, you know, exceptionally bright kids.
Most kids weren't able to kind of like take in the small talk way of doing things
and just make stuff it was this very small percentage of people who really grasped onto
this and made these interesting programs um and so even if we just assume that they're like i don't
know what it took to make these right there's no there's no code listing or anything i you know
i think he sometimes mentions like it's a couple pages of code or something
because the system's so expressive.
But I think that this paper really plays up
these accomplishments
as if there's something very grand about them.
And I have to say, it feels a little...
It definitely feels like we're leaving off.
How long did it take to make these programs?
What were the struggles?
What were the rough edges?
It's cool that people can make these, and I think it's great that kids are learning these.
But coming as somebody who started programming as a kid, I guess I don't find it super surprising.
Kids will work at things endlessly for hours
trying to make something like this
if they're interested in it.
And I guess I just don't see it as really
a selling point of this system.
So here's what I think.
What a weird way to start.
Here's what I think.
This is like raising the ceiling, right?
If you sat these kids down in front of a time-shared terminal system, none of them would have done any of this stuff.
But sitting them down in front of a small talk system, some of them could do some of this stuff.
And that's, I think, the transformative difference here is showing that a system like this is possible to be built, that a computer is even capable of doing this.
This is something that a computer can do.
And it might not be good enough yet for everyone.
It's certainly not good enough yet for everyone because it's this interim system.
It's a CRT screen and a keyboard, and it's at a desk with speakers and that kind of thing.
And the for everyone goal was specifically about giving everyone an iPad-like device so that they could carry it with them. Because it's not, the children are not the focus here. The children are just a
great audience to test your ideas against because they're so discerning and so demanding. But the
goal was this is supposed to be the computer for everyone. The fact that some people can do these
kind of things with it, I think, is tremendous.
I'm not aware of other similar systems at the time that had that capability in the same way.
I might cheat here and quote something other than what we agreed to read,
which we've never laid down ground rules about what's allowed in these conversations. Yeah, if I'm allowed to rag on Conal Elliott's paper about functional reactive programming, which, it's not really reactive either. That's, God, God, we'll have it later. But Alan Kay in this, the early history of small
talk, his goal was that everybody should be able to do this. And it shouldn't require massive
amounts of effort. Yeah, here we go. Okay. You know, he talks about like, people accomplished
these things, right? But it was like the 5%, right and uh he says it was a terrific idea that worked
very well but not enough to satisfy us as adele likes to point out it is hard to claim success
if only some of the children are successful and if a maximum amount of effort of both children
and teachers was required to get the successes to happen. Real pedagogy has to work
in a much less idealistic settings and be considerably more robust.
So they didn't achieve the goal, but I don't think that they're claiming anywhere in this
personal dynamic media paper that they did achieve the goal i think that they're at least in my generous
reading of it are instead showing here's what we've built so far but that we have ambitions
to do so much more with it and they don't actually say kind of like a kind of like man
computer symbiosis they don't actually say at the end of the paper money please um that is the implication here is it's like we
need we need more time we need more uh fiscal energy um to continue this work and and and and
upon continuing the work we will endeavor to achieve these goals but we have not achieved
the goals yet but we're showing good progress like that's that's how
i see it yeah i i mean you're probably right i i guess i do see these statements you're right that
they never claim to have met the goal and they definitely end with a you know next steps sort
of thing i guess what i didn't see in here was any critical discussion of those accomplishments
yeah yeah there's no right yeah like that's what i liked about the the early small talk history was that it's like and here's the
you know yeah of course we did these things i mean they continue on to say like some successes
is markedly different from no success right so like but there's no discussion of that there's
no discussions of the limitations here sure but this is such a short paper, too.
Yeah.
Whereas early history of small talk is long.
Yeah.
I think you could have put a little discussion of limitations in here.
That would be my little...
And I know for funding, you don't want to, probably, right?
Or you want to pick very carefully what kind of limitations you talk about,
because it should be ones that seem like,
oh, yeah, but that would be trivial to solve
if you had another couple of years to work on on it if you gave me more money yeah one
problem was these children didn't weren't given any compensation uh yeah no i i mean you're right
i guess i just found this paper you know it's it's easy to be idealistic when you're talking about abstract ideas.
But once you get to these concrete systems, it almost like, calls for talking about the
limitation totally. And we don't get those at all here. Right? We just get the upside.
Today's episode of the future of coding podcast and, and yes, the Future of Coding is a daily podcast,
is brought to you by TheaterJS. TheaterJS is a JavaScript library for animating JavaScript
properties. It is a beautiful example of taking an idea that has been proven in dedicated tools for creative use and translating that idea into a
new context. So Theater.js gives people working on the web the same kind of powerful F-curve editing
that exists in traditional 2D and 3D animation tools. This kind of F-curve editing is like one of the only good tools that we have for doing
really expressive motion, whereas a lot of other animation tools like just simple A to B easing
don't let you articulate motion in the same way. But having F-curves is like a glass of water in
hell when it comes to animating things where you have some value that
is changing over time. And what the computer does to help is interpolate that value. And the F-curve
lets you control how that interpolation should happen in a very expressive way. If you are
working on some JavaScript project and you want things to be moving you owe it to yourself to use theater js
instead of just using uh you know an off the shelf or rather you know built into the browser
easing curve like ease in ease out even the the spring physics that uh we keep getting teased to
maybe someday get as a easing type in the browser is not nearly as good as having a real F-curve editor.
And so Theater.js, check that project out, drop it into whatever you're working on,
and use it to give your animation a kind of flair and personality and life that it otherwise would
be lacking. Theater.js is being built for both artists and animators on the one side, but also programmers
and more technical people on the other side. It's very approachable. So it's something to get into,
even if you don't think of yourself as somebody who's going to be doing that kind of artistic,
expressive sort of work, typically. Give it a try, because you might not have had good tools
to do that kind of expressive work before, if you've only ever been working with programming tools.
A lot of the things that they give you to do expressive animation are terrible.
And so if you gave yourself a good tool for doing expressive animation, you might find, oh, hey, actually, I really enjoy doing animation.
And I've never thought of myself as that kind of a person.
So TheaterJS, check it out.
And also, if you are fond of TheaterJS or if you're fond of animation or if you're
fond of this kind of work they are hiring so head over to join.theaterjs.com and say hello to aria
and the rest of the team and tell them that you want to be a part of what they're building
my thanks to theater js for helping bring us the future of coding here's a uh a lightly paraphrased maybe it's
not paraphrased i don't know here's here's a uh a quote from uh from this section for context this
section it gives a bunch of examples of people creating programs working with documents in
various media that's the second we're talking about still music is the design and control of images, pitch and duration changes, which can be painted different colors, timber choices. It has synchronization, coordination, and very close relationship between audio and spatial visualization.
What?
What? music is the design and control of images pitch and duration changes which can be painted different
colors timber choices it has synchronization and coordination and very close relationship between
audio and spatial vision so i would have no way to make sense of what that means if it were not
for the fact that it is accompanied by some images of the music composition tools that are present in this small talk environment, this prototype Dynabook.
And what they show is your very typical sort of MIDI editor interface.
That if you've worked with a DAW, a digital audio workstation, you will have seen this. And it's basically like kind of a timeline view where time progresses from left to right and you hit play and the
timeline moves along. And up and down, you have different bars that you can fill in.
And if you fill in one of the bars, it's going to play a note. And so going up the screen,
you have, you know, CD, EFG, F, G, A, B, whatever, whatever.
And you can put a little bar in.
And when the play head comes along and hits that bar, it will start playing that note.
And you can make the bar longer if you want the note to play for longer.
And then when the play head moves past the end of the bar, it will stop playing that note.
And you can make those bars different colors if you want them to have different sounds. So they show some of the bars are like a dotted pattern because it's, of course, a black and white screen. And so if you want to have color,
like a grayscale color, you have to do it by alternating pixels. And that's the interface
they're talking about. And so that makes sense, right? The design and control of images. So that's
this little interface, which lets you do pitch and duration changes, right? The length of the bars and
how high up they are in the screen, which can be painted different colors, right? Okay. Are they
dotted? Are they solid? That kind of thing for different timbres. And it has synchronization
and coordination. So, okay, you have, you know, two bars that start at the same time. They're
synchronized, right? You can have a chord play or something like that. And a very close relationship between audio and spatial visualization, right? Because
you hear the music playing and the visual depiction is a very, very literal representation
of what you are hearing. There's a direct mapping between what you hear and what you see. Okay.
All right. Now that's understandable. That sucks. That's terrible. Same problem as animation before.
This is a very poor way to represent music.
It's awful.
And we are still dealing with the consequences
of this being the way that we chose to represent music
in the early days of computing.
It's not just this lab and this specific implementation.
There were other people who had the same idea
and did the same thing and committed the same sins and we're still living with that original sin i'm an atheist but yeah
i'm sure everyone was worried yeah yeah no so if i if i blaspheme a lot since you were quoting
catholic doctrine so so why why does this fail i want to just talk about this for a sec because it's interesting because it's like in in this podcast i do i do say quite frequently that oh you know
these things happened early on and i long to live in the alternate universe where in the early days
things were done differently and and what what computing industry would that have led to? What computer would we
have had? And I talk about that in a very vague and rambly kind of way. And this is one concrete
case that I can talk through to explain what would be different to go along with the animation one.
This is the music one. So what could you have done differently in the early days that would
have led to a different kind of computer or at the very least a different kind of
software for working with music um now and of course you know there are reasons that this was
the way that it was done it's very easy to program this it's very easy to design this it's very
amenable to a computing environment where you have limited memory, limited computational power,
limited input and output, right. So granted, it makes sense that this was the thing that was done.
It is not inevitable that this is the only way one could have done it. So this fails because it
is the computerized version of one part of music theory, one part of music tradition.
And the part of music theory or tradition that it captures is the kind of music that
is about putting notes down on a musical staff.
So if you've ever seen music written out on paper, it's on what's called staff notation,
where you have different note shapes that tell you how long each note is going to play for and so on and so forth.
Lots of markings you use.
And that's how you, in the Western classical tradition, write down music so that you, a composer, can come up with a musical idea, write it down, give the piece of paper to somebody else who is a performer, and they can play that
music. And there can be this sort of disconnection in time or in space between the person who's
conceiving of a musical idea and the person who's performing the musical idea. And that is also
not a very good system because it's a trade- trade-off right engineering is all about trade-offs
what you gain is the ability to communicate musical ideas at a distance and to also make
musical ideas repeatable you can give two different people the same set of music and they will both
play the same thing quote-unquote the same thing and my quote-unquote the same thing is where this
breaks down because music is not just about play this sequence of notes in this order with this timing, etc.
With this relative volume for each of the notes with this, you know, timber this tone for each of the notes that you play or this note on this instrument that note on that instrument.
There's so much about music that is also going to come from the performer. There's like so much emotion that can come through what you actually do to articulate
and pull those sounds out of your instrument.
You know, like one of my favorite things when I play the drums, one of my favorite things
to do is to not actually hit the skin of the drum with the drumstick but to instead hit the side of the drum to hit the rim
around the side of it and get a real clack out of it when you have an electronic drum kit you can't
do that right like the electronic drum kit is a thing where you put on headphones and you hit
these little black pads and it feels very 1980s and you can hit the electronic pad and it'll make
a little but you can't quietly tap the sides of the thing because it doesn't have a sensor there.
Because whoever built this assumed that that's not a common enough way of playing the drums
that you need it.
But most of my expression as a percussionist comes from hitting the sides of the drums.
And I do so much with that.
That is such a big part of how I play and i'm able to get so much
mood and character and expression out of doing that in contrast to hitting the actual skins and
and and hitting them with different things or pushing into the skin with my finger to
to change the the tone and the sound and that sort of thing there is so so much to music that is not captured by which note at which time.
We now are getting to the point where we have musical tools that are about giving you control
over those other aspects of sound, about manipulating sound as a part of musical expression.
But for the longest time, the manipulation of sound was not something that was enshrined within the creation of music expression. But for the longest time, the manipulation of sound was not something that
was enshrined within the creation of music tools. It was all about which pitch at which time.
That is less than half of the main things that you bring to bear when performing a piece of music,
when you're either coming up with music improvisationally or when you are
Performing a piece of music that's already been written or even when you are trying to write a piece of music as a composer
Which note at which time is less than half of it? and so I long to live in the alternate universe where when we were coming up with early ways of
Expressing music through software that we didn't settle for something that
encoded less than half of what musical expression is about. That we also picked the other aspects of
musical expression and gave them as much emphasis and richness in the representation as we did just
notes and timing. And as I often say, imagine the alternate reality, right? Imagine an alternate reality where
instead of being created by and for dilettantes of the Western classical tradition, computers were
created by art rock bands or gamelan or Papua New Guinean indigenes. Those are all examples of
musical traditions where which note at which time is not nearly as important as other aspects of it. All right.
I love it.
I love the music and animation rants.
Okay, so I'm glad that we've gotten out of the examples,
and we're into the conclusion.
But one thing I want to make sure that we have,
we have their conclusion,
but I also want to be sure that we touch on our conclusions, right?
I'll let you do the summary of their conclusion, but I also want to be sure that we touch on our conclusions, right? I'll let you do the summary of their conclusion because I didn't actually put any notes down about that.
I have some of my own thoughts about the conclusion, but I didn't do a summary of it.
I think in part because my textbook is missing the last page, so I only have half of the conclusion here.
You don't have a conclusion.
Okay, got it.
Yeah, so, I mean mean really we just see this
kind of vision casting imagine if everyone had this right if everyone had the new meta medium
that could do anything you could want it to do right so they talk about an architect being able
to simulate three-dimensional space they talk about a composer being able to simulate three-dimensional space. They talk about a composer being able to hear the composition that is beyond their ability to play.
Learning to play music by listening to experts and being able to have evaluation.
Educators can now have a new world where they can show these dynamic systems working. It's this vision casting of what if
everyone had a computer? What if everyone was able to use it to its full, but also this medium
wasn't constrained? He said, there's this idea of inflexible goods like cars and television sets,
and then there's the flexible goods like paper and clay.
We would like the Dynabook to have flexibility and generality of the second kind of item
combined with tools which have the power of the first kind.
Thus, a great deal of effort has been put into providing both
endless possibilities and easy tool making through the small talk
programming language. And so the idea here is, we wouldn't end up being consumers, right? We would
be creators. And if we had access to these creations, how different the world would be.
As we're reading these papers, I'm always conflicted on how much do we focus on the paper, the text in and of itself, and how much do we focus on the history afterwards, the people behind the paper, and their later work, Engelbart and the mother of all demos. It's very easy, I think, to try to read the mother of all demos into augmenting human intelligence. And it's talks, and I know his thoughts of the modern day
manifestations of these systems. This is one of the reasons I went and tried to do some research
on Adele Goldberg to find her take, because she was instrumental to all of this work,
and yet we don't have, in my head at least, I don't have her voice, right? I don't have in my head at least i don't have her voice right i don't have her take right and i
admittedly there wasn't as much out there right she just didn't kind of have that public persona
that alan k has given himself over time but i did find these like disagreements very interesting so
you'll hear alan k talk about like objects and the the need to really play up the message passing aspect of them.
And the, like the object is a real thing that can like ignore your message, right? Like you don't
get to just command an object to do something. It can decide you give it advice, you give it,
you know, you tell it and it decides whether to do it or not. And Adele Goldberg in her interview actually
said that that was the biggest feature that prevented children from understanding the system.
And one of the reasons that in later small talk, they got rid of that was because they found over
and over again, it was way more understandable if when you invoked a method to use modern language,
right, it just did it.
And there was no, you didn't have to think about, is this really going to do what I asked it to do
or not? Yeah. And if not, why not? Yeah. And what she said was that you had to constantly think
about all the implementation details because there were all these layers that could prevent
your method call from going through. It's really interesting, I think, to kind of consider
this paper in relation to Alan Kay's messaging and how that colors our perception of the paper.
I think this is what the paper doesn't emphasize that I think was actually the aim,
was that it wasn't about the affordances of small talk. It wasn't about the, uh, you know,
the programming interface. In fact, I, I think if you actually look at it as cool as small talk is,
this is a pretty terrible programming interface. And I want to hear your, you said that small talk
is the reason this failed. So I definitely want to hear that, uh, that take on this, but you know,
what, what I think was trying to be aimed at was not the affordances,
was not the interface. It was a result. And that's what I think Alan Kay is always upset about
in a way that I'm, I don't know. I don't know if, I guess that makes sense to be upset about it.
But it's like early internet pioneers wanted freedom of speech on the internet.
But that wasn't really what they wanted.
They wanted to usher in the utopia that freedom of speech on the internet they thought would provide.
Right?
And so when you hear people being upset about the lack of freedom of speech or that people are trying to take away that freedom of speech,
it almost, yes, freedom of speech is important.
I don't want to get in a debate about that.
But it's always about the end outcome that these people wanted, right?
They wanted this world peace and utopia from freedom of information, freedom of speech,
being able to see other people in what they're doing.
And I feel like it's the same thing with Alan Kay.
What he wants is not these programming systems not the affordances
they give not this interactivity but the outcome that every child is literate in computing and not
just that they have the ability to program their own painting app if they want to using you know
some nice tools but that they in fact do program
their own painting apps. And that is a social change rather than a technological one. It's
asking what sort of life should we be living? And what should that life consist of? And what
activities should we be doing day to day? rather than, you know, should we be reading
Twilight or should we be reading Infinite Jest? It feels like this cultural expectation rather
than a technological one. And so much of what I, reading this paper, I have to say, like,
I've never quite gotten Alan Kay's message on what we don't have.
And maybe this kind of solidified it for me, but it also, like, made me enjoy this paper less,
to be honest. I think I would have enjoyed this paper more if I didn't know the disappointment
with the outcome. Because I would have seen this as, look, this is the work
that pioneered so much of what we have today that influenced Apple that did all of this.
And I would have seen it more positively. But now I guess I feel a little jaded.
And so I think that's also something I would say as a takeaway is like, I think there's really
cool ideas here that ended up coming true, but my perception of them were colored by
the general attitude that these ideas have been presented with and our failure to live up to them.
And so I think future of coding people should think about that and the way in which your own
public persona and message can change people's perception of your work.
This is actually, I think, a testament to engelbart's human intellect
that you know in general i didn't really enjoy all that much but at least there like the generality
of it that i'm so given to poking fun at means that it at least that work augmenting human
intellect didn't fall into the same trap as the mother of
all demos and now this personal dynamic media, this Dynabook prototype. And that has been a
common refrain amongst people who have been trying to continue this work, which is that
the earlier that you commercialize the work, the more likely it is that the incomplete,
rough, approximate hashing out of the vision in a primitive form that happens early on
is going to be the thing that you end up stuck with.
So like Apple comes in to Xerox, Steve Jobs looks at all of this stuff and he says, give
me the GUI, give me object oriented programming, give me Ethernet networking and don't give me small talk as like a like end user programming kind of thing.
And so the the thing that gets commercialized is the thing that we're stuck with and it misses the, you know, anybody can program malleable systems kind of computer literacy doesn't mean being able to type QWERTY at, you know,
60 words a minute and up and use a mouse.
It's, you know, being able to mold the computer to do the kind of things that you want it
to do in ways that aren't suggested or constrained by what off-the-shelf software is available.
If this paper, if this personal dynamic media had included some
criticisms, then that might have indicated that they were more comfortable at the time that they
were working on this, talking about the ways in which this is a limited, failed, flawed,
incomplete, early exploration of an exciting space, and that nothing in here should be taken as work to be built upon
this is work that we're doing to learn what kind of work we need to do and you know as we all know
that's not what ended up happening and now you know k didn't do a little bit of open criticism
early on and now he's stuck doing a sort of sort of self-criticism in a certain way of looking at it for the rest of time.
Maybe I'm skeptical of this idea that we should
discourage people from running with our ideas
that are half-baked, have some limitations, etc.
I think actually it's probably that impulse
to try to guard and prevent and not continue
to commercialize things that is preventing progress more than anything.
And I'll give some examples.
One example that I think is emblematic of this.
Lighttable, right?
This experiment by Chris Granger, raised a Kickstarter.
And, you know, Lighttable was built, but never built to the point where it fulfilled
its original vision. Because what Chris found as he was doing this, is it never met his goals.
And his goal was this direct connection with programming, but also this end user programming
idea. And I know the history is more complicated if chris granger you happen to be
listening to this i know it's more complicated than that but ignoring the funding all of that
stuff i get it like i'm just i'm painting a narrative here right like we then get eve right
and there were so many interesting eve prototypes and i think had this been a situation where Chris was able to actually spin off each of these
interesting ideas as commercial ventures that took that and explored them as far and as
deep as they could be, we would actually be further along, right?
Had people properly funded each of those ideas as a commercial venture and explored them
to their fullest extent, we would probably then, they would influence the
next generation of things and we would go further and further, right? I think guarding against these
sketchy ideas and making sure they don't come to life actually prevents us more because it
limits their influence. I think all of these projects that we consider like good
future of coding projects intentionally set themselves up, maybe not with this exact intention
in mind, but the way they are structured is that they can't be successful. And that's a good
property of them. And I would compare this to like music, like indie music. If you become
successful in the sense of commercially, you make a lot of money, you have failed in your goal.
Your goal was never to become Coldplay. Coldplay is not a success by according to all of the
original listeners, right?
Modest Mouse are kind of like the last example I can think of as like an indie rock band
that went from being defined as authentic by their fans
because they were independent.
And then, you know, one day 200 bros in white t-shirts
started showing up at their shows.
And then they were, you know,
their music was being used for a Nissan minivan commercial and they signed to a major label and now all their music
sucks. And I think to me, that was the last time that happened. And since then, the culture now is
very much like, if you can find a way to get paid at all for what you are making as a musician or
an artist in this attention economy, you are doing a
good thing. You are successful. That's why we have, you know, pay what you want for Radiohead's album,
launching a whole pay what you want model and leading to Patreon and, and crowdfunding as a
source of income. And, you know, in the pandemic, people doing paid streams as a thing or teaching music lessons or doing YouTube explainers or like Jeff Tweedy from Wilco and his son do like a streaming show.
There's all of this invention happening in the music market now that authenticity is no longer defined as reluctance to making any money and authenticity is now something else and that really
led to this explosion of creative ways to make money as a musician and that had a little bit of
a sink or swim effect in that some bands that used to be viable by being ugly are no longer able to
be viable by being ugly and i feel that as like the kind of music that
I like to make is ugly music. And it's hard in this particular incarnation of the economy
to succeed as a musician making intentionally ugly music in a way that it wasn't when I started
in a way when like Tom Waits, his whole, you know, career is about being simultaneously ugly and
beautiful. And that worked in a bar room, jazz diner dive context in the seventies and eighties
that no longer exists. And you're not seeing new people like Tom Waits because the market is so
much more focused on, on image nowadays. And so you you you have nfts instead you have other
things that are ways that people can be enterprising and creative and do music but
also do something else that gives their music an edge and maybe we just need something like that
like like and and i think that's a support of what you're saying like we need a different
definition for success right the definition for success in music changed. It used to be, you're not allowed to
make money. And now it is you win by making money. And so coming up with creative things that you can
do to make money while still actually making some music once in a while, that's the new market.
That's the place that we're at with these future coding endeavors.
If you go take your idea and make the startup, you've sold out.
It's no longer the weird, ugly, but interesting and different thing.
When I see people who are doing these research things, they don't want that startup.
They would consider that a failure. And so, yeah, I think we have to think about
what we want success to look like.
But also, I think we just have to be okay
with what we actually do have as success.
I think so many times people will take their efforts
and diminish them in a way that they don't need to.
Yes, maybe you didn't solve that big social problem that your effort was really aimed at.
But you made a difference for all sorts of people in influencing the way they thought.
You made their Sunday mornings listening to a podcast about your ideas,
you made them enjoyable and made them have a richer thought life from it. I think that we can't define success as influence.
We can't define success as making money.
I think we have to look at our connections with others in the community and see that
as our success.
And so, yeah, that's what I would hope, that we can be okay with the fact that, yeah, that's what I would hope that, you know, we can be okay with the fact that, yeah, this endeavor we're doing, we're intentionally making it so that we can't be a quote unquote success.
Yeah, I like that.
I like that idea of maybe what the fringy programming space needs that our community is part of, that Ink and switch is part of that lobsters and lambda the
ultimate etc etc etc maybe all these little niche communities need to go through that moment of
changing what authenticity means to them and allowing themselves to do some things that were
previously beyond the pale or that were previously you know socially ostracizing and uh that that will sort of release some shackles that will allow us to do things in
the heart of our domain that we couldn't do previously because we were too constrained by
you know material circumstances we were working within yeah stop doing startups everyone or start
doing startups who knows we Or start doing startups.
Who knows?
We'll have to figure out
what this new take on authenticity means.
Yeah, I've heard now is a really good time
to start doing startups.
But there's a lot of money
and it's there for everyone.
And so go do your startup.
And yeah, no, maybe this impending VC collapse,
you know, this hiring freeze,
all of this is just the impetus
that we as a community and as a as a broader community need to actually start experimenting
with like you know different ways to make money from our different ways to make money from our
music different ways to make money from our our our hyper pop programming languages that are
full of nonsense visuals and glitches and all that kind of stuff.
Closing thoughts,
Jimmy.
Yeah.
I mean,
despite my,
uh,
misgivings on some things,
I think this is a great paper,
right?
Like definitely worth the read.
Um,
in some ways it feels obvious cause I think it happened,
but it's a great example of a short paper.
Well written gets its ideas across.
I definitely think we need more experience reports like this.
Completely agree.
This is an enjoyable read.
It's easy to recommend.
In fact, go to your local used bookstore and find a copy of the New Media reader from i think it's from mit and uh get it
with the textbook the high school textbook style binding don't mind the fact that the last page of
this particular essay is missing that's okay and read it because it has an abridged version of
augmenting human intellect they picked out just the good bits um so you can read that read a
non-gendered person computer symbiosis and enjoy
all of the great things that we've been reading so far and and and do that because next time we're
probably not going to read something that's in this book so i surely want to shout future
because you always end on future oh yeah yeah right
sorry jimmy can you give me another clean take of that future
there we go in fact this actually ties in nicely i was going to ask you if you didn't have an
opening segment an idea for an opening segment would be um that i'm going to uh use some sounds
from you to make the music for this episode so can you give me some sounds that I can use as material?
I have no idea what it is.
I assume you want it to just be ridiculous.
But yeah, what are you looking for, for sounds from me?
Oh, I'll let you figure that out.
I feel like I'm in some weird social experiment now.
Boom. There you go. There's there's two sounds it's all you get
oh that's good no i was expecting like like maybe a squealing pig noise or uh or a yeah yeah or like
a scream right at the breaking point at the top range of your voice
so i'll just go in my falsetto and then try to go down without changing into my head voice yeah do
that yeah there you go that great. Thank you so much.
Trying to convince people to do that is actually one of the things I love to get people to realize.
Like, no, you're shifting.
Yeah.
Like, don't shift.
Yeah.
Right?
Like, yes, I know you know how to shift to that note.
Just try not to i actually can't do that anymore because i i i so trashed my voice a decade ago doing that kind of stuff that i i can't hit falsetto anymore and i'm like so sad about that i mean i had a
really good time making all sorts of weird noises and trashing my voice done enough of that for one
lifetime so now content to just uh goad people into doing that on podcasts Thank you. Terima kasih telah menonton Thank you. Thank you. Thank you. Bye.