Often when I'm discussing Dynamicland, I get the q...
# thinking-together
s
Often when I'm discussing Dynamicland, I get the question: "why not just use a giant iPad" The only response I can come up with: - tactile manipulation is often necessary for learning - familiar objects, like paper and glue, provide well-defined affordances which cause minimal surprise, as opposed to anything in an iPad which will have surprising limitations
(I searched for mentions of Dynamicland in this Slack, before asking this question)
👍 1
s
tru
i
You get a really good physics engine for free. The entire engine / "operating system" is posted up on the wall, and anyone can read it, and it doesn't require much in the way of specialized knowledge to comprehend. Anyone can change anything about the system at any time. Since it's rooted in the real world, it can achieve a kind of dynamism that is entirely different from what we're used to in the virtual world. The activity of programming is inherently social and interpersonal and incremental, rather than private and strategic.
👍 2
It has very little to do with the tactility of it. That's part of it, sure, but that's like saying the big advancement of the iPhone over what came before is that the iPhone has a good touchscreen. In fact, the iPhone was a computer than travelled with you. It was an augmentation of your person. Dynamicland is an augmentation of your environment.
👀 1
s
This should give you more material than anybody will likely be willing to discuss with you. ;-) Kirsh, D. 2013. Embodied cognition and the magical future of interaction design. ACM Trans. Comput.-Hum. Interact. 20, 1, Article 3 (March 2013), 30 pages. http://adrenaline.ucsd.edu/kirsh/Articles/Embodied_Cognition_and_Magical/EmbodiedCognition.pdf
w
Contrasting Dynamicland with an iPad is a good thing. In a way the iPad represents a limit of computing, a maximum arrived at over the past 50 years, the full appification of things. When you open an app, the iPad becomes the app. There are downsides to this appishness. Many, including Apple, are interested in tweaking the trajectory; however, we arrived at the iPad from the constant application of a certain gravitational force. Dynamicland is a rocket into unexplored space. By flipping everything upside down: a communal computer rather than a personal computer, a shared table rather than a private view. It's less about the technology and more about how people can collaborate with each other with a surrounding computational substrate rather than an intermediating one. Printouts and projectors are mechanisms. The goal is a new way – in some sense an old way – of working with other people.
👍 2
d
you can do a lot of that with (a) touchscreens in tables and (b) AR headsets

https://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Surface_table.JPG/1280px-Surface_table.JPG

https://mms.businesswire.com/media/20181024005193/en/686259/4/1_Spatial-Collaborative_Room.jpg?download=1

https://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Surface_table.JPG/1280px-Surface_table.JPG

