Dynamicland 2024
https://dynamicland.org/The video is a very good overview of the project.
One interesting artifact of "the real world simulates itself" is version control. At Dynamicland, each version of a program is a sheet of paper (with a unique set of fiducials along the edges). If you want to edit a program, you grab a keyboard and point it at the program. A text editor comes up; you make your changes, and hit commit. When you do, it spits out a new piece of paper with your changes. Put it in the view of the camera to use the new version. Take it away and use the old paper to roll the change back.
That’d be pretty funky.
You could also implement input and output piping between programs in a more organized way where their physical orientation isn't as critical as most page references seem to be. eg: Put a tag on a sticky note that represents a pipe, put it close enough to the 'output' of one page then stick it to the input of another compatible page.
Not sure how protected the individual pages are from outside modification because real details are quite thin on the ground. I think right now you could probably turn every display page into a rick roll if you wanted.
I suspect each piece of paper, if examined with a good enough camera, has a unique fingerprint, like a snowflake, and perhaps this could be used in the future for an "Isomer Addressed Filesystem". In other words, all pieces of paper ship with a UUID already, woven into their atoms.
The goal has always been to move away from the dots, you can see this in the progress report: https://dynamicland.org/2019/Progress_report/
That said, and this is purely my opinion, the system works well enough as it is, and there is so much fun stuff to build on top of what works, that it's hard to prioritize a better object recognition system over the myriad of other interesting things to be done.
https://en.wikipedia.org/wiki/DARPA_Shredder_Challenge_2011
Fun fact: Otavio Good, who led the winning team, learned about the printer dots on this very site. As I recall, he said that the dots were like a map that let them reconstruct the shredded documents.
Thank you for reminding me, and others, how immediate and obvious success can be.
I believe the FAQ confirms that this is not possible at the moment:
> Where can I get Realtalk?
>> At present, Realtalk exists in Dynamicland spaces and in the spaces of our collaborators, where we can carefully grow and tend in-person communities of practice. In the short term, additional spaces will be started by people who have contributed significantly to an existing space and have internalized the culture and its values. Long term, we intend to distribute the ideas in the form of kits+games which will guide communities through building their own computing environments that they fully understand and control. Long long term, computing may be built into all infrastructure as electric light is today. This would also require an extensive network of educational support.
there's something ominous, weird, and sort of damning about being protective of your "culture and values" in this way and to this extent. If Dynamicland offered a truly novel computing paradigm, it should be one that is accessible by other cultures. If it offers a valuable culture and worthwhile values, those values should be viral on their merits. They should be broadcast, rather than kept closely guarded.
If you have to carefully indoctrinate new users into your culture in order to protect it and keep out the Others who might ruin your culture with wrongthink, maybe what you actually have is a cult.
It is very America-centric and that's very sad to me.
I think Bret is a bit hesitant to share the stuff before people understand what it is, to prevent the same problem that happened when Jobs visited PARC and walked away with the idea of "we need to build computers with the desktop metaphor", without understanding at all that it was always meant to be about authoring and sharing, not about the visual metaphors.
Regardless, I hope to see more actual standalone instances/offshoots of dynamicland.
Can you expand on this, or share some links so I can learn about it? I've not heard the story framed like this before. I'm interested to learn "what we missed out on" as a result of "visual metaphors" becoming overemphasised in the public mind.
Yes, AND it may also be because it's kind of innovation in the open, before it's really ready or that all the critical angles are fixed, and they might not want spoil specifics they would like to make flourish and present to the whole world, and see them ... let's say half-assed, or misunderstood enough that it does not "jell".
In the end, it will be embraced in some way. But it's understandable that they have a specific idea in mind.
See it as a trailer for a movie where post-prod is not yet fully done, perhaps.
Still, they've been working on this for yeeeears.
Rule 0: "Behave in a way that lets us not need to make additional rules" and things like that.
And I can doubly see it, if you have something ~new, and I could very well see that this is the thing that works if and only if you play along.
Just like building full stack software, there's a large amount of nonobvious skill in dictating your separations of concerns between the physical layer and software layer. Good programs are flexible, remixable, modular, intuitive, and let non-programmers make nontrivial interactions and enhancements via the physical layer. Bad programs require you to have the physical objects in a particular configuration, or break completely if one piece of paper is lost. I found these programming design questions a really interesting part of playing at Dynamicland.
A solid limitation of the system is that the pieces of programs aren't actually modular. You can't take a Cat from one program and a Dog from another program and have the dog interact with the cat. This is obvious in software - that's why we design APIs - but it's frustrating when all your programs exist in the same space (that's the whole selling point) and when bringing part of Program A into Program B is so intuitive and, when you have dozens of these programs lying around the room, inevitable.
I'd love to see them explore (wait for it...) using AI. Incorporating object recognition could remove the need for pasting dots onto every object by defining rules like "when you see a car, color it Red". It could allow for inter-program interoperability via the shared language of object recognition. And it could even determining logical interactions in a fun and surprising way: what _should_ happen when I take the cactus from this program and put it on top of the balloon from that program?
Bret's take on being a visionary/futurist is fascinating. He imagines the near-future world he wants to live in, prototypes enough of it to write a talk about, and gives the talk with the hopes that someone in the audience will be inspired to make it a reality. He gives ideas away with the hope that he'll be paid back with a world where those ideas have been realized.
like countless hundreds of quotes on execution vs ideas, here is one: "Ideas don’t make you rich. The correct execution of ideas does."
anyways, i'm gonna spend a little more time this evening to really dig in.
I am unaware of any of the ideas having been picked up and productized. I might be mistaken.
However, if I'm correct, then the thing that could be better is picking ideas that have a high chance of being selected, everything else being equal.
For example, this is Vlad Magdalin, one of the founders of Webflow:
> But I won’t claim credit that it was some magical insight that I had. It was a specific video that I saw that I think every maker and every creator should see called “Inventing on Principal” by Bret Victor. Seeing that talk, it’s a maybe 50-minute talk around creating games and doing animation and this broader concept of direct manipulation, but more importantly the principal behind why you do the work you do, what drives you.
> Seeing that video and being a designer and a 3D animator and a developer all at once, it just sparked that idea of, “holy crap.” The kinds of tools that we can have in animation land, the kind of tools we already have for game design and level design, the tools we have in digital publishing, all those things can be married together to front end and back end development and make it a much more human type of interface. That’s when it was boom, this has to be a product and a thing.
(source: https://www.indiehackers.com/podcast/144-vlad-magdalin-of-we...)
absolute beautiful point about needing a different kind of literacy in the modern age at the end of the video.
i wish, with all my heart, that this and similar projects develop a loving community which will enable other communities to learn computing in an accessible, cheap and memorable way.
[0] https://x.com/simonw/status/1829195655006531661 (original twitter link)
[1] https://readwise.io/reader/shared/01j6z4cj87f5ky3c6ese0thscw (backup because twitter is not the future of computing)
A 2.0 version could even merge the two versions slightly, tracking irl people into the virtual space (with pose and position estimates?) and programs (? I don't know the lingo off hand, but I mean the paper sheets everything revolves around) and in the opposite direction project the programs from VR onto the real table.
I've been interested in it for years so I'm very glad to see it's still moving forwards and alive. There were years where I couldn't find any actual new information coming out of the project.
That would be something entirely different.
Many of the ideas can be worked on and improved without requiring the expensive physical space so the OS and the concepts of the composed tools they talk about for the future of the project can all be improved and played with in a virtual space too separate from the physical presence.
I’ve heard various people give roundabout excuses, but none of them hold water. They often fall into one of the following categories:
- “People won’t get the core ideas and will use it to make things that go against the core ideas” — People who care about Bret Victor’s work will take the time to learn the ideas. People who don’t might try and make something Bret doesn’t like, but currently the world is full of things Bret doesn’t like, so I don’t get how that would be different than the status quo.
- “It’s actually ‘anti-internet’, reimagining computers as objects in physical space, without the intangible connections provided by the internet” — Cool! I’d like to use it to make an airgapped little lab thing for people in my city to play and experiment in, but I can’t do that unless it’s released to the community.
- “Yeah but remember it’s ‘anti-internet’, releasing it open source on the internet would violate the core principles.” — This feels too cute by half. I don’t consider this a legitimate objection.
- “Just come to Oakland, you’ll understand when you get here and use it.” — That’s way out of many people’s budgets. I also get the feeling that I wouldn’t come around just by seeing it, I think I’d want one in my city even more.
- “You’re not entitled to other people’s work.” — True, but most stuff done in this sort of research space is done with the intent of spreading an idea or increasing the public good. It seems kind of odd that the Dynamicland folks keep talking about what a revolutionary concept it is while preventing 99.9% of people from actually experiencing it.
Overall it just seems like such a weird attitude. I get that they’re worried about the world misunderstanding their ideas, but at this point there are tons of people who have been eating up Bret Victor’s work and have immense respect for his ideas, and would gladly watch, listen to or read whatever instructions would be necessary to help someone who’s already bought in “play by the rules” and get the best possible experience.
I think the problem is like what happened to "agile" after the manifesto. People took a term with a meaning, and ignored that meaning in promoting their own stuff, thus confusing the terminology and messing up discussion of the concepts.
The source code isn't the idea, the idea is. That's what needs to be communicated.
The web page is huge, though, with an unbelievable amount of information if you want to build your own.
If what they want is for people to try and reimplement Dynamicland without their guidance, then they’re certainly doing the right things. But if their goal is to convert people to a new way of thinking about computing, this is not a great approach.
What a low opinion you have of yourself. On the contrary, you're likely to learn a lot more (and of course, spend orders of magnitude more time) recreating something interesting from the ground up than you are simply copying the source code.
The source code isn't the interesting part.
>Anyone can change any program at any time, and see the changes immediately
Not sure what programming language Bret implementing the system but recently there's discussion how difficult and how slow to parse/compile some of the popular programming languages including C++ and Rust. In this case D is a unique anomaly where it has immediate rdmd REPL facility although it's a complex and a compiled language [1].
For creative, inventive, intuitive and comprehensive programming cyber physical system that involve hardware with fast sensing, control and immediate responses, D language is hands down the best programming there is [2]. The D authors however don't believe in any killer applications but this Dynamicland of communal computing most probably the niche that D is looking for to propel it for more wider adoption.
[1] Parsing Awk Is Tricky:
https://news.ycombinator.com/item?id=41422283
[2] D Features Overview: