"Apparatus: A Hybrid Graphics Editor / Programming Environment" by Toby Schachman

14K views · 11 years ago · talk · intermediate · evergreen

Toby Schachman's Strange Loop talk on Apparatus, a tool that combines a graphics editor with a programming environment. It shows drawing shapes and defining their behavior in the same space.

HN people submitted it as a standout example of blurring the line between drawing and programming, and cite it among related graphical-plus-code tools.

4 comments from Hacker News

p
@panic2015 · in “Apparatus: A Hybrid Graphics Editor / Programming Environment [video]”
Submitted the video to Hacker News.
RecommendsView on HN
j
@jwmerrill2015 · in “Apparatus: A hybrid graphics editor and programming environment [video]”
Submitted the video to Hacker News.
RecommendsView on HN
v
@vanderZwan2017 · in “The design side of programming language design”
There are people doing research into this, for example comparing how quickly various styles of loops are understood by beginning users (I wish I could find the talk on that right now). Like you said, it's not taken very seriously though. The problem I have with that is that it seems to be limited to verifying existing structures and solutions. That kind of quantitative research has its use, but is not really helping with exploring novel ideas in human friendly interfaces. For example, I stumbled across Céu a few years back and I have never seen concurrency and timing done in such an intuitive style before[0]. Other things that have blown my mind in the last few years include Halide's decoupling of algorithm and scheduling[1], Jonathan Edwards' experiments with schematic tables as an alternative to if-statements[2], vega-lite's grammar of interactive graphics to declaratively construct interactive plots[3], and aprt.us' hybrid graphics/text programming environment[4]. These are all novel ideas that you cannot find through quantitative measurements about which syntax is optimal. Not that the latter is without use, since it can make people shut up about pointless disagreements (although I think the better solution to ending a holy war on bracket style is to get rid of it altogether and use something one default style like elm-format[5]). And maybe we're also not looking outside of our own field enough. For example, I recently read Steven Pinker's "The Stuff of Thought". There was a chapter discussing all kinds of (human) language paradoxes and hidden rules based on how humans have different ways of thinking about aggregates, and how we use those subconsciously in our daily language. As I was reading it, it made me think "this makes so much sense of how different languages use collections differently, they're just applying different styles of intuition described here!" The funny thing about most language paradoxes is that they require very specific ways of framing a question, and that they disappear when framed differently. Which sounds a lot like how some problems are easier in one style of programming or the other. And that makes me wonder if we can't learn a lot from these branches of linguistics about how we might set up our computer languages in such a way that humans are less likely to make errors of thinking in them. [0] link [1] link [2] link [3] link [4] ▶ this video and link [5] link
CitesView on HN
j
@jasonic2016 · in “How a Mathematical Superstition Stultified Algebra for Over a Thousand Years”
GeoGebra www.geogebra.org/ A geometry package providing for both graphical and algebraic input. "Apparatus: A Hybrid Graphics Editor / Programming Environment" by Toby Schachman ▶ this video