Dynamicland isn't a revolutionary idea: it's just a user interface idea, not really about enabling people to program more easily - the language is still some clunky imperative thing based on Lua AFAIK
expecting some of you now to take me aside and correct me for my heresy against this group's love of everything Bret Victorian
😄 2
@Ivan Reese said:
It has very little to do with the tactility of it. That's part of it, sure, but that's like saying the big advancement of the iPhone over what came before is that the iPhone has a good touchscreen. In fact, the iPhone was a computer than travelled with you. It was an augmentation of your person. Dynamicland is an augmentation of your environment.
.. but I disagree, the iPhone advancement was essentially that all-embracing touchscreen and the takeover of the UI from the button-based small screens of Nokia, etc
"computers that travelled with you" is a much much older idea and already very widely implemented
s
It makes me feel sad when you characterize the group as a homogenous entity to be adversarial against. 😟 I like to think we're okay at holding multiple perspectives in our head simultaneously!
🙃 1
💣 1
☝️ 1
s
I disagree, the iPhone advancement was essentially that all-embracing touchscreen and the takeover of the UI from the button-based small screens of Nokia, etc
The thing is iPhone popularized the idea of a computer that traveled with you, so it deserves the credit. Sure PDAs had been around for 10+ years before iPhone, Nokia phones and other Symbian devices had all of the capabilities as iPhone at launch (and often more), but Apple marketed and streamlined the experience enough to get people actually using the device. I get your point, Apple's contribution was improved UX (as it often is), but for the majority of smartphone users those Nokia devices, or Windows Mobile, or whatever might have not existed because they were viewed as inaccessible (and often were!) or unnecessary.
👍🏼 2
i
@Duncan Cragg — Are you arguing that the delta of the iPhone over what came before is largely just the touchscreen? What of Cocoa, and Safari, and the relentless focus on performance in the creation of iPhoneOS? What of the pressure on the carriers to expand data coverage and speed? What of the marketing muscle of Apple — for instance, spreading the term "App" beyond tech circles? The touchscreen was a huge enabler, but putting a full-size capacitive touchscreen on a Palm or Moto Q wouldn't have led to those devices or their progeny becoming the preeminent computing platform of our era. The DynamicLand comparison holds. The fact that Bret Victor has a lot of sway over our community is earned and, hell, might even be a factor that contributes to the success of DL where AR and the original Surface did not succeed. But ignoring that, DynamicLand might mostly be "just a user interface idea", but it's certainly not only that. You can see the difference by looking at the Paper Programs project (https://paperprograms.org) which is a duplication of the UI with none of the other characteristics — no tuple space-inspired programming model, no RealTalk OS posted up on the wall for anyone to read, no "it's a building, not a program" augmentation of the environment around you, no cultural knowledge of the others around you to immerse yourself in when visiting the space. Aside from the website, pretty much every example I've seen of people using Paper Programs has them projecting it onto the wall, because it's a pain in the ass to hang a projector from your ceiling, which means you have a completely different relationship with the UI than is intended. Paper Programs is a cool exploration of the space, but it throws away so much of what makes DynamicLand what it is, and you can see the result of that by looking at what people are doing with Paper Programs, versus what they're doing with DL. Not unlike looking at what people did with the post-2007 BlackBerry, Palm, and Moto devices that featured a full-size capacitive touchscreen, versus what people (especially developers) did with the iPhone.
👍 2
w
It may be fair to say that building Dynamicland on Lua and a tuple-space is hardly innovative. We could turn around and say that tuple-spaces haven't exactly been given a fair shake or that Lua was meant as a non-committal, practical choice. Likewise, the projectors and decorative dot printed pages are clunky but just enough to explore a shared computing space. What then is the real experiment here? I certainly cannot answer that for those involved, but from where I sit, it is the experiment is the social experience and not so much the rest.
💯 1
👍 1
d
yes, getting AT&T to hand over a lot of control and focus on internet service (GPRS/EDGE at the time) was the iPhone's other big breakthrough, which benefitted the whole industry
Bret Victor and Apple fandom, or any kind of fandom, make me wary: I'm just trying to point out that things are (as always in history) broader and deeper than the stories a lot of people become comfortable with. Many in the US are unaware of the progress Nokia were making in the Rest of the World (before being destroyed by Microsoft), or the progress in Japan via DoCoMo et al
👍 3
s
From https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/
But seeing the impact that his talk ended up having, Bret Victor was disillusioned. “A lot of those things seemed like misinterpretations of what I was saying,” he said later. He knew something was wrong when people began to invite him to conferences to talk about programming tools. “Everyone thought I was interested in programming environments,” he said. Really he was interested in how people see and understand systems—as he puts it, in the “visual representation of dynamic behavior.” Although code had increasingly become the tool of choice for creating dynamic behavior, it remained one of the worst tools for understanding it. The point of “Inventing on Principle” was to show that you could mitigate that problem by making the connection between a system’s behavior and its code immediate.
Most of us are programmers here so it may be we're just looking at Dynamicland as a programming system. I feel the essence of the research isn't about programming at all, but more about thinking/understanding/sharing. It's a whole new medium of external representations. E.g. we have writing/books/drawings, video/tv, interactive screens as various existing mediums of representations. In theory each of these is 'just a UI' - in the sense it interfaces with the user. But each evolves different ways in how it helps people think, share and collaborate. Maybe Dynamicland is an 'interactive physical space' medium.
💯 3
d
yes, I believe that it's the idea of bringing computational tech/power into the human realm and the social context instead of the other way around: the "dynamic medium" being an extension or augmentation of our familiar environments and interaction modes to allow freer and magnified, shared thought.
I'd like to see that shared, interacting "thought stuff" be programmable in a humane way also!
i
I'd like to hear you articulate the ways DynamicLand lacks humanity in its programming. I have my own ideas for this, and doubtless there are many more. It seems like you've got a few ready to share.
d
well it seems that details are scarce, but according to this thread, there's Lua and something tuple-space-like? it's not looking promising on the face of it
I like @wtaysom’s "flipping" of the "appishness"
that sounds like what I'm doing in my own stuff - knocking down app boundaries by flipping the system so that the "thought stuff" is primary
Lua -> something declarative, like spreadsheets tuple-spaces -> something more familiar, to represent "thought stuff" to normal people, like spreadsheets
anyone got any links to technical deets on RealTalk?
s
Have you seen the 'wish' and 'claim' concepts: https://rsnous.com/posts/notes-from-dynamicland-geokit/#background-on-realtalk. I think the tuplespace just means there is one global namespace where all objects publish and subscribe. It's not something you directly program against afaict, but it's exposed via this wish/claim concept.
s
Nicky Case's concepts were interesting (

https://rsnous.com/posts/notes-from-dynamicland-geokit/nicky-case-programming.jpg

)
❤️ 3
afaik none of this has been implemented
Never mind, @stevekrouse did some of this with math kit last year https://futureofcoding.org/notes/bret-victor/dynamicland.html#math-kit-progress
completely missed all of that during the visit, it was probably tucked away in a drawer somewhere 🙂
j
Since we’re being impertinent here, my question is: what is the “new” operation in dynamicland? Does a printer print out a new sheet of paper to be delivered to the table by a droid?
k
Indeed. I hadn't focused on this before but @osnr's tour last weekend covered it. Pages on the table are immutable, but they can be modified in place in a scratch manner (using a wireless keyboard on the table). If/when you decide you want to save your scratch changes, a new page is printed out. You walk over to pick it up and maybe place it on the table.
👍 2
s
Also it projects red rectangles on the printed code that has been modified.
w
Throwing out the baby with the bathwater a little? I haven't been yet, but some aspects of the current Dynamicland embodiment seem... boldly impractical... if not, date I say... courageous. 🍎
k
What part is throwing the baby out with the bathwater?
w
Take it with a light heart. There's a certain irony to printing your program out in order to save it, a bazaar reversal of submitting your 1970s stack if punched cards in order to run a program. When I see Dynamicland videos, I see a revised history accelerated evolution petri dish at work. A rough draft, not a polished product, exciting possibilities. (Anyone here who has read my rants will know find delight when I get to see VR in the same way.)
💡 1
😂 1
i
That's a really cool way of looking at it. Another day, another "... huh. Neat." via William.
g
I also don't know what to make of Dynamicland. I thought it was neat as a learning environment. I was told it's goal is not as a learning environment though. It's supposed to be the future "computable surfaces" or something like that. I can certainly imagine via AR putting virtual controls and displays on any surface or to use any object as input (not saying it has to be AR, just saying shared AR glasses would make it easy to use anywhere assuming AR glasses existed ... they don't yet ... unless you count hololens/magicleap) The shared environment also seemed like an environment for learning. If my actual computing environment was so free an open then every program could steal all my secrets. And of course I only saw small programs, ~100 lines or less, where as I didn't see truely complex apps and it wasn't clear how to jump from a few toy projects to big projects. Still it looked really fun to play with.