4 ms·
i invite you change my view: there is absolutely no reason to fetishize the terminal. it’s a shitty interactive window with needless constraints. anything you c
by BaculumMeumEst 4y ago
i invite you change my view: there is absolutely no reason to fetishize the terminal. it’s a shitty interactive window with needless constraints. anything you can do in a tui can be done better in an actual graphical window.
- deleted 4y ago[deleted]
- ducktective 4y agoone word: latency
- BaculumMeumEst 4y agothat seems dependent on the gui and terminal in question. on windows, a graphical emacs window has less perceptible latency then a terminal window
- ducktective 4y agoAll non-electron terminals have better latency story than cross platform GUIs. Surprised you mentioned Emacs here as it is notoriously laggish in this department.
- BaculumMeumEst 4y agoHave you tried programming in terminals on Windows? I promise you it is horrifying. And my Emacs is pretty stock with native comp.
- aumerle 4y agoYour problem is windows
- danpalmer 4y agoI’d suggest that the proliferation of software with many possible interactions adding features that let you invoke actions via a command-line like interface (see Ctrl+P command palettes etc) prove that there is a place for these sorts of interfaces. Using a mouse is inefficient, and there are only so many hot keys one can assign and learn. I agree that terminals are fetishised a bit, and I personally find a mix of GUIs and terminals to be the most effective combination, but I think there’s something valuable in the interaction pattern.
- BaculumMeumEst 4y agonothing is stopping gui programs from using keyboard shortcuts though. vs code and emacs use them to great effect. and there’s no quirks with the alt key.
- danpalmer 4y agoAs I said though, there are only so many keys on a keyboard, and only so many combinations one can learn, which is why command palette style interfaces have become so popular. In VSCode there are probably ~1000 actions I can perform, and maybe ~50 keyboard shortcuts that I use, but I can still access all those actions quickly and fairly efficiently. This shows the value of command line interfaces.
- indymike 4y agoOS integration is critical when it comes to keyboard shortcuts, especially for non-Web where there's expectations set by the shell (TUI) or the GUI.
- BaculumMeumEst 4y agoBut if you’re building an interactive tool and choosing between a gui and a tui, you could just build a gui with a command palette.
- danpalmer 4y ago
- kataklasm 4y agoAt least for me, apart from all the other obvious reasons to use a TUI, a big part of it is the fact that it's so much easier to get a coherent and consistent user interface with TUIs compared to GUIs. Every GUI uses a different UI system and as such will look incoherent with other apps. Just take GTK vs Qt.The UI of my daily machine looks extremely coherent and most of that is contributed to most of my programs being CLI or TUI.
- badsectoracula 4y ago> consistent user interface with TUIs How? Every single TUI app i have on my system has its own look and feel, down to even using different keys for the same or similar tasks. At best a few have vi-like hjkl keys for movement (but no number prefix) and some might use ? for showing the available keys or some sort of help, but there is pretty much zero consistency beyond that. At least in comparison the overwhelming majority of GUI applications agree on things like what Ctrl+C/X/V, Backspace, Del, Arrow, etc will do and they tend to react the same when you press the left mouse button on something that vaguely resembles a push button or a check box (most also agree how scrollbars work, though not all of them).
- rodgerd 4y ago> Just take GTK vs Qt. You could, but it's not exactly a great comparison. Contrast with Apple's history of HIGs and similar for a company that puts effort into consistency. Where's the equivalent in the TUI?
- sprash 4y agoThe biggest problem with GUIs is that there is no reliable standard that works everywhere. The VT100 standard is 45 years old and will most likely work for the next 45 years. It is dead simple to implement GUIs (just write to stdout) and all those programs that use that protocol to render their GUI are immediately portable to almost every platform on the planet and work over the network via ssh without any additional need for programming.
- avgcorrection 4y agoWell, I don’t know about in general but I think this is the case for Emacs except maybe for some remote session use-cases.
- wkat4242 4y agoAgreed in principe but we live in the real world. GUI apps are ever more bloated and often aren't written for power users (many shortcuts etc). Sure they can have all those things, but they don't. Also, UI designers are really strong trend followers meaning their apps will waste a lot of screen real estate and are often white on light gray right now because that seems to be the current fashion. Also running apps remotely with a simple and fast interface is often really a big plus.
- BaculumMeumEst 4y agoThis submission is about a library for building TUIs, though- what I was getting at is that as developers, we can choose to instead build guis and we’ll get better results. I do agree with you that many gui apps are poorly built and bloated.
- somat 4y agoI am not a huge fan of the TUI(Graphical terminal application) But I do think the CLI(an App you control only via a command line) is the better interface method for many application. mainly because they provide the highest code ratio of any methodology. That is, you get more interface with less code using a cli than any other method But one thing I love about terminal applications is how nice they work on remote sessions.
- pxc 4y ago> you get more interface with less code using a cli than any other method I agree. Writing, testing, and documenting anything other than a CLI is so much more work, imo.
- pxc 4y ago> anything you can do in a tui can be done better in an actual graphical window. Almost certainly. But for whatever reason, most GUIs created happen to be really bad at the things that most TUIs I've used happen to be really good at, namely searchability, reflowability (mostly used to increase text size and change font face for legibilit), and keyboard navigation. GUIs that nail these things are delightful. They're highly accessible and extremely efficient to use. But it also seems to me like the full power afforded by GUI toolkits leads a lot of developers to pour a lot of time and effort into other things (which matter less, at least to me, personally) while totally neglecting those aspects of their apps.
- worthless-trash 4y agopipe stdin.