
Bret Victor: Seeing Spaces [video] - zindlerb
https://vimeo.com/97903574
======
jayvanguard
Great presentation as usual. One fundamental tension I see in much of the work
he does is between purpose-built and general-purpose tooling and environments.

The challenge in both the maker space as well as much of the visual learning
and programming material he has done previously is that each of them is
incredibly time consuming to adapt to each new different project. In the real
world even similar tasks within projects in the same domain often have enough
subtle differences that re-use is not possible or very costly.

That isn't to say these are insurmountable but maybe much of the focus needs
to be on meta-tooling that can accelerate the work of experts to build these
purpose-built environments (as opposed to making generic tooling).

Inspiring stuff.

~~~
DalekBaldwin
Especially for programming, the tools have to be narrowly tailored to the
examples since you're constantly wrestling with the specter of Turing-
completeness. Any given program is an instance of an infinite number of more
general classes of programs, and it's the tool designer's job to choose which
dimensions of the design space are meaningful and important enough to be worth
simultaneously visualizing the consequences of possible alternatives. I think
it's going to take some very judicious integration of recent work on
modularity-enhancing programming paradigms into the design of reflective
language implementations before it becomes tractable to build responsive
special-purpose reflective tools on top of a generic infrastructure. Or at
least that's the strategy I'm trying.

~~~
ilovecomputers
That strategy lead to quite the run-on sentence. You have much work ahead of
you friend from that appearance alone.

~~~
DalekBaldwin
Agreed, I've been thinking too much in code, not enough in English.

------
tsunamifury
I think software engineer and the fundamentals of coding have always had a
bias towards those who can conceptualize ideas in the abstract, then build
with the assumptions that those concepts are happening regardless of their
ability to see them.

This is fine, except that it limits those who need to tinker in order to find
out how those concepts work. When the elements are visually recognizable and
physically manipulatable, you can tinker without having to hold the entire
chain on concepts in your mind. It reduces the load and increases the
likelyhood of 'playing around'.

I hope some day more of Victor's ideas can be realized through the
understanding that visualizing processes allows us to use more of our brain to
design and develop or products -- not to mention stumble upon and explore
unexpected outcomes.

~~~
darkmighty
I can't tell if everyone one is like that (I assume not), but I am extremely
reliant on visualization, and I suppose Bret is also. I believe profoundly on
it's power partly because it's the only way I can really get things done
properly, which is why those tools resonate so much to me. I have a friend
however that shudders every time I mention making programming more visual.

I mean, If I'm not visualizing something, I can perhaps find some solution in
a logical way following some guidelines -- much like following a recipe to
solve a equation or doing trial an error to solve an algebraic problem. But
critically, I can't _create_ this way. I may _stumble_ unto something useful,
but it's an entirely different process from creativity -- it's efficiency is
so much lower that it's qualitatively different.

But my difficulty at that is not fundamental, I think. I _believe_ you can be
creative purely 'algebraically', but I have no experience with it -- but I do
believe that some people have the same efficiency that I have when I think
visually and perhaps stumble a little more when trying to visualize things
themselves.

I do think this diversity is quite good, but that's missing the point. My
point is that Bret's tools shouldn't be universally _essential_ , but are
probably universally beneficial. And for some people, like me, they'd be
simply enabling.

To give an exaple: when I see a system of linear equations, I don't think of a
bunch of steps to solve them and the number of cases that the solutions may
look like in terms of constraints of variables an so on. I think of the Image
hyperplane, which can be abstracted as a plane in 3D, and the Kernel, which
may be for example a line not on the Image. Then instead I wonder if the
Kernel is non-null, what funny things this matrix is doing to the vectors (are
they rotating, contracting, and so on), or what are the invariant subspaces. I
can answer most questions one could ask about such system, but it's a distinct
way, I'm not sure if more efficient or not (and that may be up to the task).

~~~
nightski
A major problem I can see is that the more interesting a problem becomes, the
more impossible to visualize. You might visualize a system of linear equations
when it is 3 dimensional. But try visualizing a system with 1000 dimensions.
It breaks down very easily. In the end my opinion is that one is simply going
to be better off learning to think critically and in the abstract.

Again just my opinion - those who say they are better at visual problems often
just need to practice more without the crutch.

~~~
darkmighty
A big part of abstraction for me is bringing problems into something I can
visualize. This reduction itself works better if I have visual intuition. I
suppose linear systems are a simple case, since their functional behavior for
finite dimensions can pretty much all be mapped into 3D (I guess 4D would be a
little richer with double complex eigenvalue pairs, but that's just 2x 2D
rotations). I don't claim to be a great problem solver, but I've gone halfway
through college so far with pretty good grades without changing how much
visually I think.

