Nice paper! My favorite part was the insight into linear vs on-demand reading strategies and how that changes the state we might want to show readers. Most code representations are linear, wonder how we can better support on-demand readinghttps://twitter.com/geoffreylitt/status/1347231826063089665 …
-
-
Replying to @geoffreylitt @wcrichton
One topic I found curiously absent was live programming / runtime vis, which aims to eliminate the need for human program tracing because--as you point out--computers are way better at it. How does that fit? Would you just group with w/ the static vis mentioned in sec 4.3.2?
1 reply 0 retweets 4 likes -
Replying to @geoffreylitt @wcrichton
Given the note about how tracing seems like a component skill of overall comprehension, was wondering if you were hinting that the frictionful act of manual tracing is a good thing sometimes? My hypothesis would be that liveprog + tighter feedback could only help, but idk.
1 reply 0 retweets 0 likes -
Replying to @geoffreylitt
Two sides to this: science and design. For a sec, ignore that this is a CHI paper with design implications. Regardless of whether tracing is useful, studying tracing can still give insight into how the mind deals with mechanistic procedures, e.g. the linear vs. on-demand split.
1 reply 0 retweets 1 like -
Replying to @wcrichton @geoffreylitt
Even if tooling improves where a human never traces again, it's still useful to study humans in this context. For example, I love the paper "Studies on the telegraphic language" (1899) b/c they used students of Morse code to demonstrate the existence of a learned skill hierarchy.
1 reply 0 retweets 1 like -
Replying to @wcrichton @geoffreylitt
Will Crichton Retweeted Will Crichton
As a design question, my hypotheses on why tracing matters: 1. Execution underlies comprehension. I'm not saying manual tracing is a good thing like "it builds character", but that research on other skills like language suggest tracing matters.https://twitter.com/wcrichton/status/1353157373259620352 …
Will Crichton added,
Will Crichton @wcrichtonBtw, cogsci research suggests this is true for many skills: the ability to execute underlies the ability to understand. See: - "Do people use language production to make predictions during comprehension?" - "The Case for Motor Involvement in Perceiving Conspecifics" https://twitter.com/lindsey/status/1353134942901858305 … pic.twitter.com/SkHTEgAKV21 reply 0 retweets 3 likes -
Replying to @wcrichton @geoffreylitt
Will Crichton Retweeted Will Crichton
2. Automated tracing implies access to concrete data. But that that can be hard to actually write down vs mentally simulate.https://twitter.com/wcrichton/status/1351684584329650181 …
Will Crichton added,
Will Crichton @wcrichtonReplying to @wcrichton @chatur_shalabhAnd sometimes you want to trace in terms of a partially specified piece of data. Eg "if I had a database with 10 rows, would what would this function do?" And there's often more overhead to mocking a test that actually does this than mentally imagining it.1 reply 0 retweets 2 likes -
Replying to @wcrichton @geoffreylitt
Will Crichton Retweeted Will Crichton
3. Computers are not as good at symbolic reasoning (except theorem provers), and concrete tracing is probably a simpler version of abstract tracing (ie where variables are unspecified and intermediates are properties).https://twitter.com/wcrichton/status/1351684351784849411 …
Will Crichton added,
1 reply 0 retweets 2 likes -
Replying to @wcrichton @geoffreylitt
So where does runtime vis fit: if tracing helps us understand how a process works, vis helps us understand what the process produces. These are both important! If I just show the data, the process is obscured, and vice versa.
1 reply 0 retweets 0 likes -
Replying to @wcrichton @geoffreylitt
For example, I played with a Rust game engine (Bevy) recently. Lots of complex interlocking runtime pieces, so my first instinct was to build a visualizer for the world state. Then I ask "where does this Light get a Transform component?" And then I'll start tracing the codebase.pic.twitter.com/mxDGV9Rmll
1 reply 0 retweets 2 likes
It's fundamentally hard for runtime vis to capture time, causality, dataflow, abstractions, etc. in a way that's (IMO) easier to see in a program text.
Sorry the explanation is a bit sprawling
but that's my general sense.
-
-
Replying to @wcrichton
yeah lots of good points. reminds me of
@joshmpollock's PLATEAU paper about how program vis needs to explain "why" / "how" state changes, in addition to just "what" the state ishttps://drive.google.com/file/d/19ippGZyZXEZSzWjW5zeSnm-zuqvZRD4T/view …1 reply 0 retweets 3 likes -
I totally agree that "show the data" is insufficient on its own. But more broadly, I want tools that leverage runtime data to help us answer these questions w/o manual tracing. Whyline is one great example of this -- assisting a task that would normally take lots of tracing
1 reply 0 retweets 1 like - Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
cognitive psychology. PhD