HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
"Apparatus: A Hybrid Graphics Editor / Programming Environment" by Toby Schachman

Strange Loop · Youtube · 23 HN points · 2 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Strange Loop's video ""Apparatus: A Hybrid Graphics Editor / Programming Environment" by Toby Schachman".
Youtube Summary
An interactive diagram can be an effective way to communicate a mental model, because it can convey a way of seeing a problem or system. Currently, to create an interactive diagram one must write code to procedurally draw the diagram and respond appropriately to user input. Writing this code can take hours or days. Apparatus aims to reduce the time to create an interactive diagram from hours to minutes.

Apparatus combines the direct manipulation capabilities of a vector graphics editor with the dataflow capabilities of a spreadsheet. Through this hybridization, Apparatus supports both spatial and symbolic ways of working in tandem. Dataflow defines the state space of a diagram, algebra driving geometry. Dragging shapes moves through this state space, geometry driving algebra. Instead of function calls or object-oriented inheritance, Apparatus uses a "call by copying" pattern for diagram reuse. Reused diagrams do not need to be explicitly parameterized. Instead of loops, Apparatus uses spreads which allow any value to exist in a "superposition". This allows shapes to be looped over implicitly. By decomposing shapes into paths of points, it also enables Apparatus to plot curves.

Toby Schachman
COMMUNICATIONS DESIGN GROUP

Toby Schachman is an artist and interaction designer interested in new ways of seeing. He currently is a researcher in the Communications Design Group working on alternative interfaces for programming. He holds a master’s degree from the Interactive Telecommunications Program at NYU and a bachelor’s degree from MIT. He is a previous Eyebeam fellow.
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
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] http://www.ceu-lang.org/

[1] http://halide-lang.org/

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

[3] https://vimeo.com/177767802

[4] https://www.youtube.com/watch?v=i3Xack9ufYk and http://aprt.us/

[5] https://github.com/avh4/elm-format

lgas
> 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.

I don't know other research exists, but I wouldn't personally value any research on beginning users comprehension because you're typically a beginner in a new language for a few days to a few weeks but an experienced user for years or decades, so beginner experience is just not something I care about in the big picture. (Obviously there are reasons other people might care about it... it affects initial adoption of the language and so on, but I just don't care about them personally).

seanmcdirmid
The problem with studying humans is that you need relatively blank slates so you can have proper control groups. Experts or non beginners are hardly blank slates, so are much more difficult to study in the lab.
None
None
lgas
I get that, and I don't have any great ideas for solutions, but I hope we can find an effective way to study the people of interest rather than to study a group of decidedly different people and try to extrapolate the results to the original group.
seanmcdirmid
There are other ways, and they are used, but they aren't scientific enough (even if useful) to be published.
GeoGebra www.geogebra.org/ A geometry package providing for both graphical and algebraic input.

"Apparatus: A Hybrid Graphics Editor / Programming Environment" by Toby Schachman http://youtu.be/i3Xack9ufYk

Nov 02, 2015 · 20 points, 5 comments · submitted by panic
dang
Also https://news.ycombinator.com/item?id=10293368.
flud
I like the reusability of the parts, but other than that it looks like Grasshopper but for 2D instead of 3D. And code-based instead of patch-based.
armitron
Cool concept, misguided implementation.

Look at Smalltalk and Pharo on how to do this properly, on the right platform. Not only is Javascript/browser the wrong platform for something like this, but it's also too constraining and limited in scope as to what one can do with it.

It's kind of sad to see bad re-implementations of paradigms that have been out there for 30+ years (in this case even more than that). I suggest that the maintainers of this project go to youtube and watch every Alan Kay video they can find. They'll learn a lot.

jhpriestley
Pompous and condescending comment without any specific criticism.
panic
The suggestion to watch Alan Kay videos is especially funny given that this tool was produced at CDG Labs.
Oct 05, 2015 · 3 points, 0 comments · submitted by jwmerrill
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.