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".
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).
š The Potential Merits of an Itemized OS
Does an itemized personal computing user environment have the potential to be a new medium in which software could āactually change the thought patterns of an entire civilizationā (Kay, 1989)?
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?
Having said that, you mentioned "modes", which normally gets the vi-haters wound up! (I'm a vi user not emacs btw)
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.)
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.