Hacker News new | ask | show | jobs
by sitkack 1323 days ago
Is it an inherent flaw in 9front or could it be fixed with an input router?
2 comments

The Plan 9 UI is deeply arcane. It's heavily inspired by the Oberon UI, which itself is equally arcane, if not even more so.

I have a play with Inferno in a VM some years ago. (I can't even find an ISO of it now, which is something that needs fixing badly, alongside a ready-to-run version for Linux on x86-64.)

Oberon, and thus Plan 9, spring directly from the era of the original Xerox PARC Alto. Their design comes from before Apple standardised the GUI in the early 1980s, with standardised menu bars, standard window controls in the title bar, the idea of dialog boxes, plus ones that have standard buttons in standard places.

(You know -- all the sort of stuff GNOME is busily removing again now.)

Microsoft mimicked this design in Windows 1 and 2, DR aped it in GEM, IBM in OS/2 1.x, etc. All later GUIs are informed by LisaOS and MacOS 1.

Oberon was before that and it has none of that stuff. Plan 9 loosely mimics Oberon and so it doesn't, either.

Result: it's very weird if all you know are post-1990s GUIs.

Inferno modernised the Plan 9 UI and it's quite usable by comparison. But Inferno is even more obscure than Plan 9.

FWIW, The A2 OS modernised Oberon and it's much more usable, too. Both are still weird but they're vaguely recognisable and you can just start clicking on stuff.

Inferno is not plan9, Inferno is based on what was learned while making/using plan9. They do not share a base.
Most importantly Inferno was meant to be a product while Plan 9 was a research system. A few things that were improved in Inferno were put back into Plan 9 3rd edition.
Only acme mimics Oberon. The rest is inspired only, as you said, by the original smalltalk GUI.
That is a good point, true.
I'm not sure what an input router is, but the concept of mouse chording is absolutely an inherent property of Plan 9/9front and Acme. To the best of my knowledge you cannot mark, cut, copy or paste text at all using the keyboard. Copying is especially cumbersome and involves a three-button chord in conjunction with some precision pointing (first to mark the text, then to where you want it pasted).

I'm sure this could be implemented using keystrokes as well and the source code is of course available. However, I doubt such a change would be accepted upstream. You could say it's a central point in the "Plan 9 philosophy".

https://plan9.io/sys/doc/acme/acme.html

What if you had a OCR overlay that had a DOM like structure along with coordinates? You could hit a key combo, and then the text dom could float over the page and you could select nodes of it using your keyboard modifiers of choice (vim, emacs, etc).

You could also read the process memory directly by a supervisory program, like a debugger, to extract or insert text directly. It would be like idea implantation.

Does that make sense?

OCR hardly needed. Just read /dev/text.

I don't think the mouse chording is that essential to Plan 9. It's how rio and acme work, but those programs can be replaced without throwing away most of the OS concepts. I think you could absolutely create a Plan 9 UI that, for example, uses vi-like key bindings to jump around windows and text. Nobody's just done it yet and hardcore users are happy enough with what they have for now.

I think it'd be easier to just implement better keyboard support in E.G. Acme and, to a lesser extent, the terminal. :)

Side note: Inserting text using a debugger shouldn't be necessary. Everything really is a file, including Acme's windows and their contents (which is pretty cool).

Ok, what if all the programs had an file, like a port, where it could read and write messages encoded in a high level dynamic language, maybe like Lua, or Arexx :) ?

Then you could send it a message

    GET /text_repr?encoding=json
Durée has something like that http://durden.arcan-fe.com/
This whole stack blows my mind. What kind of wizardry is this?
I know! They have a shell that is pretty insane too.