
The Social Dynamics of Programming Together in Dynamicland - GuiA
https://dynamicland.org/research-notes/social-dynamics-of-programming-together/
======
pwaivers
I have read about Dynamicland before and really like the idea of an
interactive program/computer. However, I still do not understand what they are
actually doing. For example this quote:

> "Each one of these was made by a different person at a different time, yet
> Bret was able to combine them without making a single code change, he just
> placed them next to each other."

What exactly are they programming? Writing that face from scratch would take a
LOT of code. Or is it like a high level framework they are all using which
combines visuals together? The idea seems very fun, wholesome, and
educational. However, they do not explain what is actually happening from a
programmer point of view.

~~~
j2kun
I visited, but did not write any code. There's an overarching system that
loosely couples everything together. E.g., the system provides drawing/sound
primitives, controls how different pieces interact according to a fixed set of
rules, and reads/displays the results of computations via cameras and
projectors.

People write the bits of code, print them out on paper, with barcodes included
that encode the contents of the program for the cameras to be able to see.
Each program, then, specifies directives for its own behavior with "anything
else" that wants to interact with it.

For example, one program might specify a "wish" to have a number n as input,
and then it would produce as output a drawing with a flower that has n petals.
Any program that provides a number (maybe by, say, asking the camera to see
how many red blocks are on the table) can emit that number in a direction (the
papers are oriented) and if you point it at the first program, the system
connects the emitted number with the wish of the target program in the obvious
way.

So it's like each program is its own independent agent with a really simple
behavior, and when you combine a bunch you get some nice emergent system.

AFAIK currently the process of learning/writing the programs still happens on
a laptop by yourself. I guess the picture of the young woman typing on a
keyboard with the screen projected onto the table is a step beyond that.

~~~
pweissbrod
Some of us are intrigued but can't pay a visit to the lab in person. I would
love to see some videos that illustrate what you're describing and better
understand how they would eventually synthesize into real life productivity

~~~
gravity13
I get the sense the end goal here isn't in productivity but more for education
and creating environments that foster a programming mindset and/or nourish
more emergent creativity from being able to code at a higher level (probably
the most consistent theme in all of Bret Victor's forays).

In a sense, it's basically just a framework with a text editor that isn't
based in an OS but instead a 2d surface that you interact with, using your
hands and interacting in a more social medium than something like, say, git.

~~~
jf
> I get the sense the end goal here isn't in productivity but more for
> education and creating environments that foster a programming mindset and/or
> nourish more emergent creativity from being able to code at a higher level

While those uses are certainly easy to see and imagine in Dynamicland, the
mission statement for Dynamicland is to "incubate a humane dynamic medium
whose full power is accessible to all people."

The researchers at Dynamicland take this mission statement quite seriously and
are making a new medium. Like any medium, this one isn't explicitly limited to
one kind of use.

------
Glench
For research supporting this mode of working, see Bruno Latour's "Laboratory
Life":

[https://www.amazon.com/Laboratory-Life-Construction-
Scientif...](https://www.amazon.com/Laboratory-Life-Construction-Scientific-
Facts/dp/069102832X/ref=sr_1_6?ie=UTF8&qid=1517603412&sr=8-6&keywords=bruno+latour)

and Ed Hutchins' "Cognition in the Wild":

[https://www.amazon.com/Cognition-Wild-Press-Edwin-
Hutchins/d...](https://www.amazon.com/Cognition-Wild-Press-Edwin-
Hutchins/dp/0262581469/ref=sr_1_1?ie=UTF8&qid=1517603420&sr=8-1&keywords=cognition+in+the+wild)

------
gone35
Some more background/discussion (after [1]):

[1]
[http://discuss.tbd.cool/t/dynamicland/86/4](http://discuss.tbd.cool/t/dynamicland/86/4)

[2] [http://vitor.io/on-dynamicland](http://vitor.io/on-dynamicland)

[3]
[https://harc.ycr.org/project/realtalk/](https://harc.ycr.org/project/realtalk/)

[4]
[https://mobile.twitter.com/redblobgames/status/9072538029311...](https://mobile.twitter.com/redblobgames/status/907253802931126272)

------
coloneltcb
Dynamicland is amazing, it needs to be seen in person. I encourage everyone to
visit and donate

------
vanderZwan
> _Virginia has no prior programming experience but has started combining code
> she finds around the space into her own creations. Here 's part of a
> birthday surprise she left me over winter break. Even our visiting
> ethnographer Goetz created a great spatial music game in Dynamicland (also
> no prior programming experience)._

> _Like learning French by going to France, people in Dynamicland learn
> programming through immersion._

Imagine a meeting with designers where you bring a stack of pages representing
neatly refactored code for the prototype as it is put together now, plus a
bunch of extra code snippets of possible changes to make or things to explore.

I'm pretty sure that this could make certain types of brainstorming about what
a product needs a _lot_ more productive.

EDIT: And now for some trouble in paradise: if we envision this immersive
computing environment of the future, what about people bringing _malicious
snippets of code_ into the building? imagine we have the ability to print, and
to guide robots to disperse the printed text. A quine in dynamicland then
becomes a virus, a fork-bomb.

~~~
RodgerTheGreat
As far as I can tell, the pieces of paper are just pointers into a database.
If you physically carried in a new sheet of paper it would be inert (or maybe
the system would confuse it with some other piece of paper with the same dot-
code).

I can't help but think that the paper metaphor, while convenient for immediate
manipulation, is ultimately a really clumsy way to store programs, especially
given that it is an artificial abstraction around an ordinary filesystem on a
Dynamicland server somewhere.

------
SolarNet
Show me the code (of the bootstraping system). This project is no more "beyond
open source" than a History channel documentary about aliens. This is no more
than a tax haven and toy for the wealthy and privileged. Put up or shut up
(about claims of being open source or for everyone).

I'm only angry because it's a good project.

------
itronitron
I really like how this socializes the aspect of creation with software and I
know that it would drive about 90% of the software engineers that I currently
work with absolutely insane

------
RodgerTheGreat
I'd really like to see some examples of the kind of code people actually write
for this system. It seems strange that the dynamicland site avoids this
entirely.

~~~
jf
To borrow from the show "Halt and Catch Fire": The programming language isn't
the thing, it's the thing that gets you to the thing.

In my talks with the researchers at Dynamicland, it's become clear the
programming language is, well, dynamic. It's in flux and not what the main
research is being done on.

At a high level, the focus at Dynamicland is on what a "humane dynamic medium"
is and can be, which is slightly orthogonal to programming language design.

At a low level, the language used right now is a modified version of Lua,
though I have seen GLSL and JavaScript used on some of the programs. The thing
is, once you have enough programs, one tends to spend more time using the
physical space to experiment rather than spending time in a text editor.

