11 ms·
I don't understand the obsession with 1980s terminals. They're even less powerful than the contemporary 8-bit home computers. It's perfectly OK to be a retro en
by rollcat 2y ago
I don't understand the obsession with 1980s terminals. They're even less powerful than the contemporary 8-bit home computers. It's perfectly OK to be a retro enthusiast, it's another thing to claim that this is the peak tech to power our modern CLIs, or a solid foundation for portable UIs.
From the docs:
Stop thinking in standard CSS units like px, em, rem, %
Start thinking in Character Cells for spacing, sizing, and positioning
A VT102 already has a character grid, but it needs a serial protocol to allow applications on the mainframe to talk to it. You can loop around this and use the raw mode to address individual cells.
The web browser has an insanely powerful typographic and layout engine. Now we're looping back into character cells. Something went wrong here, at least once.
That said, I like the aesthetic and the default color palette. It's quirky, but it has its places.
- onehair 2y agoI think they're just being funny, and if asked seriously they'll tell you that those words are only meant to hype up the project and not neat seriously (cells vs ems, %, px)
- pdntspa 2y agoAnd can we stop calling every stupid little hobby project "beautiful" while we're at it? The word has no meaning any more.
- big_paps 2y agoI find the usage of „i love x“ for x representing something inanimate you surely do not love far more unsettling..
- tgv 2y agoThis is getting quite off-topic, but I do love music. At least, that's how I would describe it. I just heard a fragment of something truly beautiful, and the my emotional attachment to that music is quite real (in this case, the Largo of Bach's concerto for two violins, BWV 1043; although I know someone who dismissed it as long-winding). But words tend to get nerfed, and clickbait culture certainly doesn't help. "Slams" in a headline has been reduced to "made a somewhat negative remark about," and "genius" now means "it took more than 2 seconds of thinking." Let's not discuss what "beyond excited" has become. I too would like word meanings not to shift too fast, as it helps preserve culture, especially literature, but the forces are too strong and diffuse to oppose. So "I love this web font" now just means "Don't think, just click on this link."
- rollcat 2y agoI would love to help bring elegance and beauty to the software we build, both on the inside and outside - and that's my main motivation behind criticising terminals and TUIs specifically. I have vague ideas for how I could build something ergonomic, easy, and pleasant to use, but I lack experience in this area, and the focus/energy to experiment. I'm hoping to bring this subject to the light, and have a constructive discussion. If not me, then perhaps someone else will get inspired.
- tgv 2y agoIMO, you need to be a domain expert in order to produce something ergonomic, easy to use. You (or the team you're part of) have to understand the topic and users extremely well. There's no catch-all design, not even a process that covers more than the most mundane cases. But inspiration is a fickle thing. If you're going to build something, you might as well be inspired by terminal-style interaction, but it can't be the goal.
- rollcat 2y ago> If you're going to build something, you might as well be inspired by terminal-style interaction, but it can't be the goal. 100% agree. I believe that if we do replace the terminal, the end result will not be that much different - keyboard first, power users first, APIs that are simple to consume, platform-agnostic. What would make the key differences is letting go of 50 years of accumulated technical debt, that continues to hold back the UX - aka the ergonomics and ease of use. > IMO, you need to be a domain expert [...]. You (or the team you're part of) have to understand the topic and users extremely well. "Sometimes Ordis likes to assume he knows nothing. Nobody can learn what they think they already know." <https://wiki.warframe.com/w/Ordis/Quotes https://wiki.warframe.com/w/Ordis/Quotes>
- nkrisc 2y agoWhat's interesting is nearly all words in language are on an irreversible trajectory towards abstract meaninglessness. Take your own use of the word "project" for example. Long ago, it meant "to throw or thrust" an object. Of course, today its meaning has expanded so far beyond that original meaning. That is what is happening to the word "beautiful", but the only difference is that it's happening during your lifetime, instead of long before it. You probably didn't even think about your "misuse" of the word "project" because the truth is it no longer means what it used to mean. Perhaps 500 years from now "beautiful" (or whatever it has morphed into) will simply have a meaning similar to "pleasant".
- godelski 2y agoThe obsession is because it is still the best. For all its faults, I'm still terminally terminal. The beauty of it is in the utility and how it becomes so natural. It's a language you learn that gives you so much freedom you cannot find anywhere else. I've tried many IDEs but I'll always come back to vim. It might have taken time to learn but this is true for anything else. I didn't learn a tool, I learned a language. I didn't learn to run, I learned how to move my legs. With that I could teach myself, I can walk, I can run, I can jump, I can dance, I can be anything I want to be. In VSCode I can walk, hell I might even be able to run, but there is no dance, there is no "me". That's the beauty of the terminal. It's not a one size tool for all. There is no product that can be made for everyone. Instead it's an environment for you to craft and live in. Everyone's dotfiles are as unique as they themselves are. That's the point. Because when you can't build something for everybody you give them the means to craft their own worlds. The computer didn't become so great because the chips, it was the ability to write software and build the things you need. The smartphone didn't take off because it had a big screen, it did because the app. Because you could create. Because your phone is yours and no other phone is like it. But I haven't found a browser that lets me be me. That let's me dance around the web and jump and be free. And I fear we lost sight of this thing as it became so natural, that the phone and computer are turning into things that be instead of a reflection of me
- wiseowise 2y agoGP talks about how you develop those TUIs, not TUIs themselves. Web model is objectively better than ‘’’ Stop thinking in standard CSS units like px, em, rem, % Start thinking in Character Cells for spacing, sizing, and positioning ‘’’
- freehorse 2y agoIt is a different design decision. You do not have to choose all capabilities of modern browsers when you do sth. Of course nobody would expect this to take off largely. But aesthetically speaking, I see nothing wrong in the design per se. It is clean, consistent, light and minimalist-like. Terminals just provide a minimalist style that is tested and also familiar to some. It is very easy to get around the website. Pages load fast. The main drawback I see is lack of multimedia support, obviously (even if supported they would be a bit out of style). But that's not a problem if you do not care about that. And that it is hard to place ads. Sure, "Web model is objectively better" but also depends what one considers as "web model" because a lot of modern web is just a bloated mess, which I find more annoying thaν a project like this.
- geocar 2y ago> Something went wrong here, at least once The higher-level view of data-over-time is inherently serial, and I don't think there's anything anyone can do about it: Serial is the correct/best abstraction. That being said, I acknowledge the problem you're referring to, because serial what exactly? Every time we complete the circle, it gets a little smaller, and our collective knowledge of what is actually going on improves. It should make a certain amount of sense if you look at it this way: Use a serial decoder to fill a memory bank of character cells or pixels or whatever, and share that memory bank with a video encoder, and the software guys say: well, how about I just fill up that memory bank directly. Then, you don't want character cells but triangles, and you find you're just DMA'ing in that shared buffer and working around the timing of another process reading it and your ring-based memory buffer has turned back into a serial protocol before you know it. I think the main problem is that programming languages are terrible at serial, so programmers keep trying to work around it, and then convert to/from serial at the edges. > it's another thing to claim that this is the peak tech to power our modern CLIs, or a solid foundation for portable UIs. I can't explain all of it, but terminal UI remain without match: Even today (2025) I use a terminal because there's no better human-computer interface for doing intellectual work. A picture of a terminal, is not a terminal, so I understand why stuff like this confuses.
- pjmlp 2y agoYes there is, it is called a REPL, Xerox PARC has plenty of examples across all their workstation variants, followed by Oberon, and some of that work even inspired Plan 9 and Inferno UI and related developers editor, ACME.
- geocar 2y agoI don't understand exactly what you are trying to say. I think a REPL is the real-eval-print-loop used by lisp systems to talk to a terminal, or something that looks/works like that (but maybe doesn't use lisp). These days I think lots of things have REPLs. Even Python. The only ones to survive 40 years though, have been serial ones, and I don't think that's an accident. That command box/area that the user uses and re-uses in Oberon and Acme is something else and specifically worse than a REPL because you can't script it: There's no GNU expect for rio, and no DESQview-learn for Oberon and their command language just isn't good enough. This interface has not proven particularly efficient for users either, but terminals are still around. Emacs is what I'd consider "peak terminal", and it has a REPL and an excellent command language. You can also script Emacs with emacs, by literally running emacs in an emacs terminal.
- troupo 2y agoThe obsession is with information-dense quick-to-use low-latency interfaces that are nearly impossible to replicate with most modern tools [1] Whether libraries like this one manage to replicate the experience is a whole other question. [1] Just look at what modern tools FilePilot and RAD Debugger can do with their UIs and compare that to nearly every single one of modern apps.
- deleted 2y ago[deleted]
- pjmlp 2y agoMe neither, Turbo Vision was cool, Clipper kind of ok for data entry applications, and curses, well it was the way of UNIXes before X Windows became affordable. Apparently that is some kind of retrocomputing movement. The strange part is that most folks pushing for TUIs weren't even born and don't get the pain we went through. We used TUIs because that is all we could afford, not because we were given an option.
- hdjjhhvvhga 2y agoIt's all true but they have one advantage over everything from the last two decades or so: latency. Obviously it's double lost if you try to reconstruct just the aesthetics.
- sgt 2y agoOccasionally when you see someone using a point of sale terminal that is terminal based, the operator usually flies through the interface like it's nothing. So there's something to be said about those types of interfaces - it may look simple and be text based, but it's the most user friendly for the qualified operator to get things done.
- pjmlp 2y agoI see the same on any graphical one on the supermarkets and restaurants. Maybe it is a matter to actually design for the customers use case.
- __float 2y agoModern GUI apps tend not to design for the keyboard-wielding power user. TUIs can have just as many quirks and bugs, but on the whole they tend to be a little simpler, and the author usually is an end-user :-)
- pjmlp 2y agoSomeone is responsible for developing them.
- rollcat 2y agoExactly. POS terminals are optimised for throughput. Otherwise it's literally less sales, your bottom line. You can build a perfectly snappy, keyboard-driven GUI application; a terminal emulator is (ironically) the perfect example.
- graypegg 2y agoAnother example of this sort of interface is office phones. When someone knows their phone well, they can speed through a hold, page to another desk, then transer to them, without even looking at the keypad. I have a feeling that sort of "trainable speed" is a feature of interfaces that treat the thing they manage like a physicial "thing" you're rolling thru a process. (instead of a feature of textmode interfaces) Rather than having to get to a menu for outside lines in some abstract window, there's just actual physicial buttons to mash. You get this feeling that you're juggling a call between your fingers because every press you do is doing a "thing", not just opening a menu. There's real physicality to that process that my monkey brain can learn no problem. I don't have any experience operating a terminal based PoS, but from what I know, they tend to also have the same sort of "juggling" actions, like SALE, DISCOUNT, VOID etc. I have to imagine using them feels like juggling the current item you're looking at thru a few different buttons.
- suobset 2y agoPersonally I felt this as a retro hobbyist project. I don't see it being used for serious matters, but I'd snag something like this up for my personal website any day!!
- EasyMark 2y agoIt would make a lovely homepage, expecially for retro computing sites, archives of 60s-90s, etc. I'm not sure why people get angry when developers go outside the box and make something nifty. I have been using the star trek console looking theme for my pihole for years and still love the aesthetic.
- SkyMarshal 2y agoThere are folks from that era (the 90s and earlier) who learned and mastered TUIs and are very productive with them. Like a pro Wall St analyst operating Microsoft Excel with no mouse, you can fly through them if all the keyboard commands are in muscle memory. Mouse interfaces are more intuitive and easy, but less efficient.
- nsonha 2y agoI like terminal aesthetic, and I think the modeen equivalent of it is high constrast UI, plus minimalistic elements. Forcing character cells onto the web is dumb.
- wruza 2y agoBecause it's how normal people think. This under that. This after that, left-aligned with that. Text modes are the most basic tech supporting it. Css uses boxing with no sugar (like size groups or custom allocation). Boxing is this in that in that in that, sometimes stretched. And now when you want A and B in different boxes to align well, you're screwed, cause it creates an invisible fragile tree of braces that hold everything in place. Maybe they would use a much more natural constraints-based language instead of text modes. Like, literally, "this under that, and these five left- and width-aligned". But web is reluctant to add it, because when not used carefully it could slow down first interactive renders by 0.01% out of average 10s (that is, assuming the same moronic site structure for some reason and the code that renders it).
- safety1st 2y agoMy take is that the greatest unsolved UX challenge of our time is the way that every company has sought to acquire more of our attention and introduced limitless distractions as a result. The terminal is comparatively distraction free. So the nostalgia for it is not a surprise, and the decision to spend more time in terminal-esque interfaces can be rational. Often some marketing department wants to splash fonts, layouts and colors everywhere; but I just want to read some text.