Hacker Newsnew | past | comments | ask | show | jobs | submit | MBCook's commentslogin

I think it’s clear from the article declarative UI could be done, with correct implementation and some options to disable noise.

Clearly no one put thought into any of that. It was just “make terminal, but pretty”.


They’re not terminal UIs.

They’re attempts at pretending to have Windows (etc.) GUIs in a terminal.

Same stuff people made for DOS when Windows wasn’t common or good enough yet.

I’m not surprised they’re a disaster. Or built without understanding the abilities of the terminal they’re running on.


If you don't want people calling these apps TUIs, what would you prefer people call them? And what does the term TUI refer to, if not this?

ASCII art (or ASCII art interface)

Text User Interface.

But what _is_ a "Text User Interface"? Google Images just returns what is being discussed here: "GUIs" that run in some kind of text mode. And to me, that's also what a TUI is.

A more textually oriented environment (like a normal Unix shell) is, in my experience, usually referred to as a CLI: Command Line Interface.

I did find an interesting hybrid in the Pi coding agent: it seems to leverage the normal terminal scrollback, while still enhancing it with things like transient input fields and status lines, so that it can display those without cluttering scrollback.


That's pretty much the distinction. A CLI is stream-oriented, may accept user input from standard in and/or write to standard out with buffered I/O; a TUI is full-screen, interactive (responds immediately to keystrokes), and uses text characters to represent visual elements.

And that’s where my comment came in.

I see TUI as a more general term: a program based in a terminal.

In my mind it does not imply it has to be an ASCII GUI style thing and not just a stream oriented non-interactive program.


>They’re not terminal UIs. They’re attempts at pretending to have Windows (etc.) GUIs in a terminal.

That's what a terminal UI is, and has been since Emacs was a thing.


> They’re not terminal UIs.

Actually, I think that is close to a good name for them: Terminal-based GUIs.

Some are pretty useful, for instance I like lazygit as a simple dashboard/panel for a small repo (or when making small changes to a larger one), some make me wonder what those who made them were smoking!

The less silly ones are handy when you are tinkering with a far away machine and want something a little more interactive than CLI commands and stuff connected by pipes and scripts but don't want to deal with the latency of GUI remoting. Some, though, are so badly thought out that they are slower than using a browser over long-distance X…


There are useful ones. Something like Midnight Commander can be way better than lots of manual copy and move commands. The kernel config one is way nicer than the stream style kernel configuration tool. Some of these newer ones are starting to feel more like “text mode bling” than useful.

My objection to TUI is I don’t think it’s clear enough for what’s happening here. I think you could easily argue that applies to most readline style stream CLI programs.

Would you call a fully 3D UI in VR, not a planar in the VR world but true 3D, a GUI? It is graphical by definition. But if you talked to someone about a GUI that’s not what they’d think you’re talking about without additional context.

That’s my objection. I think TUI implies way less than what these programs are doing. Yeah it can describe them but I don’t think it should be the word for them.



the first and second are graphics terminals which is muddling up the definition. of course they were called terminals back then until we decided to make a distinction. what they are called is not the point. the point is the distinction. for today's discussion terminal means text without graphics, as shown in the third video.

the real question is why are we still using text terminals?

the short answer is that on remote connections graphics is still a performance issue. in fact the popular solution to making remote graphics performant is webbrowsers. they are the graphical terminals of today.

if i want to build a graphical interface to a remote service, then i build a webinterface.

locally, the answer is historical tools, and that text interfaces are easier to develop and still more efficient to use. but not easier. especially commandline tools without an actual visual interface.

i just had this situation. the dolphin filemanager has a feature to add tags and comments to files. the interface is very clunky. but there is a commandline that lets me set those tags and comments which is much more efficient once you learned how to use that command.


As for the third example, note that the programs discussed here (arguably TUI) are unlikely to work on this type of terminal. Unless the program has a built-in mode that allows it to run in true command-line mode (arguably CLI). Just like vi/ex.

Of course, these were just examples to show that a computer terminal didn’t have to - and doesn’t have to - be like a VT100 or similar. And I realize that nowadays, when we hear the word "terminal," we tend to think of something like a VT100. Especially since the Linux (kernel) includes emulation for something like that.

