HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
The Humane Representation of Thought

Bret Victor · Vimeo · 208 HN points · 24 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Bret Victor's video "The Humane Representation of Thought".
Vimeo Summary
Closing keynote at the UIST and SPLASH conferences, October 2014.
Preface: http://worrydream.com/TheHumaneRepresentationOfThought/note.html


References to baby-steps towards some of the concepts mentioned:

Dynamic reality (physical responsiveness):
- The primary work here is Hiroshi Ishii's "Radical Atoms": http://tangible.media.mit.edu/project/inform/
- but also relevant are the "Soft Robotics" projects at Harvard: http://softroboticstoolkit.com
- and at Otherlab: http://www.youtube.com/watch?v=gyMowPAJwqo
- and some of the more avant-garde corners of material science and 3D printing

Dynamic conversations and presentations:
- Ken Perlin's "Chalktalk" changes daily; here's a recent demo: http://bit.ly/1x5eCOX

Context-sensitive reading material:
- http://worrydream.com/MagicInk/

"Explore-the-model" reading material:
- http://worrydream.com/ExplorableExplanations/
- http://worrydream.com/LadderOfAbstraction/
- http://ncase.me/polygons/
- http://www.redblobgames.com/pathfinding/a-star/introduction.html
- http://www.earthprimer.com/

Evidence-backed models:
- http://worrydream.com/TenBrighterIdeas/

Direct-manipulation dynamic authoring:
- http://worrydream.com/StopDrawingDeadFish/
- http://worrydream.com/DrawingDynamicVisualizationsTalk/
- http://tobyschachman.com/Shadershop/
- http://aprt.us

Modes of understanding:
- Jerome Bruner: http://www.amazon.com/dp/0674897013
- Howard Gardner: http://www.amazon.com/dp/0465024335
- Kieran Egan: http://www.amazon.com/dp/0226190390

Embodied thinking:
- Edwin Hutchins: http://www.amazon.com/dp/0262581469
- Andy Clark: http://www.amazon.com/dp/0262531569
- George Lakoff: http://www.amazon.com/dp/0465037712
- JJ Gibson: http://www.amazon.com/dp/0898599598
- among others: http://en.wikipedia.org/wiki/Embodied_cognition

I don't know what this is all about:
- http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesign/
- http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesign/responses.html

---

Abstract:

New representations of thought — written language, mathematical notation, information graphics, etc — have been responsible for some of the most significant leaps in the progress of civilization, by expanding humanity’s collectively-thinkable territory.

But at debilitating cost. These representations, having been invented for static media such as paper, tap into a small subset of human capabilities and neglect the rest. Knowledge work means sitting at a desk, interpreting and manipulating symbols. The human body is reduced to an eye staring at tiny rectangles and fingers on a pen or keyboard.

Like any severely unbalanced way of living, this is crippling to mind and body. But it is also enormously wasteful of the vast human potential. Human beings naturally have many powerful modes of thinking and understanding. Most are incompatible with static media. In a culture that has contorted itself around the limitations of marks on paper, these modes are undeveloped, unrecognized, or scorned.

We are now seeing the start of a dynamic medium. To a large extent, people today are using this medium merely to emulate and extend static representations from the era of paper, and to further constrain the ways in which the human body can interact with external representations of thought.

But the dynamic medium offers the opportunity to deliberately invent a humane and empowering form of knowledge work. We can design dynamic representations which draw on the entire range of human capabilities — all senses, all forms of movement, all forms of understanding — instead of straining a few and atrophying the rest.

This talk suggests how each of the human activities in which thought is externalized (conversing, presenting, reading, writing, etc) can be redesigned around such representations.

---

Art by David Hellman.
Bret Victor -- http://worrydream.com
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Hehe I'm quite neutral actually as I'm more of a dynamic language kind of guy. I'm a lot more into Bret Victor's The Humane Representation of Thought https://vimeo.com/115154289 and really far away of ideas like "The Compiler is Your Friend".

I care more about concepts that are meaningful for humans and I find frivolous the machine needed technicalities to get them working.

Required viewing is Bret Victor's excellent talk "Humane Representation of Thought":

https://vimeo.com/115154289

May 08, 2021 · 1 points, 0 comments · submitted by srimukh
I wish I had a way to do knowledge work but also use my body.

Right now, for working purposes (as a software engineer), I'm a disembodied head that can move a pointer, type words, and voice chat. Our bodies were never designed to sit in chairs 8 hours a day for forty years. The very idea of needing to spend free time exercising just to keep your body from falling apart is, well, preposterous.

(It's been a long time since I've watched it, but I think this talks a bit about the idea: https://vimeo.com/115154289 - "The Humane Representation of Thought")

beforeolives
> Our bodies were never designed to sit in chairs 8 hours a day for forty years.

Your body wasn't designed to do anything. It's the result of random mutations that survived better than other random mutations.

> The very idea of needing to spend free time exercising just to keep your body from falling apart is, well, preposterous.

A somewhat sedentary job with the option to take breaks to move around and exercise outside of that is still vastly preferable to any other combination. Non-sedentary jobs and manual labor will break and wear down your body in different ways, they aren't some ideal to aspire to.

clooless
When the newspaper prints what time is sunrise, I don't write it to protest that the sun doesn't go anywhere; it's the Earth that is spinning on its axis. Sunrise is just the way we refer to that phenomenon because it looks like the sun is rising.

I think it's perfectly fine to say that your body was designed to do this or that. It may have been the result of random mutations, but evolution has done such a good job it damn well looks like it was designed.

dTal
There are plenty of jobs that consist of not much more than walking around - beat cop, traffic warden, security guard, park ranger, even janitor. I find it unlikely that walking around for 8-12 hours is going to damage your body more than spending the same time mostly sitting down, not moving. Speaking personally, I've held both types of job, and I know which kind leaves me feeling healthier (it's not the sedentary kind).
jxidjhdhdhdhfhf
If it paid as well as my current job I think I would much rather be a mailman.
wackro
> A somewhat sedentary job with the option to take breaks to move around and exercise outside of that is still vastly preferable to any other combination. Non-sedentary jobs and manual labor will break and wear down your body in different ways, they aren't some ideal to aspire to.

It's a scale though. A job in construction is different to a job as a park ranger. Both are different to office work.

armagon
> > Our bodies were never designed to sit in chairs 8 hours a day for forty years.

> Your body wasn't designed to do anything. It's the result of random mutations that survived better than other random mutations.

Fair enough; it would be more accurate for me to say, "Our bodies are poorly adapted to sitting in chairs for 8 hours a day for 40 years."

> A somewhat sedentary job with the option to take breaks to move around and exercise outside of that is still vastly preferable to any other combination. Non-sedentary jobs and manual labor will break and wear down your body in different ways, they aren't some ideal to aspire to.

I'll agree with you that many jobs will wear your body down, but it isn't obvious to me that a sedentary job with forced motion breaks is the best combination.

