
At Dynamicland, the Building Is the Computer - swannodette
https://tashian.com/articles/dynamicland/
======
honkycat
I feel like this kind of work is extremely important.

I always say that if someone figured out how to write better software faster,
they would be a billionaire.

I see project after project turn to mush and go south, people writing the same
stuff over and over again. I see brilliant people botch projects and struggle
to do the work of a programmer. I see weekly data breaches exposing my
personal information to whoever wants it.

To me, there is only one conclusion: Software is too hard to write. It is too
hard to write robust large-scale systems. It is too hard to write secure
software. There is DEFINETELY a ton of progress to be made in this area of
research.

...in the mean time, I'll keep on cashing my paychecks.

~~~
jcranmer
It's a testament to the improvements in software engineering that we can even
write large-scale systems at all in the first place. Structured programming
and object-oriented programming [1] have proven to be revolutionary in the
language front. Similarly, you can point to the development of the modern DAG-
based VCS and continuous integration on the infrastructure front. Or modern
IDEs with integrated debuggers and refactoring tools for development;
automated regression suites; fuzzers and sanitizers--we've come a long way.

But I think a lot of people keep falling into the same trap when it comes to
imagining what the next set of major improvements should be. Graphical
programming is a popular example: the author pooh-poohs the terminal, for
example. But text is the densest way we can precisely convey information; if
we're trying to scale to the next system size, cutting information density by
½ (or more!) is not a good first step.

[1] I'm referring here specifically to the principle that state should be
contained with objects that are protected by interfaces and passed around to
people who need access to them, instead of everything just being functions
that manipulate global variables. This is closer to what Alan Kay's original
definition than the current interpretation.

~~~
scroot
> Graphical programming is a popular example: the author pooh-poohs the
> terminal, for example. But text is the densest way we can precisely convey
> information; if we're trying to scale to the next system size, cutting
> information density by ½ (or more!) is not a good first step.

You don't necessarily need a terminal for a text-based interface (looking at
you, Oberon). Our terminals are teletype emulators. TTY is hard-baked deep
into the most prevalent operating systems and it affects what we consider
"programming" and limits our collective horizon.

~~~
Lorkki
The parent's point wasn't about CLI vs. GUI so much as different ways to
present and design programs. Most people these days write software in an
editing environment that's much richer than the TTY.

------
devinplatt
> By May 2016, Kay was able to charm Y Combinator’s president and A-type
> startup whisperer Sam Altman. They created Human Advancement Research
> Community (HARC) inside of YC Research and absorbed the CDG researchers
> there. Altman generously agreed to fund HARC out of pocket while they waited
> for other promised funding to come through.

> That arrangement lasted a little over a year. In July 2017, just a few
> months after HARC moved into a beautifully renovated building in old
> Oakland, Altman abruptly defunded the lab.

> It’s unclear why he pulled the plug. In his Y Combinator annual letter in
> February 2017, he said that the work coming out of Victor’s lab “remain one
> of the new technologies I think most about.” But a person close to Altman
> told me that by July his excitement had shifted from HARC to OpenAI, another
> YC Research project where he is now CEO. Amidst the ashes, a burned-out Kay
> left for London, and the research groups disbanded.

I was so excited when HARC was first announced. It's great that they were
funded for an extra year, but it's really too bad YC couldn't keep funding
Bret Victor's lab :(

~~~
seanmcdirmid
At least Bret Victor’s lab found some funding to keep going, HARC’s LA lab was
completely disbanded.

------
pkkim
I was lucky enough to visit Dynamicland at one point. The computing
environment they had set up there was interesting. Programs are stored on a
central server, but are executed by putting a printout of the code (with
colored dots around the edges serving as a barcode) on a tabletop that has a
camera and a projector above it. I/O between programs happens by putting cards
next to each other. The programs also affect what the projector displays on
the board, but the only persistent state is the presence and position of cards
on the table.

~~~
nexuist
>Programs are stored on a central server, but are executed by putting a
printout of the code on a tabletop that has a camera and a projector above it

So...timesharing and punchcards?

Ha! I'm amazed at how often computer history repeats (rhymes?) itself. Not to
discredit Dynamicland's work, if anything I love that they took something that
seems so ancient and turned it into something excited again. Sounds like such
a cool place to work at.

~~~
tlb
Punchcards have their virtues! My family's business used them for inventory
management in the 70s. You could print out a deck of cards for the inventory
database, and walk around the warehouse pulling out cards for anything broken
or missing, then scan those cards back in to change their category.

Now you could do it all on an iPad, but the bandwidth of shuffling cards by
hand can be significantly higher than scrolling through a list.

~~~
tdeck
Here's a company that was still using them in the last decade:
[https://www.google.com/amp/s/www.chron.com/news/amp/Conroe-c...](https://www.google.com/amp/s/www.chron.com/news/amp/Conroe-
company-still-using-computers-museums-want-4459714.php)

------
miki123211
I love the motivations behind the idea, but not the idea itself. I think
there's a better way. Dynamicland undoes half the progress we've made in the
last few decades, particularly when it comes to inclusivity. The amazing thing
about computers is their ability to convert information between
representations at will, and to transmit them anywhere, instantly. This is
crucial for accessibility. Not being tied to a single representation means you
can access and manipulate information with any method you want. It might be a
touchscreen, a keyboard and a program that reads information aloud for the
blind, or a voice recognition / eye tracking system for those who can't use
their hands. With Dynamicland, you need to manipulate physical objects
directly. If, for some reason, you're unable to do so, you're completely
locked out. Contrary to what the article says, I think Dynamicland could
strengthen the young white male living in California programmer culture even
more. The beautiful thing about computers of today is the ability to learn and
hack on programs, for anyone, anywhere. Open source even allows anyone to
contribute, and being an OSS contributor gives you an advantage when trying to
find work. Remote work is also becoming more and more pervasive, enabling
people from poorer countries to work in tech without physically moving
somewhere else. Dynamicland makes all of that significantly harder.

A better idea which might solve some problems it aims to solve, without
sacrificing inclusivity, might be going back to the Unix tools philosophy.
Tools should do one thing, do it well and do it only. They should also work
well with other tools. The design of smartphone operating systems forces apps
to do the exact opposite. They're sandboxed and prevented from accessing most
features of the OS, as well as from communicating with other apps effectively.
That forces developers to put more and more features into their apps. It also
gives many opportunities for corporate lock-in and user-hostile tactics. The
Unix philosophy would alow anyone to contribute something, no matter how small
or insignificant. There should be some verification, of course, probably
similar to what Apple does. Forcing all the tools to be open source wouldn't
even be such a bad idea after all. They wouldn't be big apps, just small
things scratching small itches, so there would be no big investment needed to
develop such a tool. I think such an approach would let us create a much more
vibrant and user friendly ecosystem.

~~~
noobiemcfoob
I've followed Dynamicland for a bit. I'm completely enamored with the project,
and yet I agree with you, the implementation is...not right. The goal is
admirable but the approach feels like a step away from it, not towards it.
Still, that's likely a side effect of simply trying to break the mold of
computing we've all grown familiar with (even as it morphs away from the PC
and into mobile and IoT).

The primary indication I see that the project is at least somewhat flawed is
this: I don't think you could build Dynamicland's systems in Dynamicland (the
same way you might write a new C compiler in C). I don't think that's their
target, but I don't believe you can accomplish their mission without that
characteristic.

~~~
infinite8s
Dynamicland mostly bootstraps itself (except for some of the hardware bits) -
[https://twitter.com/worrydream/status/1000625841326309376](https://twitter.com/worrydream/status/1000625841326309376)

------
brian_herman__
If you guys like dynamic land you guys should check out:
[https://www.evl.uic.edu/entry.php?id=2414](https://www.evl.uic.edu/entry.php?id=2414)

------
michannne
>If we want a future where everyone can program as easily as drawing a map on
a napkin, where the full power of computing is available to more than just
professional programmers, we may need to reimagine programming itself.

Seems like they're trying to achieve two incredibly difficult, dubious and
complex goals at the same time, which doesn't usually work out in the end

------
steveeq1
Does anyone on this list work at dynamicland?

I tried to visit last time I was in San Francisco and it turns out this thing
is closed to the public. The guy who answered the door says he's not sure when
the next open house will be, no one is answering the "contact" page and I'm
not getting any email announcements on it either.

Is there ever going to be any "open house" when any joe schmoe is able to
visit?

~~~
chenglou
I went to their open house twice. Since it the article says Bret is on
sabbatical, maybe we should wait a year for the next one. It's not easy
catering to waves of new people.

------
ranie93
See also: [https://dynamicland.org/](https://dynamicland.org/)

~~~
darepublic
Would be cool if their website was programmable by using a similar scheme to
the real building -- drawing on some kind of whiteboard-esque interface to
change settings on the app

------
mruts
“Our mission is to incubate a humane dynamic medium whose full power is
accessible to all people.” Kind of ironic when they don’t even release the
source code. I guess by all people they mean people who stop by Oakland for a
couple hours.

------
mruts
This is pretty cool, but, like, what’s the point? What problem is this trying
to solve? How does printing hello world out of a printer with dots on it help
us at all? Why would we want to align pieces of paper in order to do IO? How
is this supposed to change the world like PARC or Bell Labs?

Don’t get me wrong I would love to play around with stuff. But that’s what it
is, playing. Do you think any of the people who work there when working on a
personal side project are like: “I can solve the problem of <foo> by printing
out sheets of paper and organizing them on a table!” I would hesitate to call
this project masturbation, but it comes close. Or just call it art, that would
be fine too (just don’t pretend it’s going to matter all that much).

~~~
reilly3000
Bret Victors talks and essays are well worth consuming. He speaks to the
limits of computing within the confines of a small rectangular screen on how
people actually think and work. As an architect of iOS UX circa 2006, he's
uniquely qualified to discuss UX's impact on behavior. The Humane
Representation of Thought is a great place to start:
[https://vimeo.com/115154289](https://vimeo.com/115154289)

Dynamicland is the first iteration of what he envisions with "seeing spaces"
\- interactive, full body computing that allows for humans to create and
communicate more effectively whilst using technology that fades into the
background.

His personal site is sort of a tour-de-force:
[http://worrydream.com/](http://worrydream.com/)

I think anybody who makes things that users use should spend some time there.
If you just have time for one thing, check out:
[http://worrydream.com/#!/LadderOfAbstraction](http://worrydream.com/#!/LadderOfAbstraction)

~~~
mruts
I agree that computing confined to a rectangle is limiting and stifling. The
long-term solution in my mind is everyone having an AR headset. I would love
to be able to project code and objects all over the room and be able to code
any place anywhere. The technology clearly isn’t there yet though, so I
understand dynamicland’s paper and projector model.

My very very long-term dream about computing is something like nexus in the
Nexus Trilogy[1]. Written by an ex-Microsoft dev, it’s a really great hard
sci-fi cyberpunk take on the future of computing. Highly recommended!

[1]
[https://en.m.wikipedia.org/wiki/The_Nexus_Trilogy](https://en.m.wikipedia.org/wiki/The_Nexus_Trilogy)

------
Animats
It's skeuomorphism to the max.

Although if somebody got a decent web page design tool out of it, it might be
worth it. The HTML/CSS/Javascript crowd has managed to turn a visual problem
into a really ugly programming problem.

