The Cognitive Style of Unix (2010)
blog.vivekhaldar.com
blog.vivekhaldar.com
Maybe this is why I don't have any voluntarily-installed apps on my phones? The phone form factor is suitable for entertainment, tolerable for consuming information, but horribly tedious for manipulating or generating it.
* it is a commonly held belief that "avoiding syntax errors", an activity most typically found only at the start of the learning curve, is worth spending person-decades on. Who (since Englebart, Iverson, et.al in the 1960s?) is attempting to tackle "avoiding semantic errors"? We have billions of USD spent on making more approachable vuvuzelas; where are the violins? (or better yet, pianos: both initially more approachable and ultimately more powerful than any of the strings)
They don't have to be large programs, either. Just enough to describe basic constructs, and maybe include some "programming pearls," puzzles, or poetry.
The app could have ASCII symbols pop up, toast-like, as input is entered. Over time, the mind may associate "/\" with the corresponding single key.
A cursory glance for "apl programming" doesn't turn up much, but appropriate artistry and game mechanics could turn a new generation to a form of programming where symbols--not just alphanumerics--are both arcane and wondrous (yet also pragmatic).
If you want to get extreme about input method minimalism, you might be able to remap Applejak[1]'s WASD / E input approach to swipe and tap gestures.
1. https://internet-janitor.itch.io/applejak (previously discussed here https://news.ycombinator.com/item?id=26188165)
Between this and the comments¹ from 082349872349872², there's plenty of inspiration to go on.
Another source of interesting phrases: http://dfns.dyalog.com/sindx.htm (but note that here they're embedded in Dyalog's functional definition style; I don't have any clue if that site supports it even as an option)
Anyway, CLI also greatly fits w/ UNIX philosophy and reusability. Once you are confortable which CLI, learning new CLI is just easy. And the power of pipe, where you can combine several small CLI tools to get interesting results. Now try that w/ GUI ;)
In situations where the cost of failure is low, and one wants to quickly explore a problem space in search of the best solution, you often want an interface that encourages "epistemic action". This is action taken using the interface to think about the problem rather than directly solve it. David Kirsh uses the example of Tetris: https://www.sciencedirect.com/science/article/abs/pii/036402... People often rotate pieces when they're falling to see which way they'll fit best, because that's faster than doing the rotation in your head.
So, the fact that users spend more time thinking before they engage with an interface may not be a good thing. It could be that the interface is just hard to use. Think about how you normally solve a jigsaw puzzle... There may be some amount of planning, but there's also a healthy amount of trial an error. The cost of making a mistake is low. Now imagine each piece of the puzzle weighed 50 pounds. In that case, one would make a detailed plan before moving many pieces around.
If this is "organizing things spatially on screen in a way that's meaningful to you" then I honestly don't know of a way of interacting with a computer that isn't that.
But the printer example is a great one. The value of printing the output is that then you can do things with it that help you think about it in ways that you couldn't do with the on screen interface. If you wanted to you could cut the paper up and rearrange it, draw diagrams etc.
There is a whole genre of interfaces, called Tangible User Interfaces or TUI, that is all about giving physical form to digital information and using physical objects / tokens to represent and modify information inside the computer. Here's a paper with an example task that's similar in many ways to the task in the paper in the original blog post.
https://www.cs.tufts.edu/~jacob/papers/chi02.pdf
So yeah, if an interface lets you organize things spatially in physical (or graphical) space, it can make you a lot more productive.
That said, you're right that physical paper is wonderful. I often find myself wishing for some way of moving easily between digital and paper representations of a problem I'm working on. The best I've come up with practically so far is heavy use of index cards and a scanner when I want to get things back into the digital realm. I think something like this could be slick and nice, but my current implementation is actually pretty clunky, so I tend only to do it during the initial phase of a new project -- print off all the info I think I'll need, grab a stack of index cards and a mechanical pencil, walk away from my workstation and sit down at the kitchen table to think and scribble, then scan in anything that needs scanning in and work the rest of the project digitally. I'd love to have the ability to move back and forth with less ceremony, but so far I haven't seen anything that would facilitate this.
I think the reMarkable (2?) tablet might be at least part of what I want, though I haven't had a chance to look into it very deeply. They probably also depend on a cloud service that could go up in smoke at any time, which I'd like to avoid for something super integral to my daily workflow.