Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One thing that bothers me about new code editors/IDEs is that their developers really don't do a good enough job researching and deriving inspiration from the editors that already exist.

For example, I have yet to find any modern editor that draws inspiration from the brilliantly designed ideas used in Plan 9's 'sam' and 'acme' editors.

For example structured regexps, 3 button mouse chording, and the 'plumb' feature thats basically a context-aware, smarter version of a unix pipe between two executables.

I mean i can go on and on but another thing that i find absolutely annoying about newer editors is that they all use Webkit as the base of their apps core foundation.

This makes it irritating to consider trying to make changes to the code that I believe would overall improve the editor and make it more useful. (at least as far as im concerned)

I can literally make a list a mile long of things I like in other editors and wish i could see condensed into one ultimate code editor to supplant all code editors that had come before.



Given the amount of time that people spend using editors, you think it would be worth some kind of wide ranging academic review article summarising the history of this area.

Does such a thing exist?


Not academic, but vim has some serious range. I really wish more apps made an effort to be mouse free.

But I also wish plan9 got more awareness. Unix pipes are so useful that it’s a shame the plan9 paradigms have largely been ignored or reinvented.


Typing only on the keyboard can be very nice for posture, but I feel that Vim users may think slightly differently if people invented a better keyboard with a pointer device attached.

Then you wouldn't be "taking your hands off the keyboard", you'd just be engaging in a different motion.


That's how I feel when using a keyboard with an integrated trackpoint.

Not everybody agrees, of course.


What keyboards have worked out for you?



Thinkpad external keyboards, both USB and bluetooth - currently typing on one of the former, with one of the latter in my jacket pocket for use with my android tablet.


I’m suprised no one tried an eye tracking cursor


I dont think eye tracking is precise enough for that.


Similar to the "KeyMouse" keyboard?


Can you recommend a place where I can read about these "plan9 paradigms"? I have an interest in it from a design perspective, but don't quite have time to read the source code.


The original paper on acme is here: http://doc.cat-v.org/plan_9/4th_edition/papers/acme/

Acme was different to the 'sam' editor and most other Plan 9 programs up to that point (aside from its predecessor, "help", a similar system that was replaced by acme).


Look up a YouTube of somebody using it and discussing its features. Basically you could mount computational resources like cpus/ram/network/etc from an external resource server. It also had a graphical equivalent to the Unix pipe between applications.


I feel like your point was missed in the sibling comment. An academic review of editor history would be fascinating, and if it thorough enough might even inspire editor authors to adjust their philosophy.


I guess if it was thorough enough and tried to synthesise some kind of framework for analysing these things there might even be a PhD in it for someone?


Those brilliantly designed ideas used in Plan 9's 'sam' and 'acme' editors were taken from how Mesa XDE, Mesa/Cedar and Oberon used to work across the whole OS, not just the text editor.

So a proof that even that point needs better research. :)

Since we are on a Lisp thread, same applies to those that just bother with Emacs, eventually SLIME, withouth ever spending one second with actual Common Lisp IDEs.


'sam' is older than Oberon :)


"... Mesa XDE, Mesa/Cedar..."


OK. I was too quick to correct you and did not spend enough time searching for charitable interpretations of your words.


More info here.

"The Mesa Programming Environment"

http://www.digibarn.com/friends/curbow/star/XDEPaper.pdf

"The Cedar Programming Environment: A Midterm Report and Examination "

http://worrydream.com/refs/Teitelman%20-%20The%20Cedar%20Pro...


The text editor Vis (https://github.com/martanne/vis, previous discussion: https://news.ycombinator.com/item?id=15710533, https://news.ycombinator.com/item?id=11445389) is explicitly inspired by sam's structural regular expressions.


I had no idea what you were talking about but I found the video and it reminded me of "Demo" from 1968 believe https://www.bing.com/videos/search?q=plan9+acme&&view=detail...


Timestamp in video says 2002.


Here's a discussion on Jeff Raskin's Canon Cat https://news.ycombinator.com/item?id=14650365

One of its strengths was discoverability. Jeff's son Aza iterated on a number of the ideas from the Cat with Enso and Ubiquity but those efforts were not specific to an editor.


It’s been years since I first heard of sam and acme. Perhaps I should try them. Is it possible to run them in MacOS/Linux/Windows? Or perhaps a virtual machine?

BTW, does chording work well with mice where one of the ”three” buttons is the scrool wheel?


Clickable scroll wheel works fine, it is mapped to the same button.

I can't, however, imagine left+middle chord on modern laptops, there are not that many laptops (mostly ThinkPads as far as I can tell) that have three physical mouse buttons.


i'm (happily!) using acme on macos. works great, the option and cmd buttons act as modifiers for middle and left button (execute and search).



> 3 button mouse chording

This has never given me an impression of a good UX.


Just because it's not common?


chords aren’t discoverable. they’re like keyboard shortcuts but worse - at least keyboard shortcuts have a letter name that could be an initialism


That's true, but with UX, there are sometimes trade-offs to make around discoverability and productivity.

A more discoverable UI may take a greater number of steps to perform. If the application is used rarely or briefly, that's a good trade-off. But if an application will be heavily used by a user who is incentivized to learn the tool, then their total productivity matters more since it amortizes over the lifetime of their use with the tool.

Text editors definitely fall into the "heavily used" bucket, so a good user experience might mean "you gotta read the manual, but once you do you can go 10x faster".


Acme cords are very simple: http://acme.cat-v.org/mouse

They're basic verbs you use to interact with text; not a full command. E.g instead of executing "format document" from a menu, you select the document with the left mouse button, and then middle click on the word "format". This executes the "format" command on the selected text. Somewhat like running gg=G in vim.


Not everything has to be designed purely for discoverability.


> the 'plumb' feature

This is the first time I hear about this. What make it better? How I learn more?


There isn't much to it. Windows, for example, implements plumbing as the ability for the user to double-click, in an Explorer window, on, say, a PDF file and have it opened automatically using the default PDF viewer; the command-line equivalent is the 'start' command.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: