I was leafing through my father's old books when t...
# reading-together
b
I was leafing through my father's old books when this diagram caught me off-guard. We're so used now to having an OS with apps, that it's weird to think of OS-level transitions (login->shell), inter-apps transitions (shell->vi) and inside-app transitions (vi's command<->append modes) as similar things. 🙃 But to a user new to computers, yes these are all "modes".
The book was "Unix Made Easy" by(?) "Lurnix"
They had a deeper one with mail(1) spawning off vi(1): I doubt anybody still composes mail that way, but the practice of semi-interactive unix tools spawning $EDITOR is very much alive e.g.
kubectl edit pod
or
git rebase --interactive
...
Personally I happen to prefer "emacs pinky" to vi kbd efficiency, and I can sympathize in general with "modes considered harmful". But would I be willing to apply that principle to app switching?? 🤔 • No! That would mean everything the computer does MUST follow same Interface Guidelines™, which I agree is nice for users, but also implies program authors can't experiment with unusual interfaces. But my computer is a general-purpose device, damn it, and e.g. games should be able to take over hardware for an immersive experience. • Maybe! I'd love things to be more itemized where most work happens not in isolated "apps" but a shared computational env to which I can apply a global set of commands. like Emacs, or Boxer, or Jupyter, or even the tty... ◦ Or hey, the browser! "everything is html + links" with global actions like "go back" was an itemized env that actually succeeded at reaping some benefits of "itemization" and won the world! It didn't go very far though, got optimized for app devs over user agency + automation and now is pretty much a regular OS (exhibit: Chromebooks).
d
Great thread with excellent set of questions/challenges/topics for this community - but you hid them further down! The main post is of geeky interest at first sight, but maybe you could, I dunno, repost the juicy post to the channel or something?
This deserves a lot more engagement!
Having said that, you mentioned "modes", which normally gets the vi-haters wound up! (I'm a vi user not emacs btw)
d
I've read Jef Raskin's The Humane Interface and other writings against modes. I generally find them persuasive (even as a vi-keybinding-user). But I still see mode problems everywhere in UIs, and see people stumble with them. The most common is focus — I think focus is on one element or in one window, when it is actually elsewhere, so my input goes to the wrong place. Have "we" generally decided that mode errors aren't as much of a problem after all?
That would mean everything the computer does MUST follow same Interface Guidelines™, which I agree is nice for users, but also implies program authors can't experiment with unusual interfaces.
This is more-or-less what made me accept (and still sometimes hate) the web as a platform. There are no (all that useful) UI standards, but there is a ton of room for UI innovation. Hard to tell if it is worth the usability cost, or how much we ought to be making user interface experiments on unwitting users.
I'd love things to be more itemized where most work happens not in isolated "apps" but a shared computational env to which I can apply a global set of commands. like Emacs, or Boxer, or Jupyter, or even the tty...
Are you thinking of something similar to OpenDoc? (I'll have to read through your link in more detail later.)
d
I don't think "can't experiment with unusual interfaces" is what we should be concerned about, it's more "competition to make a better thing". But personally I'm in the camp of "give 90% of the users something simple, consistent and effective for 90% of their needs, but allow extension for edge cases and those difficult ones (like me!)" If you don't have apps at all, then you're kinda forced into cross-datatype interaction consistency. Which is good IMHO. And yes, "itemized" is (part of) the future! There's another thread talking about Obenauer's stuff just now. And exactly as you say, it's also the past - the TBL Web didn't have "apps" like today's web pages have. Today, each page is not really part of a seamless web any more.
@Beni Cherniavsky-Paskin? 🤓
I'm thinking this is too good a thread to drop or have limited visibility, so I'm re-energising it! I've been digging into Raskin's work this morning; here are some links I found: https://www.wired.com/1993/06/1-6-guis/ https://web.archive.org/web/20080509155848/http://jef.raskincenter.org/humane_interface/summary_of_thi.html https://wiki.c2.com/?TheHumaneInterface https://en.wikipedia.org/wiki/Archy_(software)
b
His son Aza carried on his work for a while, at least (as head of UI at Mozilla, then... I stopped paying attention). I remember that he did some additional work on Archy.
d
I love the idea from Jason Yuan (I think this is what he's saying) that if you design for neuro-atypical folk (like me) who have immense difficulty getting into a flow state and are easily distracted (I have OCD, misophonia, etc, etc), then you benefit everyone. This is a principle I've always espoused: design for those with disabilities and everyone benefits. I often take the ramp not the stairs in honour of this! I have lever-handled taps in preference to grab-and-turn ones. Mind you, I also have a daughter with disabilities.