beforeolives
> but it isn't obvious to me that a sedentary job with forced motion breaks is the best combination.

You left out exercise. With exercise it's the best combination because you're able to choose what kind of stress to put on your body, in what quantities and you can do so safely in a controlled environment. That's a huge luxury that many people who do manual labour don't have.

yoz-y
I had a shower thought the other day. When playing games it's often quite normal to lean left, right, back in the heat of the moment. (The good old falling out of a chair in the heat of the moment).

It would be nice to have some sort of simple peripheral that would allow to translate simple body movement and maybe breath patterns (multiple games have a button to hold breath) into controls. I know that VR is a thing but I think there is quite some space between here and there.

For office style work one idea would be to have an extended desktop with parallax.

no_one_ever
I got to play HL:Alyx recently and it felt sooo awesome to peek around corners. I definitely want more bodily interaction in VR as it grows.
shambulatron
Head tracking (without full VR) is quite a big niche in flight/space sims, whether just for rotations or a limited amount of translation as well. It's much more natural using your head to look around, keeps your hands on the flight controls, and frees up hat switches and other buttons which no longer need to serve that purpose.
wackro
That talk looks really interesting. I'm all for a future that unbinds us from tiny 2d screens.

We're always going to need to do exercise though. There's no way knowledge work could ever e.g. raise your pulse, use your strength + agility etc. We are hunter gatherers removed from our original environment.

I can imagine software development becoming like something out of Minority Report and that's just about it.

globular-toast
There is such a thing as a walking desk. Linus Torvalds uses one. Never used it myself, though. Couldn't imagine doing any serious programming like that.
Jtsummers
If you can use a standing desk to program, you can probably get used to a walking desk. In the worst case you'd just need to stop walking when you start getting deep into some parts of your work. If you can't use a standing desk to program, then a walking desk is almost certainly out of the question.

Personally, I just accept that for 5-10 minutes of every hour I will not be at my desk and will instead be near my desk doing calisthenics.

fiftyacorn
I've found working with the laptop in my garden can help. The mix of air and standing seems to help
tra3
Stephen Wolfram (of the Wolframalpha.com fame) has a treadmill attached to one of his workstations [0]. I've read claims that walking 1-2mph takes no mental effort. Lets say 4 hours of walking would net you about 5 miles. That's a decent effort for the day and you could still sit the other 4 hours out of your 8 hour day.

[0]: https://writings.stephenwolfram.com/2019/02/seeking-the-prod...

Jul 13, 2020 · 2 points, 0 comments · submitted by tosh
Feb 20, 2020 · ThouYS on Explorabl.es
Hadn’t heard of Case yet, but Bret Victor is an absolute visionary. His talks “Media for Thinking the Unthinkable” [1] and “The Humane Representation of Thought” [2] are eye-openers!

[1] https://vimeo.com/67076984

[2] https://vimeo.com/115154289

Well if we have no restrictions on time and resources, then restricting ourselves to preserve the current statu quo of engineering is the wrong problem to takle.

I'd, instead, follow the Alan Kay idea of antecipating 10 years in the future with some new hardware that allows a new computing platform and then see how I can capitalize in it in some kind of pure way (removing as much technicalities as possible, like Self, LISP or Smalltalk did).

For inspiration on what form it could take, I'd take a look at all Sci-Fi I can but pay special attention to Bret Victor's: Humane Representation of Thought https://vimeo.com/115154289

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

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/

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

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

Mathematics is totally a social construct. The UR patterns of our reality are immutable and await discovery. The ways in which humans explain their mathematical observations to each other is via a set of symbols that are socially agreed upon.

My problem with mathematical syntax is that it is so esoteric and arbitrary that many people struggle to use math to communicate with each other. Delving deeper into mathematics is an exercise in learning new symbols and their contexts. The understanding, acceptance, and advancement of mathematical concepts happens through social consensus.

For example, what does K mean? In an equation, strictly speaking it is a variable. But sometimes its a reserved constant. Others, its a unit. Is math 'universal' if the language of math is largely Eurocentric? In fact, several fundamental math ideas emerged from China far before they were expressed in Western culture. Their syntax differed from Western syntax to express largely, but not entirely, the same concepts.

Brett Victor[1] describes how the development of mathematical notation unleashed a clearer level of thinking, and a flowering of mathematical ideas, proofs, and science to follow. This requires agreement... consensus.

Take a look at Wikipedia's History of Mathematical notation and see what smells of culture you can find. [2]

Mathematics is the practice of translating observations about real-world things or abstract ideas from one person to another or many. A smart animal or intrepid alien sentience would not be guaranteed to understand what 3, 3%, or 3º means to us, but they could certainly understand 3 bananas vs 2, or a portion of a whole, or rotation.

Code is a social construct that is well-documented. Developers give trust to language authors and their compilers to generate correct bytecode. They in turn trust systems engineers to interpret their instructions correctly, and so on. Of course there are arguments and different perspectives on what the best way there is to express everything. These things get hashed out on this very social platform, and many others.

Architecture is about imposing one's will on the act of creating long-lived artifacts. It isn't system engineering. Its about arguing that things ought to be built out of arches, because they are durable, and look interesting, and especially because they have a rich symbolism associated with passage into new time and space. The will of an architect is usually something like enduring harmony with its inhabitants and surroundings. Software architecture I feel attempts to create durable systems for people to inhabit with their knowledge, and that is as social as it gets.

Sure, you may think of a software architecture as a formalized design on how to stitch together bits of data across network boundaries, maybe using packaged services from Cloud vendors. It is, but good architecture accounts for who is building it and who will own it, use it, and maintain it. It makes sure information isn't lost and people's simultaneous actions don't result in collisions. It attempts to resist loss, against a wide variety of classes of threats.

Look, I've been intrigued by event-sourcing, and also have heard of lots of gnarly consequences of trying to adopt it. Like any other pattern, its mileage may vary depending on the problem domain. An "ivory-tower bullshit" pattern may be widely a considered a "wrong" practice for the domains of today, but that doesn't mean you can prove that its fundamentally invalid in all cases.

If software architects made blueprints, I would think of the work of making said blueprint is "architecture". the work of software architecture is social, considering the needs of users, developers, and its financiers. What I read in your comment is referring to the blueprint as "architecture", or an architecture. Whatever the artifact of software architecture work is, the work itself is equal parts social and technical, and always in the context of the raw materials available at the time.

[1] Brett Victor, The Humane Representation of Thought https://vimeo.com/115154289 [2] https://en.wikipedia.org/wiki/History_of_mathematical_notati...

mjburgess
You have to separate social-subjective elements from individually-subjective elements from objective elements.

The objective elements are, simply put, "what is true of the object". And the subjective elements are "what is true of the subject.

Where "object" is the target of understanding, and "subject" is the "understander" -- ie., not the human (as holding organs) but the human (as holding experiences).

When I say, "the code has 100 lines" that is true in virtue of the object. It is meaningful in virtue of various conventions about what a "line" is and what "code" is.

Let's not confuse what is being said for how it is said. The latter is subject-relative, the former is object-relative (ie., objective).

Mathematics is about order. The target of mathematical description is objective (it is instanced by objects, not by experiences). However mathematics as a language is conventional (ie., social-subjective).

What is being said (eg., that there are infinitely many primes) can be said many ways. Each of those ways is only meaningful given a social background.

Likewise, "Architecture" is a term grouping together some -- but not all -- facts about software. (eg., inheritance dependencies, but not comment symbol choice). What is being said requires conventions in which to say it.

OP article seems to confuse these issues mightily and I think would impair someone looking to understand "architecture" without prior experience. It is not merely "what's important". Many things are important.

Feb 19, 2019 · dmos62 on An Honest Living
> I hope the next computer revolution will untether computers from a sedentary work environment.

I'll leave Bret Victor's website [0] here for anyone interested in continuing this train of thought. Most of his work posted there revolves around this in some way, but just to link to a specific presentation here's Humane Representation of Thought [1].

Bret Victor changed what I think of computation technology's progress and what I expect of it. I'd go as far as to say that his presentations are eye openers.

[0] http://worrydream.com/ [1] https://vimeo.com/115154289

devchix
Thanks for this! I had no idea who this person is, the MagicInk paper is a wonderful, animated piece of writing to be sure.
#Softwarish - I'm biased a bit more towards interface development:

greg wilson - What We Actually Know About Software Development, and Why We Believe It’s True - https://vimeo.com/9270320#t=3450s

steve wittens - making webgl dance - the title is deceptive, it's in some ways a visual crash course in linear algebra - https://www.youtube.com/watch?v=GNO_CYUjMK8&t=84s

glenn vanderburg - software engineering doesn't work - https://www.youtube.com/watch?v=NCns726nBhQ

chris granger - in search of tomorrow - https://www.youtube.com/watch?v=VZQoAKJPbh8

alan kay - tribute to ted nelson at intertwingled fest - https://www.youtube.com/watch?v=AnrlSqtpOkw

bret victor - this is already mentioned but if I had to pick one it'd be 'the humane representation of thought' - https://vimeo.com/115154289

#Hardwarish:

saul griffith - soft, not solid: beyond traditional hardware engineering - https://www.youtube.com/watch?v=gyMowPAJwqo

deb chachra - Architectural Biology and Biological Architectures - https://vimeo.com/232544872

#Getting more meta in technology and history:

James Burke - Connections

Dec 19, 2017 · skadamat on Dynamicland
More overlap than you think!

In his talk - https://vimeo.com/115154289 - Bret has a footnote reference to Radical Atoms group (Hiroshi's group)

mendeza
Awesome! I forgot about that mention. You should see what that research group is doing now. "Radical Atoms" where the material is dynamic and embodies computation. Now they are applying it to food... super fascinating!
Bret's talks outline the general philosophy, motivation, and framework for the lab's work:

- Seeing Spaces: https://vimeo.com/97903574

- Humane Representation of Thought: https://vimeo.com/115154289

I'd look at research efforts that have been focusing on revising the heart & original spirit of computing. YC's HARC especially - harc.ycr.org

Bret's talk about their group's vision for computing - https://vimeo.com/115154289 - really helps people who think computing is "done" and all the interesting stuff is figured out.

This is excerpted (as the "technology" segment) of another great video, Bret Victor's "Humane Representation of Thought." (at about thirty minutes in)

https://vimeo.com/115154289

Highlighting worrydream (I think) was less about the site, and more about the site content. Bret Victor has dedicated an incredible amount of time to writing about design [1], visualization[2], reality[3], climate change[4], among other things.

1. http://worrydream.com/#!/LearnableProgramming

2. http://worrydream.com/#!2/LadderOfAbstraction

3. https://vimeo.com/115154289

4. http://worrydream.com/#!/ClimateChange

Oct 14, 2016 · 1 points, 0 comments · submitted by udfalkso
Aug 14, 2016 · gavinpc on Explorable Explanations
Imagine if you could also listen to these documents, with the author reading, and the text tracking.

I believe the effect of that one simple addition would amplify their effectiveness (or at least reach) by an order of magnitude.

After the massive work that their authors put in, the effort of one good read-through would be marginal. If the above surmise is true, you'd be in power law territory.

But you'd need a tool to make such an additional channel as trivial as doing one good read-through.

I'm a little surprised that Bret Victor doesn't do this for his pieces, considering his emphasis on the use of more human capabilities[0].

Implementing the read-back part is trivial [1], and available on all "modern" browsers.

Trickier is making the product that lets authors add this channel without manual tagging. But even this is becoming trivial with speech-to-text API's.

Anyway, I wholly agree with the OP that the first focus of documents in dynamic media should be improved exposition and, by extension argumentation.

[0] "The Humane Representation of Thought" https://vimeo.com/115154289

[1] For example, see a crude implementation at https://willshake.net/plays/Ado/1.1 (click a play arrow in the blue column.) The tracking code is at https://willshake.net/about/text_tracking

vitovito
The thing about doing this kind of work is you have one sort of explanation in mind as you do it, and like any software, you work until you're there and then you call it done. They're not designed and built with every possible form of accessibility and exposition in mind. It's entirely likely no-one had previously considered doing a narration.

That said, there's also zero advanced tooling to create and edit synced audio, and nearly zero tooling for playback. I wrote my own for http://vitor.io/uxr101, available here: https://github.com/vitorio/hyperaudio-lite

azeirah
Can you expand on why adding a narrative would amplify the effectiveness of these explorable explanations by so much? The whole core of explorable explanations is that you can play with the models yourself to gain insights and reach conclusions the author may not have come to herself, to me, adding a narrative would only add to the linearity of the text itself, and therefor take away some of the "exploration" part
dyarosla
I imagine that the reason for adding narrative is to add another dimension that's proven to be engaging in other mediums; one akin to explanation videos like those found on Khan Academy or the educational sections of YouTube. Sometimes jumping into an explorable explanation without some guide to begin with (outside of text) may be overwhelming.

That being said, I don't know how a spoken narrative would integrate into a piece of text. You would likely not want someone to read through the text as written because a spoken explanation will generally differ in phrase structure (shorter, less verbose) than written text.

gavinpc
Glad you asked.

First, consider the difference between two people reading aloud: one is new to the material, concepts, and associated vocabulary, and the other is the author. They are reading the same text, but the author's rendition will carry an understanding of the material that is absent in the other one—and not found in the text, either. Doesn't that difference comprise relevant information?

Shakespearean actors do this for a living: they stick to the words on the page, but they add another layer of signals to help unlock them for people. Technical and expository writing can benefit from this effect as well. Don Norman argues, for example, that thinking requires emotion, and the voice is an easy way to add an emotional connection.[0]

So I believe that any document, explorable or otherwise, is amplified by a human reading, when that human really understands and cares about the material. And again, for subjects that warrant these specialized explanations—which tend to require some specialized language—the value added is particularly great, because it teaches people how to read something new.

Second, I strongly believe in an "all-in" approach for things that you care about. Clearly these authors care about reaching people, and I think there can be no doubt that the ability to click "play" brings in listeners who would never have been readers. And by giving a passive "flow" to the presentation, it helps sustain many readers who would have given up.

Adding a channel does not "take away" anything. Everything, including the interactivity and the opportunity for non-linear reading, is still there. (And note that the recording doesn't have to be linear, anyway.) The authors are not competing with themselves, they're competing with YouTube and notifications and other low-friction distractions.

So I'm excited about the OP. I would like this community—mature, passionate thinkers and teachers—to be the avant garde of future media.

[0] Emotional Design, Don Norman

pavel_lishin
> They are reading the same text, but the author's rendition will carry an understanding of the material that is absent in the other one—and not found in the text, either. Doesn't that difference comprise relevant information?

Not to me, as someone who's never run into the material before. There's no knowledge-carrying particle that's transmitted vocally.

In fact, to me it would be a distraction. I learn better visually; I can stop reading, and start again, and quickly re-scan what I'd read before to catch up. It's harder to do that with a recording of a voice, and takes longer.

gavinpc
> Not to me... to me it would be a distraction

Other people might say the same about the graphics, or the interactions.

The point is that it's not zero-sum—no one loses out by the presence of other channels, if the document is dynamic. But if some people do benefit, then there's a value proposition.

Aug 05, 2016 · 3 points, 0 comments · submitted by azeirah
Peter Norvig's comment hits the nail on the head for me:

" Peter Norvig 6 July 2016 at 11:47 I think the problem with Literate Programming is that assumes there is a single best order of presentation of the explanation. I agree that the order imposed by the compiler is not always best, but different readers have different purposes. You don’t read documentation like a novel, cover to cover. You read the parts that you need for the task(s) you want to do now. What would be ideal is a tool to help construct such paths for each reader, just-in-time; not a tool that makes the author choose a single pth for all readers."

Has anyone attempted something like this?

I've heard you can do transclusion in org-mode which might be a starting point

Edit: Some initial ideas:

- Code can be deconstructed into blocks, and where the code is not self-documenting, prose can be added. Or even visualisations etc if a block is conceptually tricky to grok. You could even have MOOC-style validations to verify reader understanding for each block.

- Some kind of topology of the blocks should be generated based on how they interact and how they are conceptually related

- The author creates a few 'starting points' for different audiences, e.g. 'if you've used X before, start at Y'

- From there next blocks to read are auto-suggested to the user. A map or network diagram of all blocks is also provided so the reader can chart their progress and see where the 'big ideas' lie.

Edit 2: This also really reminds me of Bret Victor's 'Humane Representation of Thought' lecture (https://vimeo.com/115154289, 45:40) where he says there is a conflict between code being an engineering specification and an authored work meant to be read by humans.

akkartik
I use a layer-based approach described at http://akkartik.name/post/wart-layers in https://github.com/akkartik/mu. It's 20kLoC of literate code, and I was super concerned about optimizing it for non-linear reading, because that's how I need to browse the code for myself. It's not a system to generate multiple views like you want; instead, it's a single view that I find easy to skim and easy to reorganize at will:

a) Each layer puts more important stuff up top. So you can start skimming from the first layer, but you don't have to read all the way down each layer, just get a sense of what it provides and why.

b) There's not much emphasis on lengthy comments (which would get linear). Instead just the order in which code is presented does a lot of heavy lifting.

c) The tangled code is intended to be readable (unlike Knuth's original tools), so I often jump down into it when I feel the need. Error messages and debugger support do show lines in the original literate sources, however.

jarmitage
Fascinating, thanks for sharing.

Tangential, but reading your website ("I'm working on ways to better convey the global structure of programs"), I've been talking a lot with a visually impaired researcher who works in Auditory Display. We've been talking about designing interactive audio displays to offer overviews of things like webpages and code.

I'll definitely keep your work as a reference if that turns into a project!

akkartik
I'd love that! I couldn't find an email for you but if you want to ever get in touch my address is on my profile.
anonymousguy
> Has anyone attempted something like this?

Yes, I write all my personal projects in human order. To me human order is when the flow control of human consumption and computer execution are most closely aligned. I attempt to achieve this with depth and order.

1) Have a giant library that defines your library or application.

2) Inside the giant function nest child functions for the primary tasks in the order with which they will execute. In the case of the following example the options evaluation is first, followed by the lexer/parser is the second child task, followed by various code presentation tasks, and finally by an analysis task. http://prettydiff.com/lib/jspretty.js

3) Break the child tasks down, as necessary, into reusable components.

4) I also believe a reference should always be declared before it used, which can dictate the order of reference declaration.

My opinion is that when the flow control of the application is unclear you are wasting time during maintenance. You may not know where a problem is occurring, but if the flow of the application is immediately clear from reading the code you immediately know where to start, where to step to next, and where to stop. There is minimal guessing and it doesn't require breakpoints to figure it out.

h8liu
My hobby project, with dependency graph visualized:

https://e8vm.io/e8vm

Source code:

https://github.com/e8vm/e8vm

jarmitage
That is so cool, thanks for sharing.

Is it possible to use the vis tool on other codebases?

h8liu
The layout engine is in this package:

https://godoc.org/e8vm.io/e8vm/dagvis

it is possible to layout any DAG (directed graph with no circles).

The dependency graph of golang programs are generated by this package:

https://godoc.org/e8vm.io/tools/godep

I have not very well packaged the drawing part (sorry), but the essentials are here:

https://github.com/e8vm/shanhu/blob/master/web/js/dag.js

it is using d3.

jarmitage
Super stuff, look forward to diving in deeper!

Are you planning to extend this aspect of the project? What are your other plans for the project?

EdwardCoffin
I don't understand why there not being a single best order of presentation for explanation is grounds to dismiss the whole endeavour. I bet that there are many pretty good orders for humans that are an improvement over the order the compiler wants the stuff in. Besides, the compiler doesn't demand a single best order, most programs could be re-ordered in a number of ways acceptable to the compiler (my point being that this criticism seems to hold literate programming to a standard that the incumbent of compiler-required ordering is not held to.)

Edit: added the parenthetical comment

None
None
jarmitage
Yeah I agree. What I would imagine a tool like this would do is help to find and navigate the pretty good order(s) whether they have been hand crafted at first by the author or not.

A comparison would be how desire paths form and are often turned into real paths.

I like your parenthetical observation too!

EdwardCoffin
There was an interview with Guy Steele in the book Coders at Work, and in one bit he had something to say about actually referring to the (literate) source code for TeX [1]:

Sometimes I've got a specific goal because I'm trying to solve a problem. There have been exactly two times, I think, that I was not able to fix a bug in my TeX macros by reading The TeXbook and it was necessary to go ahead and read TeX: The Program to find out exactly how a feature worked. In each case I was able to find my answer in 15 minutes because TeX: The Program is so well documented and cross-referenced. That, in itself, is an eye-opener--the fact that a program can be so organized and so documented, so indexed, that you can find something quickly.

The other thing I learned from it is how a master programmer organizes data structures, how he organizes the code so as to make it easier to read. Knuth carefully laid out TeX: The Program so you could almost read it as a novel or something. You could read it in a linear pass. You'd probably want to do some jumping back and forth as you encountered various things. Of course, it was an enormous amount of work on his part, which is why very few programs have been done that way.

[1] link to the page (337) in Google Books https://books.google.ca/books?id=2kMIqdfyT8kC&pg=PA337

jarmitage
That's a great anecdote and makes we want to read TeX: The Program.

I really think there's something in the 'jumping back and forth' of the reader that could be leveraged, like if there was a way of recording, distributing, aggregating, analysing it etc.

EdwardCoffin
It doesn't add that much to the above, but the now defunct Bookpool had a column where they asked various authors for lists of their favourite 10 computer books, and they asked Guy Steele [1]. His first entry was:

Computers & Typesetting, Volumes A-E Boxed Set by Donald E. Knuth -- I'll read anything that Don Knuth writes, and he has written quite a bit, including Surreal Numbers and 3:16 Bible Texts Illuminated as well as the famous Art of Computer Programming series. But this five-volume set is my favorite. The two volumes titled (and sold separately) as The TeXbook and The METAFONT book are well-known, but what I really recommend to you are TeX: The Program and METAFONT: The Program, because these are simply the best-written, best-documented, best-debugged programs of their size ever published. They reward careful study.

I've tried to read the source for TeX: The Program (I actually have the boxed set he mentions), but was impeded by my lack of knowledge of TeX. I keep meaning to get back to it.

[1] Guy's list in archive.org: http://web.archive.org/web/20080422183814/http://www.bookpoo...

You may not consider him a genius. But Bret does have some pretty innovate ideas on Programming and Design (and more). Good examples:

Inventing on Principle: https://www.youtube.com/watch?v=PUv66718DII

The Humane Representation of Thought: https://vimeo.com/115154289

Very cool.

This reminds me of a talk by Brett Victor [1] "The Humane Representation of Thought".

Brett thinks we are limiting ourselfs by expressing our thoughts in a mostly 2D scaled down domain.

This protopiper is a great example of what we will see in the future.

[1] https://vimeo.com/115154289

As a developer whose job is to deal with the ugly details of implementation, it's easy to forget the original purpose of the technology we're building.

Creating something for novices (or humans, as I like to call them) is the noble thing to do. Maybe the standards committee missed the target somewhat, but their goal was to empower anyone to participate in the web.

I'm getting a bit sidetracked now, but I highly recommend watching this fantastic talk by Bret Victor; it has really changed the way I think about the work I do: https://vimeo.com/115154289

amelius
> Creating something for novices (or humans, as I like to call them) is the noble thing to do.

No, the noble thing to do for a committee is to acknowledge that you (as a committee, no matter how large) don't know what is best for all people, and that there are intelligent people out there (i.e., not part of the committee) who might have more insight than you do.

EDIT: Rephrased this a little because from the comments it seems this was misunderstood.

namuol
http://www.w3.org/Consortium/join
gsnedders
Or just join www-style[1] or public-webapps[2], or there's the WHATWG mailing list for all of its specs[3]. All of these are totally free to join.

[1]: https://lists.w3.org/Archives/Public/www-style/ [2]: https://lists.w3.org/Archives/Public/public-webapps/ [3]: https://whatwg.org/mailing-list#specs

smacktoward
> All of these are totally free to join.

This is true, but misleading.

It's true that it costs nothing to join a W3C mailing list. However, if you join such a list and actually try to participate, you rapidly discover that:

1) Making a meaningful contribution requires being able to commit enough time to shepherd that contribution through the twin gauntlets of W3C process and internal committee politics;

2) The only people who can justify committing that kind of time are people for whom doing so is their full-time job;

3) Almost all of the people whose full-time job is participating in a W3C list are browser implementers;

4) Browser implementers, unsurprisingly, tend to see the problems and concerns of browser implementers as being inherently more important than the problems and concerns of other types of stakeholders in the Web (e.g. Web developers, marketers/adtech people, privacy advocates, accessibility advocates, etc.).

You generally discover this the first time you have the temerity to offer an opinion, at which point you are bombarded with responses about how you don't really understand the issue because you're not a browser implementer and have no idea how hard it is to be a browser implementer because browser implementers have it harder than anybody else in the world including lepers and orphans and seriously you have no freaking idea how anything in the world even works and bro do you even implement we didn't think so thanks for your useless opinion now go away.

(Full disclosure: I may still be a little bitter from my participation in the HTML5 process.)

You're thinking of Mother of All Demos. If you watch some interviews with Douglas Engelbart, the whole philosophy was to do away with the existing mediums of paper and video and embrace the new one possible only with computers, like wikis, simulations, etc. Instead we just put the old mediums on computers to make access more convenient.

Doug https://www.youtube.com/watch?v=VeSgaJt27PM

Alan Kay addresses the matter https://youtu.be/BbwOPzxuJ0s?t=1h7m42s too. He worked on XEROX PARC, which inspired Steve Jobs to make the Mac.

Brett Victor also leans in that direction https://vimeo.com/115154289

The printed book is a good fit here because it's a single perspective, best absorbed linearly. The more important question to ask is why are we reading a single person's perspective these days? Where are his simulations? How are they different from previous author's simulations?

When people talk about complex systems, like battles, politics, etc. they're using simulations in their heads, which are only be described through words, maybe some edited videos. So to compare different author's perspectives we read their books and run a different, imprecise simulation in each of our heads. Why not just run a single precise simulation for each author?

Well, most of society only uses computers to edit text. Same text that could have been written centuries ago, but now more conveniently.

The possibilities of video have also been explored. I've watched many hours of good documentaries on the Battle of Waterloo. Also Gettysburg and many others. But a few plays of http://www.ultimategeneral.com explained things better. Also played the Total War series but the way large historical battles are represented there is a mess. It can only handle small battles of 1000 men believably.

If you want to think about thinking via spatializing, you would probably appreciate the more recent BV talk "Humane Representation of Thought"

https://vimeo.com/115154289

Dec 29, 2014 · probablycorey on None
I really enjoyed Bret Victor's " The Humane Representation of Thought" http://vimeo.com/115154289