However, historically, the first devices to be called computer terminals (and to enable interactive operation) were typewriters and teletypes. That is why one of the names given to newer CRT terminals was "glass teletypes." To distinguish these terminals from their predecessors, they were also referred as video terminals (VT) or video display units (VDU) etc.

Note that in addition to built-in VT102/VT220 emulation, xterm also includes built-in Tektronix 4014 emulation, which, to use your terminology, is a graphics terminal.

But on the topic, IMHO those "text terminals" represent the lowest common denominator, and using them as a user interface causes the least friction compared to true GUIs. For example, after booting Linux, I can basically start using those TUI programs right away without having to install or configure a graphical environment (X11 or Wayland). Remote computing also causes less friction and can essentially be used out of the box.

And TUI programs, like GUI programs, also make it easier and faster to explore compared to programs that run exclusively in CLI mode.

Personally I regret that Plan9-style computing and Oberon/ACME user interfaces didn’t become mainstream...


Tektronix 4014 emulation

i have in more than 30 years of using X11 never once seen an application that would actually use that tektronix emulation. so i am absolutely clueless in what it can do and how it works. i'd really love to see that and especially learn how it works remotely. apparently telnet has support for it.


> the short answer is that on remote connections graphics is still a performance issue

Wrong answer. Performant remote graphics is a solved problem (streaming video services like Netflix and online graphics-heavy games like Fortnite wouldn't exist otherwise).

Text terminals still exist because text is - currently - the most flexible and powerful method to provide commands, simple to complex. In a GUI you're usually using a mouse/touchpad/etc to navigate menus, click buttons, etc. And the more flexible the app and complex the ask, the more noisy or tedious the GUI will be. I'm unsure if it's still a thing today, but I remember when I was a Windows user and had to click through multiple windows selecting various options to get a regular app installed.

Meanwhile with a CLI, you type in a command with arguments and options, and everything remains relatively very clean and visible regardless of how complex the ask. Like installing something via CLI is maybe 5 elements on average.


streaming video services and Fortnite

those are not remote graphics applications. streaming is one way, and on slow connections it still fails. fortnite is local graphics. like a webbrowser. i already mentioned that. by remote graphics i mean a GUI application that runs 100% on a remote machine, and displays the output locally. like streaming, it depends on a fast connection. unlike streaming the fast connection needs to go both ways and it needs low latency (streaming doesn't need low latency, it just needs bandwidth.

your other example is similar to mine. but, in my opinion there is no reason why we couldn't have better graphical visualization of the commands we type. the browser model seems to be the right approach. local graphics working with remote data structures.


> streaming is one way

But has to be reasonably performant for a decent experience.

> fortnite is local graphics

And commands have to be sent to the server with minimum latency.

Bringing the capabilities of streaming and online gaming together means VNC is a non-issue, as the 2 have far more stringent requirements than the latter. A VNC connection is primarily streaming small diffs for the majority of a session (only occasionally does the full screen need to be sent) and input commands which aren't very latency sensitive; there isn't much to it.

> better graphical visualization of the commands we type

It's possible, but not necessary, and is counterproductive when it harms accessibility, which it often does. The browser is the worse thing out there IMO, because web devs are pushing JavaScript everywhere and hurting the experience for many. Things are supposed to function well for the user, but the focus nowadays is on shoving meaningless animations into things that should just be simple text, and ads into everything, which inevitably leads to far more noise rather than function.


the focus nowadays is on shoving meaningless animations into things that should just be simple text, and ads into everything, which inevitably leads to far more noise rather than function

right, but the same is true for all GUIs to an extent. which is why we still feel that TUI and commandlines are more efficient.

what we really want here (or what i want) is a locked down GUI that is efficient to use and designed to display the data that the commandline tools produce. no fancy graphics but a meaningful graphical interface that is not tied to the app that produces the data.

the problem now is that we have two choices, either we write a commandline tool that just spits out unstructured data, or we design the whole interface ourselves down to the last pixel. there is nothing in between.

think about the window manager. X11 used to work like that. windows would just display minimal frames, and the windowmanager would add the decorations to manipulate the windows. all windows look and work the same. in whatever style the windowmanager offered. that's gone now. the decorations are part of the window. that has some advantages, but also downsides.

the web has the same problem. i can't just send structured data. i have to send the whole interface. there is no separation. data and interface are merged in my app. at least now with javascript i can build apps that allow me to pull structured data from the server and display it, so data and app are kept separate. that's what i want on the commandline too. with the terminal functioning as that app that knows how to display the structured data that my commandline tools produce.


> a locked down GUI that is efficient to use and designed to display the data that the commandline tools produce [...]

You can have all that. There are various data presentation tools out there (one I can think of right now is Streamlit as I tried it out a few months ago, but I'm not really a data person, Python is just my primary language). For a more general GUI framework that's pretty easy to use and still full of features without tying anything you can look at Flet[0]. Heck Jupyter too is built specifically for processing and presenting data, and can keep things as separate or combine as much as you need.

There are many solutions out there that work really well already, particularly in the Python ecosystem. The all-or-nothing is mainly an ecosystem issue IMO, as web devs don't do much data processing that isn't accompanied by immediate presentation; the web browser is primarily a presentation engine after all.

Don't look to TUIs for good presentation as the terminal just isn't the place for fancy views. It's designed strictly for organizing and displaying - preferably streaming - text, not graphics. Also think of it as a relic from the old days when there were only text displays, modernized in many ways but still bound to those roots. Trying to make it behave like a graphics display is like trying to fit a square peg into a round hole, unless the particular terminal has that support specifically implemented.

[0] https://flet.dev/


A shell is the environmental manager, the terminal is the display device, and the window is the container. Add in tabs, web panes and sticky notes + make it all agentic, you get Hyperia: https://hyperia.nuts.services

My M1 Air, which was my personal Mac, generally stomped my work MBP 2019 with an Intel chip.

The difference between the absolutely silent M1 and the hairdryer Intel was staggering.

I’m sure you’re completely right.


That requires the Secure Enclave, so I suspect that’s one of them.

This only happened under a very odd configuration. Yeah it wasn’t great but it was not the normal case.

The headline implies it broke PG everywhere. It didn’t.


They’re possibly dropping a protocol they’ve been saying they’d drop for years, and tightening connection validation.

This is nothing like the mDNS stuff.


Why? I get it’s popular on Windows. But it’s so incredibly Windows-y, not Mac like at all. And we already have BBEdit and Nova.

Perhaps the site answers past “you like it here it is”, but at the moment we appear to have slashdotted them.


Don't forget TextMate, CotEditor, Chocolat. There are so many mac-native text editors that it's a crowded space for a new entrant sporting a distinctively un-mac-like UX.

Smultron is a good one that I’ve been using for over a decade alongside BBEdit. The developer offers versions for 10.10 Yosemite and newer.

https://www.peterborgapps.com/smultron/


New switcher on his brand new MacBook Neo who doesn't want to learn Mac apps and conventions? Guaranteed this person uses a Windows "Alt-tab" style switcher app too.

It sounds like you think this is a bad thing.

The tab switching is one of the main things that annoy me on a mac, and I'd describe myself as a linux tiling window person first, windows user only second.

Also my mac usage is hopefully only temporary, so why adopt to this - to me - inferior way.

And jftr, I don't plan to use this - I kinda like NPP, but I prefer to use TextAdept on Linux and Mac for notes anyway (and not vim, which is weird, but I guess I am weird with my choices).


Can confirm, friend who moved to Mac after 30+ years on Win ecosystem and all of the discussions we have are basically "but on Windows..." They specifically have lamented the unavailability of Notepad++ because of a specific hanging indent behavior they are used to.

Most people do not have the cognitive flexibility to really adapt to a tool that is more or less domain equivalent but different in any way. These small differences create more friction than learning something that doesn't have any close mapping to what you knew before.


wants to use something familiar => does not have cognitive flexibility

It's amazing how people find ways to flaunt their 'superiority'.


Cuts both ways too. I am finding Windoews harder due to using the mac as daily driver. Haven't got the hang of finder yet. I use CLI as much as possible making use rare enough not to master.

Goes for Linux too.

I have the flexibility to adjust to platforms other than macOS but I’d rather not have to. My setup works for me and having to change it is annoying and drags down productivity.

In my case it’s more intense than usual because I’m a visual person and my productivity suffers for things like my desktop environment, theme, etc not looking “right”. When using Linux for anything more “serious” than studying with Anki I get pulled down a bottomless rabbit hole of trying to “fix” everything, which is futile because many of the problems can’t be fixed without a huge number of project forks.


Recent editions of MacOS look so bad that Windows might actually be better designed (if it weren't for all the windows ads and spam).

Gnome is starting to become the nicest desktop environment lol.


I've never seen the appeal of GNOME 3+, the design seems so user-hostile to anyone who has used computers for a while: hiding menus for no reason, having super limited menu options, etc.

I'd rather use LXDE, XFCE, or KDE.


It's great to have the choice but the context was pretty MacOS UIs. There the only competition is Gnome and i was arguing that it's slowly getting nicer than MacOS.

I’ve not been a fan of the Liquid Glass changes, but it’s similar enough that I’ve been able to get used to it.

Fluent on Windows doesn’t look too bad but MS hasn’t made particularly great use of it and parts of the OS still don’t use it.

GNOME/Adwaita get some things right, and other things wrong (the padding everywhere is way too thick, its crusade against menu bars is odd). It’s also so minimal that it makes macOS look maximalist, and as such isn’t my cup of tea.


Gnome is the only linux DE that tries to be consistent (probably due to more centralised decision making). I think that makes it most likely to be most user friendly over time.

The consistency is one of the things it gets right, but it’s undermined by its sheer bare-bonesness, which brings people to try to augment it with extensions, but those constantly break due to functioning by way of monkeypatching GNOME internals.

I think the idea of a “blank slate” DE that you build up with extensions is actually great, but a highly capable stable extension API is non-optional for that to actually work. I can’t have half my customizations vanishing or breaking overnight due to a system update.


Nope. Not even close.

Yeah the Mac GUI has declined.

But it’s still far better than the incoherent mess of the last 15 ways MS were totally the future mashed together in random places.

Windows has had great points. 95 era was fantastic. 2000 too, and I liked XP though third party apps went nuts.

Modern Windows is none of those. I’ll keep my somewhat messed up Mac.


I thought that MS had a good thing going on with the refinements in Aero brought by Windows 7. It nicely balanced a modern theme with a traditional desktop model and it still respected the user while bringing some massive QoL improvements.

Had Windows 8 been further refinement into the Fluent design language along with unifying lingering Win9x style panels into the Vista/7 style, it would’ve been massively popular and more beloved by users than XP or 7. Instead, Microsoft decided to forget non-touch devices entirely and saddle the desktop with an ugly theme reminiscent of Windows 1.0/2.0 in a botched attempt to make it fit in with the flat Metro touch UI bits.


They might have. I moved to the Mac during XP. I never used Windows 7.

I have used the server version that’s designed to be a bit like 8. I may have used 8 too, I can’t remember for sure. I’ve definitely used 10+.

I have a PC at work that I use from time to time, plus I remote into various Windows machines. Between those two I’ve gotten a taste of the more modern versions.


Granted I've only been using MacOS for a few years as my work machine, but am I missing something here? Is the Mac CMD+tab already not nearly identical to to windows alt+tab? Are you just referring to the switcher switching through apps vs windows?

Window previews when switching are also a nice thing when doing heavy multitasking.

There are a few things MacOS X inherited from classic MacOS that I don't think work that well in the modern world, and application-focused task switching is one of them. It made sense in the classic Mac context where many apps used floating windows for toolboxes and other non-document windows. You wanted to switch the whole application, with all of its windows, as a unit. It was also the right technical decision with classic MacOS's modest multitasking abilities.

But the world has since mostly standardised on SDI app design with tools contained within that window, and multiple windows representing different documents. In that context, the macOS app-then-window approach is more roundabout than pure window switching. You get used to it, but when you've got a lot of windows open, it's a small but ever-present drag on usability.

Alt-Tab is one of the first things I install on a new Mac. Hopefully one day Apple will give us a built-in option, much like they eventually did with window tiling and full-screen window zooming.


On Windows alt-tab moves through windows.

On Mac cmd-tab moves through applications. You need cmd-~ to move through an application’s windows.

It’s a small difference but one that really breaks muscle memory.


Why switch? Thats a huge part of the Mac. The design, UI, and UX conventions exist for a reason.

If you’re going to spend all your time fighting them you’re in for a rough spell.


Porting Windows apps that people like, helps MacBook sales, not hurt them. That certain people use their MacBook in a different way should not be a concern of other users, as at least they are using MacBooks.

It doesn’t have to be for everyone.

Lots of people use both operating systems, or stretched from one to the other.

Socrates is about choice, just because I might not see the understanding in something doesn’t mean there isn’t any understanding in it.


I use both operating systems. I hate using things that don’t follow platform standards. It makes them more confusing and causes extra cognitive load.

I simply see no benefit of a copy of very Windows-y app. It’s pure MDI with buttons in a toolbar. It’s a perfect example of a 3.1/95 style app.

It’s not like it has special features missing from the great many editors on Mac. If you want a “same everywhere” experience I’d think you’d want something that sort of lives in its own world like VSCode. It’s not native style anywhere, exactly. But it’s very powerful and popular.

In many cases I get “I want the app I like over here”. I really do. Especially if there is something really special about its design or feature set. In my experience with Notepad++, I have never wished to have it on my Mac once.


>I simply see no benefit of a copy of very Windows-y app.

That's cool, sounds like it's not for you then.

There are plenty of people who would appreciate it though.

I've been using N++ for a long time. I have tried just about every editor out there and I always end up back in N++.

It's old. It is missing a lot of the bells and whistles of newer editors, but I'm still most productive in old faithful :)


Do you see that other people might no share your view and instead find this useful?

Why do anything?

First I've heard of Nova. I have used Transmit--also made by Panic--and was impressed with the UX there. I'll have to give Nova a spin.

Notepad++ has incredibly easy to use macros with the record/play buttons in the toolbar. It is my preferred tool for quickly munging text files especially ones where you want to change formatting through the file.

Yeah this feels similar to PowerShell on Linux.

Is it possible? Sure.

Does it make sense? Not really.


script for ci pipelines beg to differ

What are the advantages of pwsh for this use case?

Note how noone clones bbedit for other oses.

Can't escape the macOS event horizon.

It's FREEEEEE!

And we’ve seen the cases of people trying to use the AIs to train new AIs!

OpenAI: We’re allowed to steal everything to train our AI and you can’t complain

Developer: Ok, I’ll use your AI to train mine

OpenAI: NO NOT LIKE THAT, UNFAIR


I’d say such things are very rare when people feel in control and have a voice in how their life goes. We didn’t see it for decades in the US.

Are they? I heard a presentation from some pro-AI people on Friday to the large company I work at. They said they surveyed people at an AI conference and 93% of people were excited about it.

This was said with a straight face like “people love puppies!”.

No self awareness at all.


Think about what the implication here is for people who answered no to that question. If I were to go up to my boss and say "I'm not interested using AI because I think it's bad for society" I would essentially be saying that I'm not interested in becoming more productive and thus making more money for the company. That's a very poor reputation to be carrying around and most people are going to avoid it. I believe that this, more than any specific actions by AI companies, has contributed to the sense of inevitability that this technology is taking over whether we want it or not.

In consulting firms and corporations you kind of have to pretend to be into it, it's just the culture.

It is hazardous to swim against that tide currently from a career perspective - people rapidly categorise you as generically anti-AI even if you try to express a reasonable nuanced view. It's pretty toxic.

Sometimes an employer will tell you what your view on AI is too, and make you sign an agreement.

Ask anyone who is a gamer what they think of AI. I guarantee you'll get a universally negative reaction because of RAMageddon.

Not just that, they go absolutely fucking ballistic if they in so much as find a single AI generated texture in a game.

See the terrible DLSS 5 fiasco.

> they surveyed people at an AI conference

You can tell that everyone loves chain buffet restaurants by going to Golden Corral and asking everybody if they are enjoying their meals


yes, the Kelvin Benjamin agent

I wonder what result you would get if you run survey about do people love dogs at dog show...

Also, looking at current market situation how many people would be willing to say to their bosses or even publicly that they think AI is quite a lot of bullshit.


Exactly.

My new favorite game at work is "guess if this person is really into AI or they just have to be because their boss is and if they weren't they would get replaced by someone who is" and it's quite hard to say.

And since the "boss" of CEOs are the investors in the stock market, and the stock market is automated to ridiculous degree, is this AI pushing for itself?


it seems to be a case of nonrepresentative sample bias

Obviously. But they’re using it as “evidence” that goes their confirmation bias.

Meanwhile I saw some survey where only something like a third of Gen Z and lower are pro-AI.

Of course the survey also said like 70%+ of them still used it.


> They said they surveyed people at an AI conference and 93% of people were excited about it.

LOL. That's like saying 93% of people who go to Star Wars conventions like Star Wars.


Oh, I love puppies! There's another data point for them.

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

Search: