Up and Down the Ladder of Abstraction

A Systematic Approach to Interactive Visualization

An arbitrary road could look like almost anything. In order to tame this data space, we choose some aspect of the road which we suspect issignificant — an aspect that reflects some challenge that our algorithm will face. Our algorithm is currently built around a fixed turning rate which determines how sharply the car turns. We might therefore suspect that the sharpness of the bend in the road will play an important role.

 .. Real-world systems may be more complex, but they all share the same general anatomy: an independent variable (such as time), a structure (such as an algorithm), and a dataset (such as an environment).

  • The independent variable is usually time. This is our way of thinking about causality — a system’s state depends on its previous states in time. Even for systems that are normally expressed with multiple independent variables, such as heat diffusion or wave propagation, we typically think of the system as evolving over time.
 .. Unfortunately, development environments generally don’t support this process. Most are actively hostile to it. We live in primitive times.

 .. Perhaps IDE makers will focus on dynamic exploration instead of static analysis, rich visualization instead of line debugging. Perhaps language theorists will stop messing around with arrows and dependent types, and start inventing languages suitable for interactive development and discovery.

Hacker News: Bret Victor’s favourite books (worrydream.com)

It’s tempting to judge what you read:

I agree with these statements, and I disagree with those.

However, a great thinker who has spent decades on an unusual line of thought cannot induce their context into your head in a few pages. It’s almost certainly the case that you don’t fully understand their statements.

Instead, you can say:

I have now learned that there exists a worldview in which all of these statements are consistent.

And if it feels worthwhile, you can make a genuine effort to understand that entire worldview. You don’t have to adopt it. Just make it available to yourself, so you can make connections to it when it’s needed.

The Utopian UI Architect

An ex-Apple interface designer’s 40-year plan to redesign not just the way we use computers, but the way we think with them

When Victor designs a software interface, he doesn’t do it to deliver functionality — he does it to advance an argument, in much the same way that 20th-century utopian architectural designs were never really intended as functional building plans.

.. “the power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols.”

.. “We have these things called computers, and we’re basically just using them as really fast paper emulators,”

.. Now we’re staring at computer screens and moving our hands on a keyboard, but it’s basically the same thing. We’re computer users thinking paper thoughts.”

 .. “The important thing isn’t thinking about computers or programming as they are today, but thinking about moving from a static medium like marks on paper to a dynamic medium with computational responsiveness infused into it, that can actually participate in the thinking process,”
.. “One of the big barriers with computers today is certainly the physical interface, but this isn’t a technology problem,” he says. “The bigger part of it is just in finding the right ways of thinking, finding the right representations of abstractions, so people can think thoughts that they couldn’t think before.
.. “The example I like to give is back in the days of Roman numerals, basic multiplication was considered this incredibly technical concept that only official mathematicians could handle,” he continues. “But then once Arabic numerals came around, you could actually do arithmetic on paper, and we found that 7-year-olds can understand multiplication. It’s not that multiplication itself was difficult. It was just that the representation of numbers — the interface — was wrong.”