It made me consider all the human I/O that we currently ignore.

People loves spanking Smalltalk :)

I think that's good because it shows (a) is really different so is a direct hit to the Comfort Zone on many and (b) its significative value is real, otherwise it wouldn't annoy them to the point of talking about it.

It seems that a source of anger for some people is that Smalltalk is good enough to get mainstream but it didn't reached really mainstream. Probably due to the strategic mistake of not making it open source right from the start in the 80's. This interview puts some light into what happened, who influenced that decision and why was made: https://www.youtube.com/watch?v=IGNiH85PLVg

If Smalltalk would have been open sourced in 1980 the world would be different: programming would be more humane and less technologically-self-serving.

Now we have the "pleasure" of listening people that tells you "the compiler is your friend"

No it's not. Smalltalk rewards the creative spirit. Compilers hits it with a hammer. That's why it's so different (Ref: http://www.cs.virginia.edu/~cs655/readings/smalltalk.html)

1984 here we go. (Ref: https://vimeo.com/115154289)

pjmlp
In the 80's there wasn't any opensource, we bought our tools.
horrido
This is exactly right. People are so invested in what they've learned that they are reluctant to give it up and try something new and different. Humans are creatures of habit.

For some reason, this has never afflicted me. I've used many languages and environments in my time (eg, FORTRAN, Tandem TAL, C/C++/C#/Objective-C, Java, Python, Go, and Smalltalk), and I've treated each and every one of them as a fun opportunity to play and learn. This is my intellectual playground and those languages are my toys! Smalltalk was completely different from everything else I had used over 20+ years, and it still didn't phase me. Go figure.

Today, I continue to have a warm place in my heart for Smalltalk.

Dec 22, 2014 · 196 points, 32 comments · submitted by jashkenas
javajosh
I've also been thinking about the concrete representation of symbols and the negative "inhumane" impact of screens, but my conclusion was much different than Victor's: screens take us away from the fullest experience of world, and so their use should be minimized. This is basically Victor's conclusion minus the possibility of what I might call "somatic programs" at scale.

That screens are problematic asserts a moral imperative for programmers to avoid writing applications that are designed to be experiential cul-de-sacs. This, in turn, goes very much against the grain of most technologists and the people who fund them, who are all looking to make the most potent screens they can to pull people out of real life as much as possible. This makes great economic sense, but it is unethical.

Most of us who are so fundamentally tied to a screen for so many years at a time would do well to systematically disengage and interact with the real-world as much as possible. What I wouldn't give at this point in my life to put on a hard-hat and help build a bridge!

cusack
I'd push back on the dog in a cage analogy. I think it could be argued that we've narrowed our communication mediums for purpose of effectiveness and efficiency. Also affordable ubiquity. I would argue it's more like limiting a fish to water rather than a dog to a cage. Not to say it can't be improved in light of today's tools though.

Great talk overall, a lot of interesting insights!

indrax
The analogy was an example of something that is inhumane for analogous reasons that restricted media is inhumane. It doesn't allow for full dog-life or full intellectual-life, some critical and important experiences and behaviors are excluded.

Changing the analogy to a fish in a tank suggests an assertion that these other intellectual modes are not important for human experience and wouldn't make communication more effective and efficient.

To tweak the analogy further: Otters are very good at swimming, but their habitats should include land.

resu_nimda
Putting a dog in a cage is inhumane because one actor has taken away liberties that the other actor is known to have "by default." We know that dogs are naturally able and inclined to run around and play, and we have intentionally restricted that.

Personally I don't think his usage of the term "[in]humane" to describe human media is appropriate. Who is responsible for this inhumanity? Our entire race is collectively treating itself inhumanely by not inventing entirely new forms of media and expression? That seems like a stretch. Are we inhumane to dogs because we haven't yet helped them discover their fullest and richest capabilities as a species, whatever those may be? I love Bret and his vision and talks, but I feel like this particular usage is heavy-handed shame rhetoric (I get that he is trying to light a fire under people, but it still seems forced).

some critical and important experiences and behaviors are excluded.

What defines experiences as critical and important, such that to exclude them would be inhumane? Is it inhumane that I haven't traveled on a spaceship to Mars? That seems like a pretty important experience. But of course that's ridiculous, because you can't include the infinite landscape of experiences that might be possible. Personally I don't think either analogy (dog or fish) is particularly apt, but I think the fish one is better because a) our generally known and accepted capabilities are not being forcibly restricted by another agent, and b) the stuff Bret is talking about is entirely new and not possible within our natural environment (i.e. there are many natural and accessible ways to write symbols on a surface, but nothing like that for arbitrary-dynamic-physical-hologram-things).

indrax
I don't know why anyone has to be 'responsible' for an inhumanity to exist. One actor taking the liberties of another actor is not required.

A) Our capabilities are being restricted by the circumstances we find ourselves in. A dog happens to be in a cage built hundreds of years ago. There must be some words to describe this situation, I think inhumane applies.

B) Now we can start opening the cage.

Edit: our natural environment is inhumane and awful. Your commentary seems to heavily favor the status quo in a way I can't relate to.

The additional inhumanity of media is from 2 things: the fact that information processing has been mostly limited, and that information processing has become really important lately, so a lot of people are spending a lot of their time in that limited environment.

chewxy
Call me obtuse and change my view please:

I'm actually quite interested in this spatial learning thing. I had an aboriginal acquaintance who explained to me how his culture would attach meaning to places and even physical orientation (North South East West etc). However, it has been so far very very difficult for me to wrap my head around that. Visual notation imo, has been the most efficient way of communicating between humans. It also helps a lot in understanding.

A lot of what he says harks back to a 1980s/1990s/early 2000s style of teaching with an increasing use of "aids". Using props to teach math is a bit silly (well, asides from geometry, which is inherently spatial). I really cannot see how we can represent the learning of linear algebra in a dynamic spatial manner.

How for example, would one represent higher dimensional spaces spatially, when you really are limited to only 3 dimensions in real life? I am aware that Iron Man style projection tech may actually help in visualizing it, but again, that's a visual aspect of learning, not spatial. The most efficient way of doing so unfortunately is still in algebraic notation.

Perhaps I'm doubtful because the use of props, spaces, songs, moving your body etc has never worked for me in school. Ever. Can anyone share any studies done on the use of these cheesy 1980s-1990s educational aids (the closest analogue to all the things Brett mentioned) in aiding learning?

EDIT: If you're interested, there's been a good book that I read, in attempt to wrap my head around the concept (however to no avail) - Wisdom Sits in Places.

shkkmo
When I learned/taught myself algebra in an experimental school in 6th grade, we had these alegrba blocks and 2x2 grid, the left/right sides representing the sides of the equation and the top/bottom sides representing postitive/negative.

There are some pretty big limitations on how far in algebra you can go with that. I do think it created a solid foundation for my mental model as I transitioned to only using symbolic equations.