------
primigenus
It blows my mind that Bret keeps giving talks in public and sharing his ideas
for free when pretty much each of them could have been used as a startup pitch
in return for likely investment. But I guess he's more interested in inspiring
others than just committing to one idea for years. I'm glad we have him
around.

~~~
faceyspacey
it blows my mind is how little of what he's put forth has led to others
creating startups out of them.

...what blows my mind more though is he keeps giving talks and hasn't open
sourced any of his software on github, like he said he would. i doubt he's
working on some big product that puts all his software to use. it's all going
to waste and could have helped propel the visions he's set forth. it makes
zero sense.

~~~
spyder
[https://github.com/worrydream/Tangle](https://github.com/worrydream/Tangle)

~~~
faceyspacey
tangle is really old, and his least innovative stuff at this point. it hardly
counts my friend. Bret needs to stop teasing us. At least deliver the code for
the one he said he would put on github.

I think it's very obvious what needs to happen to software development right
now. I'm straightup doing it--my startup is making come to life much of what
Bret put forth in Javascript, where it should exist (on the web, not objective
c and other technologies). He could help a lot by sharing his code, no matter
what language it's in.

His stuff could change the entire landscape, and now. I get it--we're all
stupid developers doing the status quo who can't think for ourselves and
invent something new. I get his message. And yes, that's a big part of his
message whether he knows it or not. But the point is that the stuff he's put
forth for all the live coding and coding observability stuff needs to happen
now and like a lot--it will enhance coding by several orders of magnitude. So,
I don't need any more talks about how we must think. We need to make simply
what he put forth. We need to get done his gospel already so he himself can
see what it actually looks like and move to the next level.

My guess is he doesn't want to share the code because of some sort of
philosophy that we need to do it ourselves, and more people need to be true
thinkers and inventors like him, thinking outside the box. Fuck the
philosophy. It's kinda arrogant. Release the code if ur not making ur own
company out of it. I used to think he was starting his own company, which is
why I never spoke up. But my latest prediction (after seeing this maker spaces
drivel) is that he certainly is not.

...And it's drivel because he's making the whole point about observability
regarding hardware startups, where it's way less of a big deal as in coding.
Like, his breakthrough moment was when he pointed out how all us coders were
so stupid for going along with how current coding tools work, which are
totally unobservable. That is especially relevant in the abstract world of
coding, whereas it is way less profound when it comes to concrete hardware
objects, which by nature are observable. Not that it doesn't apply--it's just
not at the level of breakthrough described in all his essays on his site.

ps. ur talkin to someone who's read every single essay on his site, cherished
his every word. this maker space stuff is crap. he's fallin off, side tracked,
whatever. I'd like to see him truly help get some of his ideas executed. It
would take zero energy on his part--release the code is basically all im
asking.

~~~
Glench
Have you tried asking yourself why Bret would not want to open source his
demos? Can you think of any other reasons that don't pre-suppose he is
"arrogant"?

~~~
faceyspacey
Yea no good ones. He's OCD and not happy with his code. He has a lame
philosophy that we must make it on our own and shouldn't have help, ie that
providing the code will detract from it. ..he's the one saying he would. I get
the sense he's just disorganized and all over the place, hyper focused with
his latest discovery du jour. ie there is no grand plan. I used to hope he was
buildin a commercial company but I just doubt he is. I want answers. If u
people weren't so busy kissing his ass u would do. I love Bret Victor--I'm
holding him accountable to the greatness he is.

~~~
Glench
It seems your response says a lot more about your thinking than it does about
Bret's. Perhaps you might try taking the view that Bret has really good
reasons for doing what he's doing and try to figure out what they are, rather
than presuming what he's doing is not for good reasons.

------
greggman
I love Bret Victor's talks, blog posts, etc. They're super inspiring.

2 things came to mind though.

1\. It seems, possibly, the exact wrong time to make rooms with giant
displays. With things like Google Glass and Oculus Rift as first gen (2nd?)
VR/AR you could project all of that info virtually and cheaply and be able to
have all the visualization he describes wherever you are, not just at a
makerspace that only a few people can use at a time.

2\. I'm always super inspired by the Bret's visualizations but when I actually
try to figure out how they'd be implemented I'm clearly not smart enough to
figure out how that would happen.

In this example in particular, he shows graph toward the end where the system
tries every setting and graphs the results so it's easy to pick out the best
setting. How would that happen? How does the system know what "good" is? It
seems to me it can't know that. You'd have to program it which in itself would
be pretty hard. Worse, most system have not just one adjustment but many. Just
a few and there'd be tens of thousands of variations/combinations to try to
figure out "best".

I'm not saying we can't get there. Maybe the first step is building a
framework that would make it easy to make systems like that with various kinds
of visualizers, analysers, time-recording, searching features etc, and maybe
somewhere along the way we'd figure out how to automate more of it.

I'd love to help work on such a system.

~~~
rtkwe
There are two big problems that I see with the current generation of VR
goggles for applications like this. The first is bandwidth, the Oculus's
screen had too low of a resolution for densely packed information and text,
this may have been solved in the latest but I haven't seen it in person.
Google Glass has the problem because of it's really small size, trying to
access and manipulate much information on that interface would be extremely
slow and cumbersome.

The second is with full VR goggles. Right now there's not a really good way to
be able to use them and interact with anything outside the VR environment.

For your other point about the graph the system doesn't have to pick out the
best on its own. Just having the possible values and the results displayed the
user could pick which one achieves their goals best. For his light following
robot though there's a pretty easy way to evaluate the parameters, how far is
the robot from the light, that is a simple function and could easily be
programmed.

The integration of the whole room and how you get the robot to automatically
do many runs with different parameters, for the viewing across possibilities,
is where I think a lot of the difficulty lies. To do that with a small robot
you have to have a lot of things automated: robot repositioning, light
movement, data collection on the robot, etc.

~~~
endergen
The new Oculus and the consumer version are high enough resolution for text
rendering. Though obviously artifacts of rendering them in 3D if anything but
screen aligned and pixel snapped.

Additionally there are already plans for a front facing camera (that could do
pass throug), because of the being blind part and the potential for
hand/peripheral tracking in addition to augmented reality.

Bonus: I hope they just go all out and make/purchase custom hardware tech for
structure.io/project tango structured light real time 3d scanning. Would be so
cool!

------
mrspeaker
Every time I realize I'm guessing about (rather than directly seeing) the
behavior of my code I think of Bret's talks. I never actually improve my
workflow, but at least now I'm angry about it!

~~~
ColinDabritz
Interesting. I frequently think back to his talks and use it as a framework to
guide my approach especially when debugging. I think about what I can see, and
what I can't, and try to address what I can't see. This process has broken
through many bugs that seem challenging until they are visible.

~~~
blahber
/optimistic

I think debuggers are under appreciated by Open Source languages(as in, it's
not THE priority). An approach I am forced to use is heavy log statements and
a DEBUG flag, so that I can feel the program show me what it's upto.

I think Bret's ideas are worth pondering on. The only issue when dealing with
the philosophical idea of time, I find for myself, is that it's an easy rabbit
hole to fall into.

Nice interesting paper tangentially related to this,
[http://www.vpri.org/pdf/tr2011001_final_worlds.pdf](http://www.vpri.org/pdf/tr2011001_final_worlds.pdf)

------
cing
In other words... a meatspace debugger? Cool idea, but I don't quite buy the
comparison to "spaces laden with sensors and visualizations" like the NASA
control center, Large Hadron Collider, etc.. All of those spaces revolve
around monitoring, not the design/making process. In a similar vein, in my
field of computational science, heaps of money has been invested in spaces for
data exploration/visualization [1], unfortunately, they are essentially
useless for the scientific process.

[1]:
[http://en.wikipedia.org/wiki/Cave_automatic_virtual_environm...](http://en.wikipedia.org/wiki/Cave_automatic_virtual_environment)

~~~
hcarvalhoalves
> All of those spaces revolve around monitoring

It's not only monitoring because it's not passive, they interact with the
system and make changes on the fly, so it's making in a sense too.

------
seanmcdirmid
Some of this is extremely similar to Jun Kato's research.

[http://junkato.jp](http://junkato.jp)

More specifically see phybots:

[http://junkato.jp/phybots/](http://junkato.jp/phybots/)

Kato leverages the overhead camera trick in this system, though in a bit
different way. See "A Toolkit for Easy Development of Mobile Robot
Applications with Visual Markers and a Ceiling Camera:"

[http://junkato.jp/publications/uist2009-sakamoto-
andy.pdf](http://junkato.jp/publications/uist2009-sakamoto-andy.pdf)

~~~
gajomi
Thanks for the excellent link. I only took a quick look, so maybe the
information is somewhere on the site, but do you know if this person (or
others) are doing similar work for robots in 3d?

------
pseud0r
These kind of things would be really great for science labs also.

Let say you're doing some medical research, growing some cell cultures and you
add some compounds to the cell cultures to see what happens. Then something
weird happened to some of the cell cultures, and you don't know exactly what
caused it. Perhaps that thing was really an important scientific discovery
waiting to happen, but you missed it, because you didn't have all the data.

The process is normally recorded with a lab diary, where you write down
everything deemed important. The problem is, you're not going to notice
everything, and there is also a lot of things that you can't see without more
sensors that just your eyes.

The system Bret describes here is basically an automated lab diary. With
enough sensors it could record much more data, much more accurately than a
person, and it has a way to query the actual data rather than having to either
manually browse through pages of text or searching through it with just a
basic full-text search engine.

A problem with many scientific experiments is that you might a lot of
measuring equipment and sensors for the thing you are doing an experiment on,
but you don't have the same thing for the experiment itself, to easily be able
to debug the process and to see where something went right or wrong. Why was
one lab able to reproduce an experiment, but another couldn't? This kind of
questions can be very difficult and time consuming to answer.

------
vanderZwan
BTW, for good reading material on control rooms, look on Google Scholar for
papers by Paul Heath and Christian Luff. They're very thorough in their
analysis of how people in control rooms communicate and "spontaneously"
synchronise their actions.

------
cma
I think spaces like this would do well to incorporate projected augmented
reality ala CastAR:
[https://www.youtube.com/watch?v=GpmKq_qg3Tk](https://www.youtube.com/watch?v=GpmKq_qg3Tk)

You could collaborate, sharing the same view, or each individual could project
different views, or mix and match.

------
Htsthbjig
I agree with Bret Victor here. I already have something similar of what he is
proposing. Not so great, but my prototype is real and works. You can make one
of this using "inexpensive" TVs for most of the room. Cheap cameras with HDMI
and framegrabbers, a PC with CUDA-OpenCL cards. Arduino sensors work anywhere
with all OSes and super easy to use, albeit not very efficient.

My experience with years of embedded programming is that NO HUMAN BEING is
made for working with the cold, brainless machine or metal if you don't
visualize your data.

Even the person who tells you she likes doing it, she can't work on it for
long periods of time without burning.

It is like climbing over 7.000meters of altitude. Humans could survive for
some time with those conditions, but depleting internal resources fast.

------
hartror
Some of the software shown in the first minute:
[http://vimeo.com/66085662](http://vimeo.com/66085662)

Some pretty tools in there.

------
vidar
He just keeps knocking stuff out of the park.

~~~
faceyspacey
no, he's not. this is his weakest presentation yet. he was on, but now he fell
off. it's not making any sense that he's gone in this direction, and let last
year's software ideas wither away on the vine. He should actually propel
forward last year's ideas by at least releasing the stuff he said he'd open
source on github. Instead, he hasn't done that, nor has he made his own
commercial company (which would be a perfectly understandable route), but
instead is giving lower quality talks that regurgitate material about
observability that was way more profound when he shared it in relation to
software, which by naturel, unlike hardware products, is unobservable.

~~~
DaniFong
You should hesitate for a second; your arguments favor exploitation rather
than exploration. Bret's work aims to move beyond 'the tiny rectangle' of
computer screens, and companies are nearly decade scale commitments. Why not
continue to produce great research before deciding upon the idea that's 'the
one?'

I realize this is antithetical to the prevailing theory of lean startups, but,
from a deep research perspective, that is exactly why committing to support an
open source project or a company is so dangerous. Soon you would have people
depending upon you, and the freedom to explore vanishes.

------
Sarien
I am totally in favor of good tools with good visual representations but those
almost always have to be handcrafted for every specific problem. Which is
probably why Bret has never delivered anything useful.

And if you're going to talk about ideas and inspiration: Lighttable does
nothing that emacs didn't do 20 years ago except a little prettier.

------
kentpalmer
A theory that I have been developing that might be a basis for understanding
the possibility of Seeing Spaces is called Schemas Theory.

See [http://SchemaTheory.net](http://SchemaTheory.net) for a draft
presentation that is still in work. Audios are still in production for the
tutorial.

Other papers on Schemas Theory are at
[https://independent.academia.edu/KentPalmer](https://independent.academia.edu/KentPalmer)
and [http://emergentdesign.net](http://emergentdesign.net) and
[http://archonic.net](http://archonic.net)

A good book on Schemas is Umberto Eco Kant and the Platypus.

Basically schemas theory tells us what it is possible to see and also give us
the intelligible templates for our designs.

[http://kdp.me](http://kdp.me)

------
kgc
I think Oculus technology would allow people to do all of this virtually with
the physical portion being merely props. This would be a lot cheaper than
doing everything for real.

------
ohwp
I think this is how the NSA became the NSA as we know it today. When your task
is to prevent terrorism you need to see. You need to see in time and detect
patterns. So you need to store as much data as possible because.

So it's good to stick to some boundaries. In the example of the robot: you
could measure room temperature, because maybe the sensors are acting to it. Or
you could measure the amount of people in the room because sensors could act
to it. Heck, maybe the sensors are acting different to different people, so
track there faces and store it. Well maybe sensors are sensitive to somebodies
smell so track that too.

There are limits to what is useful to track.

------
nchlswu
After a while of reading the replies, Iron Man came to mind.

------
nickbauman
Bret Victor is the Leonardo DaVinci of the age. A curator, assembler and
presenter of the great ideas of our time.

------
agumonkey
Augmented Breality