justifier
i think the word learning is a misnomer here, the term learning in itself is dubious enough

look to the best line, and i'd argue one of the most important ideas to ingestively portray to a mainstream population, in 2008 cinema, also an argument could be made to increase that reach.. perhaps in the last decade, century, however hyperbolically you care to extend the reach.. from the film burn after reading(i):

    CIA Superior: What did we learn, Palmer?
    CIA Officer: I don't know, sir.
    CIA Superior: I don't fuckin' know either. I guess we learned not to do it again.
    CIA Officer: Yes, sir.
    CIA Superior: I'm fucked if I know what we did.
i think what victor is suggesting here would aide moreso in efforts to improve understanding than facilitate a traditional understanding of learning

when quantum mechanics was young there was a sudden rush of interest in quantum understanding and one of the modes of expressing improvements in that understanding was to create models(ii) sometimes completely replacing old models, if i remember victor even says bohrs name in relation to this concept

this i think is the sorts of things victor is alluding to, stead seeing it as learning think of it as new perspectives to improve understanding.. interestingly though one would have to learn the concepts, both current and avant, in order to know when a new expressive medium improves on the old

so knowledge accumulation is a part of this sort of environment, but arguable only subordinate to the true goals

the shot of the stick figure pushing on a bond between elements in a molecular model i feel is the best representation of this idea

i'd love to have a room like that:

   a central tool with supporting data surrounding it
   the central tool is imbued with evidencial data w
   when i manipulate the tool new data is expressed in different ways around me
   i apply my changes physically
   the the data maps all changing in sync
lets say i want to try to bond a new element in place of an old one, i can do it physically and watch as the object changes before me

in the picture the stick figure is applying force on that bond, perhaps the idea the figure is testing is what if i bend this bond or strain it, what then? or if i move this bond over here does this better represent our understanding of molecules? .

my issue with the talk was two fold, i thought victor tended to talk down efforts others have already made or are making to do something with similar goals but in a wholly different means, and victor also failed to mention the number of people already doing the very things he is suggesting, it came off as unnecessarily dramatic and i found those were the times when he really lost me to wandering thoughts

and also i found it interesting that victor seemed to suggest this new dynamic reality would manifest without the use of current forms of creation

things like, ~programming of the future will be different than programming of today~ which i both agree and disagree with, i think both the current and future ways to program will be in tandem and it will be more of a matter of who touches what aspects of it,

i think like hardware design and manufacture programming will become a specialised field

look at compilers, that is people really interested in low level bit moving granting people with high level interests.. in the programming sense stead some cogitive nobile sense.. access to their expertise from within the comforts of the higher level

the same i believe will be true but that gap will likely grow as it has with hardware manufacture

there will always be a need and opportunity for tinkers to challenge the manufacture to keep it fresh, like the hardware scene(iii), but realistically this shift in software will most likely have the same dramatic effect on quality of life as the hardware model has

.

(i) http://www.imdb.com/title/tt0887883/?ref_=ttqt_qt_tt

(ii) https://www.timetoast.com/timelines/atomic-model-timeline--3

(iii) https://www.youtube.com/watch?v=PdcKwOo7dmM

None
None
schoen
One of the educational techniques you're alluding to is probably TPR (total physical response), for foreign language teaching.

https://en.wikipedia.org/wiki/Total_physical_response

I had a Spanish teacher and later a Latin teacher (teaching adults) who favored TPR and would tell people to jump a specified number of times, or to touch their heads, and so on. I don't have a clear opinion about the effectiveness of TPR but I thought I'd mention the name so you could use it to search for research if you like.

There is also a century-old approach to using colors to visualize 4D geometry (I think the color represents the offset in the 4th spatial dimension), proposed by Charles H. Hinton; they're called "Hinton cubes". Martin Gardner describes them and reports that some people have found them too effective, I guess becoming mildly obsessed with them or having the learned associations interfere somehow with day-to-day visual perception.

Detrus
First a few nitpicks

1. Walking around a gallery and waving your arms is not enough exercise 2. Incremental progress is giving us VR through Tactical Haptics, Oculus Rift, etc. He says his thing is not VR but R or dynamic R. The distinction is unclear, sounds like marketing.

I also had the idea of talking about systems, particularly political systems through models and simulations. Having spent too much time talking about politics, economics, and computer holy wars in text, it feels like a few interactive models could have saved all that time for millions of people.

That said, simulations are widely used to communicate about financial topics, mainly spreadsheets. And the effects of using spreadsheets are pretty interesting https://medium.com/backchannel/a-spreadsheet-way-of-knowledg...

People start thinking in spreadsheets. A lot of the weird merger acquisitions since the 1980's were basically caused by them. Economists already use fancier models. And as with spreadsheets, garbage in, garbage out. Still I feel they'd be useful in casual conversation.

dropit_sphere
That last part catches my interest. Could someone do to the agent-based model what the spreadsheet did to arithmetic, i. e. make it low-effort and scalable?
jamesrom
1. If you are doing it all day, it would almost certainly be sufficient.

2. He's talking beyond VR. He never says VR isn't a stepping stone. But he does make a good point about it being dehumanising.

31reasons
Great talk and ideas. But the idea of representing mathematical equations in the physical form is like supporting the same medium of symbols and just representing it in a different way. But fundamentally math was invented using pen and paper, so the centuries of mathematical thoughts were already slaves to the 2D medium. Maybe it would be interesting to think about, what would happen if we take away 2D surfaces and ask people to reinvent math in a medium that Bret is talking about. How would someone go about discovering, solving, proving mathematical systems without pen and paper? How would you represent 4, 5 or 20 multi-dimentional spaces in a 3D environment ? Maybe pen&paper was kind of abstracting out limitations of physical world so that mind can explore even further.
orbifold
The progress in n-category theory is largely about that. Instead of just studying objects, operations and equations, like "a group is a set g, together with multiplication + certain axioms" one studies objects, relations between objects, relations between relations etc. To study this up to level two, you visualize objects as regions in 2d space, relations between objects as lines between them and relations between relations as points where lines meet. Equations are then equalities between such pictures. If you look at those equalities as a dynamic process, which starts at time t=0 with one picture and time t=1 with the other, you get a picture in three dimensional space, which you can visualize as a movie (to be mathematically precise after the choice of a morse function you get a movie). One of the easiest examples would be the zig-zag identity. See for example https://golem.ph.utexas.edu/category/2006/10/classical_vs_qu... and scroll down.

One person who has completely gone overboard with that is Jacob Lurie, he has practically single handedly written down a foundational work of higher algebra and algebraic topology, which essentially precisely corresponds to what you are asking. How does mathematics look like if we weren't constrained to 2d paper to write down equations. Of course to actually write down those things you have to somehow project the equations to several essentially 1d sections or invoke very abstract methods to reason about them. Of course algebraic topology already has tools for that.

The early impetus came from Grothendieck I believe, who began to create a theory of "higher groupoids" in several thousand pages, ordinary groupoids being categories in which every morphism is an isomorphism.

teekert
Extremely nice, very out of the box.

On TV in the Netherlands we have a program that aims to educate the public (state sponsored tv), every couple of months there is a new episode, they are listed here (but they are in Dutch): http://dewerelddraaitdoor.vara.nl/DWDD-University.2772.0.htm...

So far they were about the big bang, the quantum world, Einstein (All from Robbert Dijkgraaf, now director of the Institute for Advanced Study in Princeton), The cow and silicon valley. They were always set in a large theater (with live public) with a stage full of props (Inflating balloons to represent the inflating universe, buckets of sand to represent the amount of stars in a galaxy, cameras on rails to represent relativity, living cows as well as all their nice parts of meat on display.) These "presentations" are very nice to watch and my wife who is not a scientist always enjoys them as well.

There are also museums like Nemo in Amsterdam (https://www.e-nemo.nl/nl/ontdek/brein/) and Naturalis in Leiden (http://www.naturalis.nl/en/), these places are filled with rooms with stuff to touch and experiments to perform. I'm sure the US is laced with those as well so it is not that ground-breaking of an idea.

A holo-deck would be the killer feature for this way of communicating.

JeroenRansijn
I thought about Robbert Dijkgraaf's TV lectures as well. A must see! I have no idea if there are any english subs though.
tmerr
On the topic of how representations relate to programming... if you have ever tried to express some tricky math in code you might have had a sense that it would be more clear if it were written out on paper with the proper notation. That's because mathematicians have streamlined their reasoning by deciding one day, well, I use the sum function a lot, let's call it Σ. Or I'd like to be able to recognize integrals from a mile away so let's call it ∫. Not to mention those symbols come along with a spatial organization: the lower limit of integration goes below, the upper limit goes on top.

Programmers can't easily streamline like this. Maybe there are multiple forces locking us in: the keyboard, text editor, and programming language. Sure, maybe the optimal way to write code is with a string of ascii characters arranged left to right top to bottom but I doubt it. So even in the visual-symbolic space there is unexplored potential.

I'm glad someone is out there tackling these assumptions and much more, I should keep an eye on his work.

On an unrelated note, his website is entertaining: http://worrydream.com/

joshkpeterson
His website is legend among UX designers because it's such a great example of how to do a portfolio creatively.
DanBC
> such a great example

Are you being serious?

theoh
Really? I thought he was a celebrity among programmers because of his imaginative approach. Surely any UX designer worth their salt would find his home page to be moronically simplistic in the way it tries to shake up graphic design conventions. He is interesting, but not, I think, in a "design" way. Also, "worrydream", "beast of burden"? A bit too neurotic to be considered appropriate by, well, anyone grown up.
joshkpeterson
My comment was shorthand for:

I discovered his portfolio a couple years ago through: http://www.quora.com/What-makes-a-great-UX-Design-portfolio

and since then it's come up in conversation with UX designers as a cool portfolio 3 or 4 times. But the points you make are valid.

seanmcdirmid
A website meant to be usable is a bit different from one meant to be a portfolio. From that perspective, I think his website works well, but it is a bit dated in terms of aesthetics (not as flat as the current fashion goes).

I don't think Bret Victor's work is really about design (most of the UX designers I know have never heard of him), it is about invention and is a bit more on the programmer side. Putting him in the designer bucket is too inaccurate (but buckets are always inaccurate).

I saw this talk in person at SPLASH; the puppy in cage for life really pulls at some heart strings. But it didn't really do it for me like the previous talks did (though he didn't have any prototypes to show off as with the previous talks).

arikrak
Looks interesting, going to watch rest later. I wonder if the graph of trade with England is really the 'basis' for all scientific graphs of data. Didn't Descartes develop the idea of graphing Y in relation to X?

http://en.wikipedia.org/wiki/Cartesian_coordinate_system

the_cat_kittles
great talk! one touchstone i wish he would have embraced is woodworking. having listened to the talk, i can see how woodworking is experienced through many channels: tactile (hand planes, saws), visual, spatial, symbolic (plans, designs), auditory (sonic feedback tells you a lot of about the wood, and how well a tool is working), environmental (the workshop)... i feel like adopting his channels perspective helps me understand why that activity is so engaging. certainly gives credence to his claims, too.
niels_olson
I think something like ipython can get to where he wants to go. I have already used the RISE profile and MDTraj so I can show people my notebook in slide layout, and pull protein models directly from PDB (Brad talks about the provenance of the data). So I can run code live, manipulate meaningful models live. I think some solid navigation wouldn't be too far off. Now we just need holograms. Cheap blue lasers, people. We need cheap blue lasers.
None
None
GraffitiTim
Still watching the presentation, but virtual reality is the medium that will eventually allow for a lot of the things he's talking about.

Edit: he later dismisses this, but I don't think he's right to do so.

mottey
He dismisses it as an end, but VR is the beginning...
bchjam
VR still lacks good tactile, kinesthetic representations. Not to say it's not a step in the right direction, but it is arguably taking a deeper step into visual-only representation.

(edit: relevant link, Victor's rant on hands in interaction design. http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesi...)

corysama
While it's neither perfect nor complete, I can say from multiple hands-on experiences that the Tactical Haptics grip works much better than you might expect.

https://www.youtube.com/watch?v=XBB_OFMJ-Go

bchjam
I've never used them personally but I'm sure they do improve the experience. I suppose there's a point at which that's still tricking the human nervous system in ways that a physical model doesn't have to, but haptic VR is also more realistic with today's technology than dynamically self-assembling nanobots.
None
None
pokpokpok
exciting to be young and engaged in technology at a time like this
rayalez
The interesting part is that a lot of what he is talking about is already possible.

- You can use augmented reality or VR with something like Oculus to display things in 3D space.

- You can use Motion Capture technologies, plus maybe some convenient remote-control/keyboard-like devices to put a human in that virtual space and manipulate things.

Only 2 technologies(Oculus + Mocap) would be enough to accomplish something like this: http://youtu.be/VzFpg271sm8

Give a bunch of people oculus rifts and put them in the same virtual reality - and we have the dynamic stage he is talking about.

They don't even have to be in the same room of course, we have 3D realtime MMORPGs and second-life that already solved that problem!! You could attend a virtual talk by sitting in your apartment with oculus rift on your head.

And of course "downloading a room" instead of a book is already very doable. We already have computer games and engines. That room is like a video game level. Downloading it is not a problem, to explore it all you need is oculus and a simple game controller or a keyboard/mouse.

And in terms of creating such content, the closest thing I can think of is 3D editors, like Maya or Houdini, especially houdini(http://www.sidefx.com), which is the brilliant combination of computer graphics and programming, that allows you to model and program dynamic things visually.

HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.