top | item 45823234

Ask HN: My family business runs on a 1993-era text-based-UI (TUI). Anybody else?

320 points| urnicus | 3 months ago

Is anybody still using TUI applications for business?

My family company is a wholesale distribution firm (with lightweight manufacturing) and has been using the same TUI application (on prem unix box) since 1993. We use it for customer management, ordering, invoicing, kit management/build tickets, financials - everything. We've transitioned from green screen terminals to modern emulators, but the core system remains. I spent many summers running serial and ethernet cables.

I left the business years ago to become a full time software engineer, but I got my start as a script kiddie writing automations for this system with Microsoft Access, VBA, and SendKeys to automate data entry. Amazingly, they still have a Windows XP machine running many of those tasks I wrote back in 2004! It's brittle, but cumulatively has probably saved years of time. That XP machine could survive a nuclear winter lol.

I recently stepped back in to help my parents and spent a day converting many of those old scripts to a more modern system (with actual error-handling instead of strategic sleep()s and prayers) using Python and telnetlib3. I had a blast and still love this application. I can fly around in it. Training new people was always a pain, but for those that got it—they had super powers.

This got me thinking: Are other companies still using this type of interface to drive their core operations? I’m reflecting on whether the only reason my family's business still uses this system is because of the efficiency hacks I put in place 20+ years ago. Without them, would they have been forced to switch to a modern cloud/GUI system? I’m not sure if I’m blinded by nostalgia or if this application is truly as wonderful as I remember it.

I’d love to hear if and how these are still being utilized in the real world.

P.S. The system we use was originally sold by ADP and has had different names (D2K, Prophet21). I believe Epicor owns it now (Activant before).

P.P.S. Is anybody migrating their old TUI automation scripts to a more modern framework or creating new ones? I’m super curious to compare notes and see what other people are doing.

309 comments

order

estimator7292|3 months ago

Many (most?) older retail businesses still use TUIs. They're reliable, consistent, and orders of magnitude faster than GUI systems.

When I worked ar Sherwin Williams, I got good enough with the TUI that customers could rattle off their orders while I punch it into the computer in real time.

It's absolutely crazy that a well designed TUI is so much faster. It turns out that if you never change the UI and every menu item always has the same hotkey, navigating the software becomes muscle memory and your speed is only limited by how fast you can physically push the buttons.

The program had many menu options added and removed over the decades, but the crucial part is that the hotkeys and menu indexes never, ever changed. Once you learn that you can pop into a quick order menu with this specific sequence of five keys, you just automatically open the right menu the moment a customer walks up. No thought, just pure reflex.

UX absolutely peaked with TUIs several decades ago. No graphical interface I've ever seen comes even close to the raw utility and speed of these finely tuned TUIs. There is a very, very good reason that the oldest and wealthiest retail businesses still use this ancient software. It works, and it's staggeringly effective, and any conceivable replacement will only be worse. There simply is no effective way to improve it.

Edit: I will say that these systems take time and effort to learn. You have to commit these UI paths to memory, which isn't too hard, but in order to be maximally effective, you also have to memorize a lot of product metadata. But the key is that it really doesn't take longer than your ordinary training period to become minimally effective. After that, you just pick up the muscle memory as you go. It's pretty analogous to learning touch typing without trying. Your hands just learn where the keys are and after enough time your brain translates words into keystrokes without active thought.

It's a beautiful way to design maximally effective software. We've really lost something very important with the shift to GUI and the shunning of text mode.

radley|3 months ago

> UX absolutely peaked with TUIs several decades ago.

I'm going to push back a little on that. For several years, MacOS followed a strong UX convention with consistent keyboard shortcuts, menus, layout order, and more. Similarly, Microsoft started with the same, but with everything reversed. At the time, most major cross-platform apps followed these conventions.

Two periods broke these rules: the expansion of web apps and Apple's pivot towards the consolidation of everything into iOS.

First was the dawn of web apps. Faced with two opposing standards, web apps didn't know which model to follow. Business sites stuck with MS standards, while design-centric sites followed Mac standards. As those broke consistency, cross-platform apps gave up and defined their own standards.

Mobile platforms tried to establish new standards. iOS was mostly successful, but started slipping around iOS 7. Material Design was supposed to standardize Android, but Google used it for all Google products, making it more of a standard for the Google brand than Android.

The second started around WWDC 2019. At that point, Apple deprioritized UX standards to focus on architecture updates. The following year, Catalyst was literally a UX catalyst, introducing two competing UX standards for MacOS. From that point forward, Apple really hasn't had a singular UX standard to follow anymore, but they seem to be marching towards iOS standards for all devices.

andrehacker|3 months ago

When we built systems in the early 90's (non web GUI), typical requirements were that login/startup would at most take a few seconds and any user action would have to be satisfied with sub second response time. I often think about that when I am waiting for the third SSO redirection to complete or the web page to complete its 200 web requests after a single click. We gained a lot but efficiency seems to have taken a backseat in many cases.

thesuitonym|3 months ago

> I will say that these systems take time and effort to learn. You have to commit these UI paths to memory, which isn't too hard, but in order to be maximally effective, you also have to memorize a lot of product metadata.

One thing that often gets lost in the discussion of TUIs vs GUIs is that this is also true of GUIs. You have to know which icon to click, and it's not always in the same place, and not always labeled. Increasingly, functionality is hidden behind a hamburger menu, and not laid out in logical sections like File, Edit, View, etc menus.

ilaksh|3 months ago

You're right to point out the speed, but it is just not true that GUIs can't be fast. You can have screens that load quickly and shortcut keys etc.

You just have to make fast navigation and data entry a high priority. The assumptions and approaches people make today mean that generally isn't the case. With a TUI there is a hard limit on the amount of data you can load and that helps as a starting point.

- Often it's hitting a server is that is far away rather in the same building.

  - you can put the web server in the same building
- Each page is very heavy with lots of JavaScript etc. loading

  - you can build lightweight web pages if you priority small script size, minimal dependencies,
    and do profiling to keep things in check
- Data loading delays rendering

  - limit the amount of data loaded and displayed at one time
- Data is slow to load

  - an older system has limited capacity meaning it's not an option to keep inactive data around
  - this means data is more likely to be indexed
  - new systems have very large storage capacities, leading to a larger and larger growing db
  - eventually default configuration for the database does not allow for everything active to be indexed
  - solution is to keep inactive data out of active tables being queried for normal operations
- Slow to navigate with mouse

  - you can create a keyboard navigation system
  - you can build keyboard shortcuts into every screen
  - you can create autocomplete shortcut commands to jump to screens

PunchyHamster|3 months ago

There is nothing stopping someone from designing GUI stemming from same rules. It just won't "look pretty" and be easy to sell to the suits.

There is also trend with "modern" UI/UX to focus near entirety of effort on user's first few minutes and first few hours with a software, while near zero thought is being put on users having to use given piece of software for hours at end, day in, day out

Scoundreller|3 months ago

> It turns out that if you never change the UI and every menu item always has the same hotkey, navigating the software becomes muscle memory and your speed is only limited by how fast you can physically push the buttons.

Oh, I’ve been a new hire at places like this.

The day1 stuff in the system will be logically or coherently placed (e.g. alphabetically) and then the rest will be incrementally added on top.

The menu options will go like this:

1. Alpha

2. Bravo

3. Charlie

4. Turbo-Bravo

5. Charlie-Undo

6. AAAlpha

Great for day1 users that are still there and started with just 3 options but new users are screwed. The arrangement started to stop making sense circa 1995.

I’ve seen the same thing where parts shelves were sorted by manufacturer (to make re-ordering by manufacturer simple).

When they moved to automatic inventory, shelves didn’t matter anymore and if a part was made by manu1 but now manu2, they’d keep putting it with manu1 because “that’s where everyone’s gone to look for it for the part 20 years”.

All you had to know was who made that part in 2003 when auto-inventory stopped forcing them to be consistent by manufacturer to know which shelf to pick from. Easy!

New hires get screwed and over time nothing makes sense anymore.

urnicus|3 months ago

I remember training a new hire on her first day and, about an hour in, she said she needed a coffee break. I never saw her again lol.

Typically the first two weeks of training revolved around new hires asking why in the world we used this system before their spirits broke and they reluctantly plunged into the deep end...kind of like being released into the matrix.

egypturnash|3 months ago

> We've really lost something very important with the shift to GUI and the shunning of text mode.

GUIs can have keyboard shortcuts too. I'm an artist and I work two-handed: right hand moves the stylus around the screen, left hand floats around the keyboard and changes tools, summons control panels, etc. Whenever I try a different program than the one I'm used to, and have to poke at icons with my right hand because I don't know its shortcuts, I feel like half my brain's idling.

fakedang|3 months ago

> It's absolutely crazy that a well designed TUI is so much faster. It turns out that if you never change the UI and every menu item always has the same hotkey, navigating the software becomes muscle memory and your speed is only limited by how fast you can physically push the buttons.

Bloomberg Terminal basically. And then because of muscle memory, it's so hard for users to get used to another system. And then they push it onto their juniors. And then you get to charge companies $250 per head to train juniors on how to use the system, with all of its textbased commands.

patmcc|3 months ago

I worked at a big-box retailer before figuring out a career. They had an old-school TUI that was incredibly fast and well designed. Function keys to do all kinds of lookups and adjustments, advanced menus when you needed them, overall just a well designed system. People took a week or so to get the hang of it but then the skill ceiling was insane, people could get fast.

A few months before I left they switched to a "modern" GUI. It was shockingly bad. The speed of every transaction lowered. Even with optimal use it just took longer. So much time wasted.

mrighele|3 months ago

> Many (most?) older retail businesses still use TUIs. They're reliable, consistent, and orders of magnitude faster than GUI systems.

What is sad is that is doesn't have to be that way. But you describe is not an intrisic characteristic of a TUI, but of using keyboard instead of a mouse. You can write a webapp that performs in the same way (modulo the resources needed of course), but it takes extra time and once it works with a mouse there little reasons to put more work for keyboard user (it is not a selling point in most cases).

The main advantage of a TUI is that it forces to write the UI in a certain way, so you get the result automatically.

toast0|3 months ago

> Once you learn that you can pop into a quick order menu with this specific sequence of five keys, you just automatically open the right menu the moment a customer walks up. No thought, just pure reflex.

This works because you can 'buffer inputs' as the gaming crowd says. You can hit the keys and the computer reads them one at a time and does what you asked at its pace. Often these kinds of systems do run faster than the input, but when they don't, it still works.

It's hard to do that with a GUI, you usually can't click (or tap) the button before it shows up and expect it to work... and when it does work like that, it's often undesirable.

burningChrome|3 months ago

Similar story.

I worked for a medium sized company who did work with Toro. We supplied many of their lubricants and they had TUI they still used on one of their machines to enter the orders from our company. It was the last of their legacy products, but worked incredibly well. We had very little issues ever with the system. Our Oracle ERP Net Suite? Had three people dedicated to making sure it ran smoothly. I still remember some of the guys I used to talk to at Toro were "lifers" who were always talking about how easier things were before all the SAAS and ERP software came on the scene.

The stories they had were pretty entertaining.

perlgeek|3 months ago

I agree with basically everything you've said, but I'd add that I sometimes wish we had a way to sometimes pop up a GUI for very specific tasks.

For example, enabling a fast multi-select of rows in a longish table (or even worse, a tree) is one of the tasks that TUIs don't really excel at. Popping up a PDF or image viewer would also be great.

The TUI I'm working with runs on a pair of Linux VMs, and is accessed from Windows, Linux and Mac, so asking all our users to enable X forwarding doesn't really work.

kotaKat|3 months ago

When Lowes made the shift off their in-house TUI point-of-sale to a GUI I heard a lot of fallout from the hardcore TUI users losing their keyboard menuing. Stores and people would build their own “cheat sheets” to fly around the system and it became almost a second language to get to know the TUI.

Knowing that 1.5.6 sends you to scheduling a pickup, or 11.1 to get into the credit card application, versus hunting through graphical hell with a mouse and a touchscreen.

wilsonnb3|3 months ago

This is about keyboard navigation rather than TUI vs GUI, there is no reason you have to render your app with plain text to support efficient keyboard nav.

trbleclef|3 months ago

Just the fact that you can use the keyboard is brilliant. I teach high school and most of my computing tasks are in lowest-bidder web GUI messes (lousy UX, no hotkeys) and take so much longer than a keyboard interface would. Even taking roll takes a minute or two longer than it used to.

1vuio0pswjnm7|3 months ago

"We've really lost something very important with the shift to GUI and the shunning of text mode."

I use text-mode every day

Cannot speak for others but I lost nothing. On the contrary I gained faster hardware and faster network

titzer|3 months ago

This times 1000x. I dream of an alternate path we could have taken where TUI and keyboard input was the default and all the fancy GUI stuff was put to good use where it's needed. In retrospect it's ludicrous that we have to use a pixel-perfect pointing device to amble slowly over to whereever the designers put their menus/toolbars/icons, context menus. Select from a list? I have like 50 keys that could do the job!

tarsinge|3 months ago

Maybe because there are other usages than business data entry and programming? I don’t think I’d be more productive when say editing pictures/movies or producing music with a text interface. Maybe it’s because I grew up with classic Mac OS but computers were not only about productivity, they were a place, and UX peaked with Spatial Finder. Nowadays I spend my working days mostly in text mode and I feel like I’ve lost something.

miki123211|3 months ago

Times have changed. Priorities have changed.

In the heyday of TUIs, job attrition was much lower. It made sense to create a tool that was extremely hard to use, but also extremely efficient once learned.

In the modern days, attrition is much higher, especially in retail. You need to focus on discoverability and simplifying training as much as possible. Efficiency is secondary at best.

arichard123|3 months ago

I remember using a TUI for a Bank in the UK, and them switching to a web-based javascript system. Because the TUI forced keyboard interaction everyone was quick, and we could all fly through the screens finding what we wanted. One benefit was each screen was a fixed size and there was no scroll, so when you pressed the right incantation the answer you wanted appeared in the same portion of the screen every time. You didn't have to hunt for the right place to look. You pressed the keys, which were buffered, looked to the appropriate part of the screen and more often than not the information you required appeared as you looked.

Moving to a web based system meant we all had to use mice and spend our days moving them to the correct button on the page all the time. It added hours and hours to the processing.

Bring back the TUI!

bdavisx|3 months ago

A GUI can be as effective as a TUI if it's designed to be 100% usable from a keyboard - the problem is very few applications take the time to do that design.

thwarted|3 months ago

Acquiring the skill to fly through such interfaces is equivalent to learning to play a musical instrument, where the desired attention (taking cues) and action (body/finger movement) becomes second nature. Such skill and interfaces are, unfortunately, not viewed as similarly valued as playing a musical instrument, and such visual presentation of the TUI is thought to be "difficult" to use, and they do take learning and effort to achieve that level of mastery. Meanwhile, the interface to traditional musical instruments, while there's been some changes and improvements, have stood the test of time and remain attractive to a lot people who want to make music. Many of the claimed "improvements" that GUI interfaces have over TUIs look in some cases, to me, like busy box toys created for toddlers (this is how I feel about the Windows Ribbon menu widgets). Once something becomes second nature, it's not "I'm putting my fingers in this position" it is "I want to play an A after this series of other notes".

andix|3 months ago

Sounds like the UX designers for the new applications didn't understand the requirements. I worked on two web app projects that required to be usable fast and with keyboards only. It's not that hard, if you define the requirements right.

Also no scrolling was a requirement. This was done by defining a min and max screen resolution, and designing everything exactly for that. The app was supposed to be used exclusively full screen, so no need for responsive design.

The result was a bit like a video game, very few loading delays and instant responses to user input.

conductr|3 months ago

I was making this argument in early 2000s, how the "upgrade" would kill efficiency - and it largely did for data entry. I did this swap in medical industry and finance industry and it landed on deaf ears all the time in the name of modernization. Actually, feels like I'm reliving it right now with AI.

fluoridation|3 months ago

Devil's advocate: There is one thing GUIs do better than TUIs: international text. Try to present on the same terminal screen text in Arabic and Japanese.

BryanA|3 months ago

I experienced the same thing. The big Brokerage firm I worked for in the 90s had amazing TUIs. You could fly through the screens. They even had DMs and group chats. Pretty amazing. The next company I worked for was rolling-out a GUI replacement for their TUI interface and I watched people's productivity plummet as they went from keyboard, to mouse for every text box... Those old mainframe TUIs were amazing, probably the result of decades of time and motion studies.

gadders|3 months ago

I remember seeing how past people were in 1-2-3 for DOS using the / menu back in the 90's.

HPsquared|3 months ago

TUIs have a high speed ceiling when muscle memory comes into play.

abdullahkhalids|3 months ago

No, but I learned yesterday that a carpenter and renovation person I know uses a GUI software from 1996 called "FloorPlan Plus 3D 3.01" [1] to design furniture before he builds it. He has a dusty old laptop running Windows XP on which the only thing that works is this software and the connection to the printer.

He showed me his workflow in detail. It's a beautiful software that does everything he needs.

And notice it's only 3.8 MB - smaller than many SaaS software webpages that offer lesser functionality.

[1] https://vetusware.com/download/FloorPlan%20Plus%203D%203.01/...

andix|3 months ago

I've also helped running an old Windows 3.1 accounting software. It runs perfectly fine on Windows XP inside a VM.

In 2020 it suddenly came to a halt, because the date pickers just couldn't go further than 2019. Nobody seemed to care in 1992 when it was released.

It was really easy to de-compile the Visual Basic 3 software (perfectly legal where I live). My first idea was to get the source cleaned up a bit and compile it again to 32 bit with Visual Basic 4, but I couldn't figure it out, it required some 3rd party libraries that I just couldn't get a hold of.

In the end I just changed the number 2019 in the binary to 2059 in a hex editor, and it just worked. There was only one occurrence of the number 2019 in the whole binary. I guess I got really lucky.

Edit: It seems like Windows and Visual Basic are not affected by the Unix 2038 problem at all. 16 bit Windows seems to be fine until the year 2107.

urnicus|3 months ago

I wonder if there is a reddit thread with people showing off their surviving Windows XP setups. Mine is a dell tower laying on its side because I harvested a power supply unit from another dell, but it doesn't fit in the case.

OJFord|3 months ago

Loads of woodworking is done on SketchUp version whatever that's pre-cloud licensing, dating from 2008 I believe. (Cloud aversion, if you will.)

Picasa & Earth era desktop Google software.

jamal-kumar|3 months ago

Yeah I actually help out a friend's family business a lot and we recently had to fix the program for something. It's a foxpro application rewritten in '89 from an original dBase port from earlier in the 80s. I legit had to bust out radare2 and hexdump(analysis)/hex fiend(editing) in order to get the changes done because the original programmer passed away (RIP). Was quite the learning experience but I'm glad that things were simple enough back then to make it something like an easy introduction into the world of reverse engineering for money.

I've seen even older in use. There's an auto parts store in the capital city of Costa Rica which was still running dBase III for its inventory system on a green phosphor screen IBM PC. Not sure if that store is around post-pandemic but it certainly was running around 4 or 5 years ago. Wish I got a video but it's in a particularly sketchy area that I don't really have any reason to return to.

Also, if anyone else ever has to dump an old database to CSV or whatever, I found perl to be the best tool for the job as it handles old encodings just fine. You can go from ancient database to spreadsheet really easy this way. Here's the ticket:

https://www.burtonsys.com/download/dbf2csv.php

H1Supreme|3 months ago

> https://www.burtonsys.com/download/dbf2csv.php

Man, this would have came in handy when I was trying to extract data from .dbf files. Ended up writing something in Go while referencing the dBase IV spec. Lots of trial and error as I recall.

urnicus|3 months ago

What a lucky friend - you're a superhero.

perlgeek|3 months ago

Yes, we still have a TUI to our core CMDB and billing. With 500+ employees, not everybody is happy with it, so we also built an API and a web app to access and manipulate the most central data.

But, we also have some power users who absolutely swear by it, and we offer some power user features for them :-)

* full readline integration, so there's a command history, Ctrl-R reverse search in the command history etc.

* tab completion for many prompts

* a generic system where outputs can be redirected to a pager, a physical printer, "wc" (word count), into a file etc.

* tabular data also has an alternative CSV representation

* generic fast-jump into menus. This works by supplying commands on the command line, and transitioning to interactive mode when the command list has run out

This is all built in-house; the first git commit is from 1997 but that was "import from CVS" and already 20k LoC, so the actual origins go back further.

It's written in Perl with no framework, just libraries.

wilsonnb3|3 months ago

I think you are about a decade off on your first git commit, unless you meant they went cvs -> svn or something and then ended up on git later.

OhMeadhbh|3 months ago

This whole thread reminds me of when I saw my first Windows-based ticket dispensing machine at a movie theater. Early in the year there was a screening of the Star Wars trilogy at the Cinema at the North Park Mall in Dallas. Every geek for miles beat a path to the theater. When I got there the line was moving along reasonably quickly and was maybe 20 people deep. No problem. You get to the front of the line, hand over a $10 for two $5 tickets and the cashier pressed the "dispense ticket" button twice. Two tickets came out immediately and you were on your way.

Later that same year Jurassic Park premiered at the same location. Again, every geek for miles around beat a path to the theater. But this time when I arrived, the line was hundreds of people deep and it took about 45 minutes to get to the head of the line (good thing we got there early.) When I got up to the cashier I found they had a new Windows-3.1 based ticket dispensing system. You said how many tickets you wanted and the cashier moved the mouse over a text field, took their hands off the mouse to type "1" or "2" or whatever. If you bought a child's ticket or a senior ticket, that went in a different form field. Then the cashier put their hands back on the mouse, scrolled down and hit the "calculate" button. It told them how much cash to take. They took their hands off the keyboard to collect the cash and then pressed the "dispense tickets" button. Thankfully, the system seemed to actually dispense tickets without crashing. (Windows 3.x had a very bad reliability reputation.)

What had taken 10-15 seconds with the "old school" interface now took about a minute.

Never let anyone tell you "the new system" is better just because it is new.

[[ Also, about this time I remembered Jef Raskin going on about keyboard interfaces, but this was long before the publication of The Humane Interface. And I know we're using the initialism "TUI" in this thread to mean "Text UI", but some people use it to mean "Tactile UI." No one ever got fired for recommending a React Single Page App optimized to quickly swap pages on the current model iPhone. Whether or not that's the best interface for the application is irrelevant. ]]

privong|3 months ago

An interesting theme here in the comments (that I am sympathetic to) is "TUIs have steep learning curves but are fast/efficient for people with proficiency". I wonder if a small part of the modern preference for GUIs is related to a lack of employee retention. If companies aren't necessarily interested in working hard to keep employees then training new hires needs to be faster/easier and that could work against TUI and keyboard-based tools.

Of course, if that's a factor I'm guessing it's a small one in comparison to expectations about what "modern" software should look like.

avidiax|3 months ago

It's also quite common that the customer is now the one that drives the interface.

It's the customer's time wasted by the UI, but also the customer typically can't be expected to perform enough orders to actually learn a complicated interface.

TUIs persist in industries where there is specialized knowledge needed to even complete the order. For example, an optometrist's office.

flomo|3 months ago

What I heard from one large chain is they couldn't train warehouse employees on the green screen (3270) inventory app, its too different for them. They just wouldn't do it or would quit.

cogman10|3 months ago

I don't think it's an either/or situation.

An application I worked on was a GUI but (at the user's request) we loaded that thing up with hotkeys like no other.

Watching experienced employees operate a gui I worked on was a fascinating experience. They were so fucking fast!

I think the problem is that GUI authors often put hotkeys in as an afterthought.

urnicus|3 months ago

This is a definite reality and headache. The learning curve was steep and I literally had somebody walk out after training them for less than two hours.

mrngm|3 months ago

Most, if not all, Asian take-out / restaurants in NL still use a TUI for registering your order. Several motorcyle retailers in NL use a TUI for parts management, invoicing, repair tracking. In both cases, people operating these systems develop muscle memory for their everyday usage. I'm not sure if it's still in use, but for at least a decade since 2005 or so, the local university's student canteen used an in-house developed TUI for selling snacks and drinks.

And if you stretch the definition of TUI a bit, the Bloomberg terminal is a fascinating example.

angiolillo|3 months ago

> if you stretch the definition of TUI a bit, the Bloomberg terminal is a fascinating example

The Bloomberg Terminal uses several different UI methodologies depending on use case -- many functions (applications) are absolutely TUIs whereas Launchpad is more mouse-driven.

> In both cases, people operating these systems develop muscle memory for their everyday usage.

I worked as a UX designer at Bloomberg and when we had to modify existing functions we were careful to maintain shortcuts and keyboard navigation. In a couple cases we even ended up re-implementing UI bugs that one or more users had grown accustomed to. I've never worked anywhere quite so committed to backward UI compatibility, but that came at the expense of a steep learning curve.

cogman10|3 months ago

I think the Bloomberg terminal counts as a TUI. It's also probably the most complex and heavily used TUI in existence.

LTL_FTC|3 months ago

I worked as a sales consultant for AT&T wireless, back during the smartphone boom, at their retail stores. During onboarding everyone was taught how to use the GUI for everything (OPUS, I believe it was called): creating accounts, upgrading accounts, etc. But I noticed a few of the senior reps lived in the TUI (Telegence) and wondered why. When asked they claimed they were just used to it, but I quickly learned how much faster it was by observing them. They were able to process customers so much more quickly, a comparative advantage in commissioned-based sales.

My buddy and I requested access and learned how to use it. Not only did it streamline our process, it allowed us to do everything, where the GUI often omitted certain tasks forcing us reps to call customer service (for example, providing customers with credits after fixing their accounts).

So we lived with both the GUI up for when management walked by and relied on the TUI when we needed/wanted to work quickly.

I bet the system hasn't changed a bit. But I still live in the terminal quite a bit these days.

_pob|3 months ago

My grandfather purchased a niche customer management DOS application in 1986 or so and used that Software up until the day he died in 2012.

When he was finally forced to upgrade to a computer without a parallel port, he was a bit stuck for a bit because the software would only print to a printer connected via parallel port. I couldn’t find a card for this at the time, for whatever reason, but I eventually was able to trick the software into printing to a modern printer and I had never seen him more happy since it saved him the $3000 software upgrade fee.

Miss you, Grandpa!

jm4|3 months ago

I don't think you're blinded by nostalgia. In the early 2000's, I worked in an organization that was migrating away from TUI to web apps. I was one of the web guys back then. We got modern, more maintainable code at the expense of usability. Those TUI interfaces are way faster.

The web failed to live up to the early promises in a lot of ways. We have complicated frameworks, complex architectures, browser headaches, etc. and what we got out of it are user interfaces that are slower than what we replaced and entire categories of bugs that didn't exist before. There's so much extra bullshit in place to overcome the fact that we are using a stateless protocol designed to deliver text documents.

The only things I would really be concerned about with your family company's app are maintainability, availability of security updates, and the use of obsolete software like XP. It sounds like you're already modernizing the code. That old OS is a disaster waiting to happen though.

I like the idea of an internal enterprise app running in the terminal on a reliable FreeBSD or Linux machine. The people who have to live in that app will be faster with a keyboard-driven workflow. A web front end is for customers and situations where you prioritize looks and accessibility over speed and usability. If you implement the the business rules in a modern middle tier and have a good database backing it, you can have the best of both - TUI for internal users and slap on a web front end for external users.

CodeWriter23|3 months ago

Costco. Go to a supervisor in a red vest and ask what other Costco has the item that has stocked out and you'll see. No idea what the backend is but the app they use is a terminal emulator that looks straight out of the late 80's.

RaftPeople|3 months ago

It's a network of high end as400's, the software is custom.

They've burned multiple 100's of millions of dollars on multiple projects trying to re-develop and move off as400's, but they just pulled the plug on their most recent project a year or two ago.

The biggest issue with adoption on new system (based on insiders I've talked to) is that the existing system is very efficient for people knowledgeable about how to use it and the newer GUI based systems just don't match it.

hyperpl|3 months ago

Looks like an AS/400

Aloha|3 months ago

AS400 in their case

kitrose|3 months ago

AS400 I think

bri3d|3 months ago

I worked with a steel warehouse about 10 years ago who were using software written in a Data General Business BASIC offshoot dialect, which ran on a proprietary Windows runtime that was essentially emulating the original minicomputer which ran the software when it was originally written in the late 1970s. Thankfully, the emulator at least ran on Windows so we were able to move it to a hosted environment with backups and away from a random tower in a metal warehouse, which is no place for a computer.

We were also tasked with adding new process automation and tooling. Instead of rewriting the system, we reverse engineered the database format and wrote additional tools and utilities around the core tooling, using more modern frameworks. I think this was the right choice and everyone was happy: they didn't have to relearn years of muscle-memory and business process built around the BASIC system, but we could iterate in a modern programming environment.

It wouldn't be surprising if the system was still in use, there was nothing wrong with it and it worked great.

tonyarkles|3 months ago

I don't know if they're still using it but around 2010 or so a client from the early 2000s got in touch because the UPS they were using for their SCO Unix + serial terminals server had failed and they wanted to replace it. I was amazed that they were still using it. I was even more amazed that the APC UPS they were going to replace the old one with... had a new version of the SCO UPS Monitoring application that they used to automatically do a clean shut down of the server if the power was out too long. Got them all set up and everything kept humming along.

iveqy|3 months ago

I built my own ERP system for handling my business. It's also an TUI and has been here on Hacker News a few times.

About training new staff, there's actually studies done on it: https://pmc.ncbi.nlm.nih.gov/articles/PMC2655855/

My 2 cents is that GUI is good for exploring new software, while TUI is wonderful if you already have a mental map of what you're doing. So for everyday used software I would definitely hope that more TUI's where used.

actionfromafar|3 months ago

I made a simple biz app for a friend, with dotnet C# but as a TUI. Seemed the easiest to teach.

myth2018|3 months ago

What a coincidence, I've just read this paper while I prepare my proposal for a PhD. I feel that the difficulties reported by the novice users were related to the peculiarities of the mainframe interfaces + the 3270 emulator. Not exactly to the fact that they were using a TUI.

jazzyjackson|3 months ago

Are you taking on new customers? I know a few folks hungry for old fashioned, on premises accounting and task tracking now that Intuit is pushing everyone to cloud subscriptions.

Ideally it would be a perpetual license so we can never have the rug pulled on business critical data, but I like the "x years of updates and support" model

You can contact me at my username + gmail if you wouldn't mind discussing further

urnicus|3 months ago

Super interesting study. Training new staff was always the most challenging aspect of the software.

gwking|3 months ago

My first programming "job" was a sort of summer internship when I was 14 for a family owned company called Signature Systems (signature.net). They are still in business. Their product is an operating system called Comet, that if I'm not mistaken was originally a compatibility play bringing software from the previous era of 16 bit microcomputers onto DOS PCs, and then later into Windows. I may be misremembering some of the details but I think at one point a Comet system ran ticket sales at Madison Square Gardens. My summer project was to build a demo using their new support for Windows GUI elements. The last time I spoke with the owners, they told me that they still had customers, including in the textiles industry where loom patterns had been coded in Basic. I often think about it as an example of a legacy system, and smile at the idea of someone thinking they need to rewrite their plaid weave in TypeScript or Rust.

Separately, I have spent the last three years building a web app that replaced a heap of automation scripts for a ~50 person business. These were much more modern than what the OP describes but it had some of the same qualities. The scripts mostly generated google sheets and emails. The replacement is a python web app using SQLite. Moving the company data into a proper database has been a very significant step for them. In some ways, the project feels a lot like custom business software that got built in the 90s.

mrighele|3 months ago

Not 100% related, but there are a few of business around that still use home computers from the 80's.

some examples:

A bakery in Indiana is still using the 40-year-old Commodore 64 as a cash register | A 1 MHz CPU and 64KB of RAM are enough [1]

A an Atari 1040ST still in use for the a campsite's operations [2]

Commodore 64 Still Powering Auto Repair Shop in Poland [3]

A Japanese kimono factory that still use a Sharp MZ-80K [4]

[1] https://www.reddit.com/r/gadgets/comments/1hhqa0h/a_bakery_i...

[2] https://www.youtube.com/watch?v=6LxPEz9x2fs

[3] https://www.popularmechanics.com/technology/gadgets/a23139/c...

[4] https://www.youtube.com/watch?v=zWJZFQHklBg

(Note: some of the above links are a few years old, it may be that it is no longer the case)

andix|3 months ago

Until recently I helped running an old Clipper/dBase TUI application from the late 80s for a family member. We managed to run it successfully until they retired.

vDos (vdos.info) was a huge life saver for this application. It's similar to DOSBox, but more tailored to business applications. The big issue was always to find compatible printers for the old application, vDOS includes some emulation to print to any Windows printer.

There might be free alternatives to vDos, but it worked very well and is reasonably priced.

PS: we also tried to recompile the Clipper source code with Harbour to modern targets. It looked very promising, but they were extremely happy with the vDos solution, which only took 2 hours to deploy.

jamal-kumar|3 months ago

Thanks for the link, afaik my clients are still stuck using their old DOS TUI in a windows 7 VM that has no network access

dardeaup|3 months ago

What type of business was it? What kind of functionality did this TUI application provide?

FishByte|3 months ago

Only a few ago I had been installing new VoIP phones for a small business on the East Coast that had 2 or 3 green screen terminals and an IBM server running some variant of Unix. Most people in the office had terminal emulators, but one fellow in the warehouse section showed off his boxed terminals they had on hand incase one died. It is interesting to me to hear from someone that experienced these anachronistic machines and software. Very unique building, there was a floor between floors you could only get to via the warehouse. It made for an unnaturally long stairwell.

orochimaaru|3 months ago

Costco runs on TUI. They force you into minimal design and uncomplicated workflows. I bet someone is going to say you need servicenow to manage all this in an easier way. Please don’t listen to that person

oojuliuso|3 months ago

Love walking by the AS/400 terminal emulator screens after checkout. If it ain't broke, why fix it?

EvanAnderson|3 months ago

My parents' small businesses still run an xBase-based TUI accounting application for GL, AP, AR, and payroll they first purchased in 1988. Other than a Y2K update it has run unchanged since it was originally installed. Today I have to use DOSBox to make it run but it still works great. I've scabbed-on a few quality-of-life updates (mainly by capturing and processing print jobs) but it mostly just does its thing.

As you'd expect with having a TUI the users can absolutely fly through it. It's extremely efficient for them.

mitchell_h|3 months ago

Lowes and home depot come to mind. Their POS/terminals are just a terminal into an TUI. John Deere, kabota and other ag equipment service & parts providers still largely use a TUI.

vablings|3 months ago

Also, Costco uses AS/400. Applications that are pure function over form are amazing

JCharante|3 months ago

Have you ever been to a Marriott? They have something called MARSHA depending on the property. Once you log in it's basically a command line interface filled with abbreviations. As a high schooler in 2016 I used to train people at a reservations call center on how to use Marsha. It's super unintuitive but surprisingly everyone can wrap their heads around it eventually. Ok maybe 9 out of 10. You could decline to learn Marsha and work for properties that use a GUI like Opera PMS (for us it was mainly IHG properties). You got a pay raise if you learned Marsha. Opera was great, they later started upgrading to some bloated crap with lots of padding between buttons.

IIRC Marsha has transactions so you can build up a reservation and make queries in the process. There's even test properties in production so you can practice making/reserving/retrieving reservations.

berbec|3 months ago

A client i work for used a Pick system and it's maintained by one dude. He's in his 60s, so who knows how long they'll be able to get support...

[0]: https://en.wikipedia.org/wiki/Pick_operating_system

IshKebab|3 months ago

> It is named after one of its developers, Dick Pick

Wikipedia vandals these days...

matthewpick|3 months ago

I should become a maintainer to keep the legacy going…

trbleclef|3 months ago

My dad recently retired but his company was still using Pick as of a year or two ago. They also had a one-dude maintenance plan. I wonder if it was the same dude.

johnohara|3 months ago

Anyone who has ever worked with legit 10-key operators understands why many companies were loathe to migrate to modern graphical interfaces.

Some of the fastest manual data entry I've ever seen was by operators entering claim information into a medical billing system based on MUMPS.

Keep all hands and feet away.

xnx|3 months ago

Textbook example of a piece of software being a shark (perfectly adapted over millennia to being a perfect predator) not a dinosaur (obsolete/extinct).

nairboon|3 months ago

That's a great analogy! "Sharkware"

claudiulodro|3 months ago

Super late to the party, but Dale Harris Cash Register is a free Point of Sales TUI program that has been maintained by Dale since the 90s[1]. The website is pretty great too. He originally made it for his locksmith/key business. He has a gallery of people using it in the wild [2]. I've always wanted to have some sort of business where it makes sense to use it!

[1] https://keyhut.com/pos.htm [2] https://keyhut.com/posphoto.htm

throwup238|3 months ago

Both of the lumberyards in my city are still running on DOS (or DOS emulation) for their systems, along with quotes printed on dot matrix printers (and no online price sheet). They’re so low margin and old school, I don’t think they get tech upgrades more often than once every two human generations except for new capital equipment, which sucks most of their surplus.

urnicus|3 months ago

I still use a dot matrix in my office lol. I love the sound and they are so cheap to operate.

jorts|3 months ago

I supported a lumberyard that was like this too. Also, some "modern" laser machines required ancient versions of Windows and required floppy discs. This was about 20 years ago, though.

Apreche|3 months ago

Reminds me of this story from 2021

https://hackaday.com/2021/10/06/atari-st-still-manages-campg...

I have also met some people who worked at large old insurance companies. They originally used old mainframes and TUI, and the companies still exist. They told me of various things that were done. Of course migrations happened. And interfaces were built so that modern systems could speak with the old, sometimes via terminal emulator. And of course, some old systems still in use far beyond their time.

bombcar|3 months ago

Fry's Electronics used to have a powerful TUI for getting parts from the cage, the employees could hammer everything in and hit print and turn around to do something else while the screens were still loading.

Later they had some GUI that was used to open ... a terminal of some sort for the same TUI. The GUI made it slower, somehow.

huherto|3 months ago

TUI were great for many business applications, specially those in warehouses or factories. They were easier to write and modify. Many business applications were migrated to web for little gain. IMHO.

baruchel|3 months ago

I wrote the main application for my wife's business — she's a psychologist. That was only a few years ago, but as a senior lecturer in the more theoretical parts of computer science, I never really needed fancy UIs with flashy graphical effects. So I built a core engine and used the classic dialog tool as the thin user-facing layer.

At first, my wife was pretty disappointed — as a computer science teacher, wasn't I supposed to know how to build a “real” app? But a few years later, she doesn't want anything else. I even offered to have one of my students create a nicer UI without changing the engine or database, but by now she's completely used to the terminal menus.

The tool keeps a database, collects data through dialog forms, generates PDF invoices with groff, and launches Thunderbird when needed (to send invoices, etc.).

urnicus|3 months ago

<At first, my wife was pretty disappointed

I've got a mental picture of you excitedly unveiling your work to her. Glad she came around and very cool.

james_marks|3 months ago

If it’s survived this long, it likely because it has years of small fixes to make it reliable and useful, and more than anything—- predictable for the user.

Modernizing will roll some of that back; I would only consider it if there’s a plan to be around for the years it will take to get good again.

doctorpangloss|3 months ago

People who are good programmers say this, they have this fantasy, but it's a myth. The opposite is of course true, because there is no maintenance, there are a bajillion agonizing bugs and people simply work around them, the "small fixes" live inside the heads of the people using the application.

Like the fantasy is that the bank uses TUIs and the bank has accumulated years of knowledge and the bank doesn't make mistakes. The bank has extremely well paid staff. Joe Shmoe's TUI app looks like the bank's app, but it is unmaintained, it has accumulated years of problems, not fixes, nobody is fixing them, people who say they fix them cannot possibly be keeping up with the sheer amount of toil and bugs needed for production software. You can see this in any GitHub project, how much insane maintenance is required, for stuff people actually use and has few bugs.

flomo|3 months ago

Eh, I bet a lot of this stuff is running on some old SCO box held together with ducttape and prayers, because the vendor is long gone/dead.

dkenyser|3 months ago

I immediately think of Terminal Coffee[1].

Been experimenting with charmbracelet's[2] stuff recently to do something similar. Still very early stages so nothing to show off yet but would highly recommend it for anyone else looking into creating a TUI app/business.

[1] https://www.terminal.shop/ [2] https://github.com/charmbracelet

ghthor|3 months ago

I’m bringing charmbracelet to the web using gotty. The example is chat app that uses tailscale as the auth layer, and is exposed over ssh via charmbracelet/wish and over http via gotty. I haven’t written any docs yet; you should be able to run the example chat app on your tail net.

Would like to add some other forms of auth, but tailscale was just so easy to provide the same auth for both ssh & http.

https://github.com/ghthor/webtea

conductr|3 months ago

> I got my start as a script kiddie writing automations for this system with Microsoft Access, VBA, and SendKeys to automate data entry

I've done exactly this for the likes of JP Morgan Chase. Many of their core banking systems are some COBOL/Fortran mainframe (that I know nothing about) but the interface through a TUI client. When they have a desire to work in a more modern fashion, it's SendKeys to the rescue. There's definitely still a lot of TUI's that run the world.

deanebarker|3 months ago

I visited a food service company a couple years ago. They had phone reps taking orders from customers (restaurants ordering produce and such). They used a TUI (a "green screen" essentially).

I have never seen people move through a GUI that fast. They were lightning quick with it. They were like an veteran accountant with a ten-key adding machine. It was amazing, and pretty damn sobering when you think how much work we spend on GUIs.

Jotalea|3 months ago

I work in a medical center, which is my family business. in here, I am the IT guy, as well as receptionist and one of the secretaries.

we currently use a 2019 HP Pavilion 15 laptop with an AMD Ryzen 7 3700U, 12GB of DDR4 RAM, and a 512GB SSD. as you may have noticed, this computer is insanely overpowered for just using Excel and WhatsApp. that's why I've been given the task to downgrade to a different piece of hardware, a 2011 laptop with an Intel Pentium P6200, 2GB of DDR3 RAM, and a 300GB HDD.

and I am the guy responsible of building the old-new TUI app we will use in that machine. I am conscious of how much of a downgrade this is, but it's to avoid throwing away hardware that still works.

I have made a few prototypes using lightweight web technologies, but I ended up not liking how they look, perform or interact, so I start over. this time I will attempt to build something especially tailored to this old laptop, using TUI tools like ncurses.

calvinmorrison|3 months ago

I'm in the distribution/manufacturing ERP vertical in the US for SMB clients... yes we see it. No - not often

Most people are running on 90s-2000s era stuff rather than TUIs.

For the most part, it works well, and is not very costly.

Check out Sage100... flexible, cheap, on prem... runs everything from job / work tickets to inventory, purchasing, financials, payroll, etc.

Aint sexy but it works!

urnicus|3 months ago

Nice - thank you!

jackhuman|3 months ago

I recall guitar center is still on a green screen back when I worked there in my youth. It was pretty fun learning that interface, fancy keyboard shortcuts etc.

johannes1234321|3 months ago

It's been a while since I worked at a bank, but most there core stuff was running in a mainframe and while "modern" front ends exist, the core work uses terminal access.

A key thing modern replacements lose is the input buffer: One can type multiple screens ahead. In a modern GUI application I can enter a shortcut, but then have to wait till the corresponding view/popup/window appears and registered it's event handlers till I can put in the next command. In a mainframe-style TUI, if I remember the sequence, I can type ahead the shortcuts and input for next screen(s) before it's ready. For the experienced user, who runs the same sequence often this is really efficient.

dchuk|3 months ago

A lot of “traditional” industries still run on TUIs/even as400 systems, such as freight/trucking companies, banking, medical, travel (saber, etc). And many companies in those spaces who appear to have migrated away from those systems are likely just using a modern gui interface that still uses those old systems behind the scenes.

It’s generally because 1) they’re actually reliable 2) they contain custom business logic and rules that are not documented well/at all and hard to replicate 3) the people who set up all of these things have retired and no one is left who understands any of it

gruntledfangler|3 months ago

I’ve worked at many bars and restaurants. The best ordering interface I ever used was at Pizza Hut circa 1999. It was a monochrome TUI (orange). It was ancient-looking even then.

The speed was incredible once you got proficient. Once you got the muscle memory down you could punch in any single pizza order in less than a second. Even something complicated like different toppings on the halves was NBD. Pizza Hut was always coming up with these ridiculous gimmicks and the system could accommodate them seamlessly. Just incredible.

This system probably quietly saved the company millions in its time.

kurtoid|3 months ago

I'm starting to maintain a COBOL codebase for my dad's small business. It uses MicroFocus's runtime so it runs fine on Windows 10/11 (but I'm trying to migrate it to OpenCOBOL). He helped write a good chunk of it, but doesn't make any major changes to it anymore. I'm not confident enough to make major changes to it, but I fix some bugs here and there. I ended up writing a python script to parse the database layout for a python-based fuzzy search tool, but I still stuck to a terminal UI for it.

aworks|3 months ago

This prompted me to check if MicroFocus was still in business. It's a little complicated. Also, the Wikipedia article mentions Ryan-McFarlan - a COBOL and FORTRAN compiler company. I miss the 80s...

https://en.wikipedia.org/wiki/Micro_Focus

palmotea|3 months ago

> This got me thinking: Are other companies still using this type of interface to drive their core operations?

Probably a big chunk of businesses that developed their core systems before the PC era. I don't know if they still use it, but Avis Rent-a-car's main application used by its front-line people was a TUI like that, and the front desk people could fly around int it (like you said).

But most developers ape current trends rather than actually figuring out what would work best, so I'd guess very few user-facing TUIs are being built now.

dec0dedab0de|3 months ago

Quite a few large businesses are still running code that was originally written for mainframes in the 60s and 70s. Usually it is large batch operations, but I know of at least two fortune 100 companies that still have non-technical users running terminal emulators to connect to their 'mainframe' to perform some tasks.

I was about to say that's what keeps Sungard in business, but then I googled and saw they are no longer in business. So maybe it is starting to die down.

FarmerPotato|3 months ago

I recall that IBM had a lot of manuals on how to design TUI , known as CUI then. Especially around the advent of OS/2 and PM, as it seemed every DOS app was gaining imitation menus and windows.

A hallmark was that functionality must fit CUI and GUI front ends alike. Keyboard shortcuts would be identical.

I first read about the unified CUI principles in Dr Dobbs' Journal.

It seems a lot of that knowledge is lost or never made in it on the web.

whalesalad|3 months ago

I remember going to the Pasadena Public Library as a kid (90s) and there were terminals everywhere for interfacing with the digital card catalog system. Pretty sure they were made by Digital/DEC. The black screens with orange glowing text were such a pleasure to play around with. I've been thinking it would be fun to have one of these in my house 24x7 to interface with a Home Assistant TUI.

pplante|3 months ago

I watched Alien: Earth recently and was admiring the TUIs everywhere. The show takes place in 2120 and they kept up the aesthetics of the original movies. A future full of synthetic humanoids and interstellar ships kept the TUI. I do not remember tablets being in the series, however even those seem to use a similar TUI.

I look forward to my great grandchildren rediscovering the TUI.

rlucia|3 months ago

Ah I am still running such a thing: a wonderful piece of software I wrote in the 90s w/ FoxBase.

But here’s the nice thing: I converted everything in a Flask app with React frontend.

The nicest thing is that besides using a modern relational DB, I write everything to keep old db files synced so that I can still run the old app in DosBox…and keep the new stuff in Docker.

It works, flawlessly:-)

VBprogrammer|3 months ago

When I worked at State Street everything was done in IBM/370 terminal emulators and a COM component which made is easy to scrape information into Excel. I wasn't really supposed to know about that but found enough code examples which weren't password protected that I could figure it out.

jodacola|3 months ago

Not using TUIs (unfortunately). Work in a large business on services for real estate transactions. Heavy GUI applications. I’ve actually been investigating adding heavily keyboard-driven interfaces to our GUI apps with my teams because the multi-screen clicking around all our users have to do now is so incredibly slow and inefficient.

Some of my most productive use of software (in both personal and professional settings) have been with TUIs.

Even with all the hype around AI right now (and we’re working with that, too), we can’t not have more traditional UIs to keep a human in the loop when it matters the most and as a fallback for when AI misses the mark - but that doesn’t have to mean it’s all click heavy.

kwertyoowiyop|3 months ago

Count your blessings.

And if anyone suggests rewriting it, fire them.

deafpolygon|3 months ago

In this thread:

- people with seriously thick rose colored glasses

- hazy fever dream of TUI applications

- folks not understanding that gui applications definitely can have shortcuts like TUI -- it comes down to design and the developer(s) making it

nsxwolf|3 months ago

A fairly large GDS company has replaced their old “green screen” terminals with a web app that contains the same green screen but with syntax highlighting and hyperlinks inline controls that appear and other quality of life improvements.

dangoor|3 months ago

This is something I've wondered about. I started out in the green screen era and remember how amazingly quick those UIs were to navigate. I don't see any reason why we couldn't replicate much of that UX and development model, but deliver it to web browsers with graphical capabilities in the parts of the system that need it.

I feel like mouse+keyboard is a step down in speed of use for many tasks, but I do wonder about touch screens. For some things, touch screens can be plenty fast and the UI adapts to the task.

utf_8x|3 months ago

My country's national postal system still uses an IBM mainframe based system from the 80s. The clients these days are desktops with Linux Mint and a terminal emulator but it's still very much TUI based.

Gracana|3 months ago

My employer was running Growthpower (ERP software) on an HP 3000 system up until 2018 or so. We replaced it with a "modern" .NET/MSSQL ERP solution that does a lot more, but it's slow and terrible to navigate compared to the old console menu system, and its database is hundreds of tables without a single foreign key. The frontend application makes a long series of sequential queries to build each view... if you're willing to wade through the muck, you can write a server side query that can do in milliseconds what it does in minutes.

sodapopcan|3 months ago

The last time I went to Steve's Music Store (Toronto, Canada) they were still using the green on black terminals. This was pre-pandemic. Maybe someone can confirm if they still are.

ferguess_k|3 months ago

Costco still runs its warehouse operations on a TUI application running on AS/400 machines. At least the ones in Canada but I heard it's the same for the US warehouses.

dwd|3 months ago

Worked for a car insurance firm about a decade ago and the whole business ran on their Big Iron. I joined the company to work on a customer facing web UI that hooked into an API layer the server group developed to pull data from the Db2.

The callcentre however still used the TUI for all customer inquiries; it was only the customers who got a pretty interface to view their details.

Depending on which system you were logged into, you had a green screen (production) or magenta (development).

promptfluid|3 months ago

Been through this cycle a few times. What helped wasn’t stepping away from AI — it was building something that runs itself. Once you stop babysitting models and start automating the orchestration, the stress drops fast. My current project basically learns and adapts without me watching it, and that’s been the difference between burnout and flow.

layer8|3 months ago

> I can fly around in it.

That’s what’s so efficient about TUIs for local software. You typically can’t do that in web apps. Not that it’s impossible, but it’s far from the default.

RankingMember|3 months ago

Sam Ash (recently defunct U.S. musical instrument chain) infamously used a system called GERS with a TUI, the components of which IIRC were adapted from either a furniture or carpet store. Well into the 2000s, receipts were still printed in full size carbon paper (triplicate) on dot matrix printers. You'd get a gift "card" that was a literal greeting card with one sheet of that dot matrix printout stuffed in it.

trbleclef|3 months ago

I noticed Guitar Center also using a TUI when I was in there last.

stronglikedan|3 months ago

My buddy works at a rather large auto auction and uses a TUI extensively, only jumping out to copy stuff from a few GUIs and pasting it into the TUI.

outime|3 months ago

Leroy Merlin (French multinational retail company, home improvement and gardening products) still runs these systems at the PoS, at least in Spain.

sam_lowry_|3 months ago

Somewhere in 2004 I upgraded a TUI interface for a major advertising company in Belgium to support €. They used it for many years since, AFAIK.

ineedasername|3 months ago

Prediction: there will be a huge demand for apps that have at least a baseline of functionality that is TUI enabled, preferably feature complete.

Why? Token in & out inference cost. Heck of a lot cheaper to use an LLM than a vision model for something like automating apps, or enabling your app to be agent-friendly at a low cost.

pkphilip|3 months ago

Interesting. What sort of database are they running and what is the frontend? Dbase? Foxpro? Turbo Pascal with BDE?

theragra|3 months ago

Foxpro is alive and well in our town water utilities company. My fellow student still works on it. I don't know a worse way to waste your best years.

fsckboy|3 months ago

the accountant who does my taxes, I don't know what software she uses, but just 3 or 4 years ago she sent me a document her computer created that had some serious font display problems. investigating what I had to do to make it right, I discovered that I had to install fonts from Windows 3.1!

foxyv|3 months ago

About 99% of the DevOps guys I know use K9s which is a TUI application for managing EKS clusters.

snovymgodym|3 months ago

Huge swathes of business software run on stuff built in the 80s and 90s with only incremental changes since.

arthurfirst|3 months ago

I worked on a PCI-DSS project at a major consumer electronics retailer almost 17 years ago as an AIX/Solaris specialist.

At that time their 'web store' just put paid orders in a queue and a room full of humans typed the orders into the green screen which had all the actual inventory.

imvetri|3 months ago

If it works, don't fix it

atoav|3 months ago

I manage the roomaccess of my workshop via a custom TUI application . Works flawlessly.

stego-tech|3 months ago

Wegmans’ cash registers still use a TUI. It looks quite clean and friendly compared to the GUI-heavy slop of, say, my time at a major retailer. Speaking of nostalgia, my old gaming store also used a TUI for transactions, and it was highly responsive for anything local (and a PITA anytime it had to communicate with the CO). Also been exposed to a number of businesses these past few years who still use old AIX/Unix/TUI boxes for critical business functions, and most seem happy with them.

And therein lies the rub: if the process works, and modern software doesn’t necessarily offer any better value proposition, then there’s no real reason to migrate. For a lot of companies, the status quo might literally be all they’ll ever need, and IT’s role is to just keep it up, available, and secure as times change. Sure, I’ll side-eye a theater using a Windows box as an intermediary for Ticketmaster to run transactions against their old AIX rig collecting dust in a corner of a closet, but if it works and it’s secure, well, more power to them keeping costs down.

The advice I’d give is not to knock something just because it doesn’t fit current narratives around technology. Our jobs - first and foremost - are to build and support solutions that amplify productivity of humans in a way they can use without external support; whether it’s an ancient TUI or a modern GUI isn’t as relevant as its efficacy.

Ampned|3 months ago

I used to work for a major greeting card company that had a TUI based ERP system from the 90’s until like 5 years go. People were insanely efficient using it, but quite the learning curve to learn all shortcuts and commands.

oftenwrong|3 months ago

I think some people would enjoy something akin to HyperCard for building custom TUIs and/or highly efficient web UIs.

samuelknight|3 months ago

Microcenter does this too. When you are in the checkout you can see the cashier using a DOS interface to ring up the items.

insane_dreamer|3 months ago

Costco still uses a TUI in its stores that looks like it runs on DOS.

InMice|3 months ago

When i checkout at costco i see their TUI and im so curious about it.

philipov|3 months ago

Does linux count? 99% of linux use-cases don't include xwindows.

johannes1234321|3 months ago

They are managed via terminal probably, but only few cases the business application runs as TUI.

Xiaoyao6|3 months ago

This is a good direction, converting TUI to GUI.

H1Supreme|3 months ago

I think those old TUI systems are analogous to learning Vim. At first, you don't wtf is going on. But, the more time you spend with it, the more it's ingrained, and eventually becomes second nature.

I've seen many of these systems over the years. Before I moved into software full time, the company I was working for was transitioning from a TUI to a GUI based system. The long time sales and warehousing staff absolutely hated it. Which, yes, is par for the course with any new system. But, I really believe there is an (potential) efficiency to a TUI system that makes it superior to a GUI when dealing with prototypical business operations (order entry, inventory lookup, etc).

Which makes me think, is there a market for "modern" TUI systems?

ursasmar|3 months ago

I had the great fun, no sarcasm, of modernizing a TUI system that had been in use at a company from the mid to late 80s. It was a DOS app, I don't recall the name, that let you build "screens". Each screen would have multiple fields, possibly multiple pages, and would write data to a CSV (colon separated file) with a max size of 2MB. Each screen had its own file, and screens could not "talk" to other screens. Each screen had 3 modes, search, data entry, and record paging. There was a fourth type of screen called a report. This was basically the search screen, with slightly different operators that would mainly produce counts of whatever fields were being searched for, and would send that to a printer.

The search was interesting. I don't remember the specifics of it, but it was fairly powerful. A user would enter values in fields they wanted to search on. Say they wanted to find a customer named Bill who had ordered in the last 30 days. They would move the cursor to the First name field, enter "Bill" ^ "William" (the caret being the OR operator, I do remember that one), then move to the Order field and enter "30D-", hit enter, and get their records back.

The company had about 20 of these screens, and the way they used the program was fun. Everyone in the office had a Windows computer with a network drive that pointed at the storage server. The storage server had all of the screens CSV files. There was one screen in particular that everyone used. It was the product orders screen. When someone in the office was using it, they flipped a switched on the wall next to their computer that turned on a small red light for everyone else letting them know that the product screen was in use, and no one else could touch it. Once the light went off, someone else could jump in. I heard that it was usually a race to be the next one to use it, and arguments would pop up if someone was hogging the product orders screen.

I was brought in around 2009 to modernize the system. I was told that it has to look, feel, and work exactly like the old one, but be multi user. They also gave me a list of 15 of the screens that they really needed implemented in the new system. Being that I am a web developer, that is what I reached for. PHP backend, a JS frontend, and MySQL for all the data. The first order of business was ingesting all of the CSV's, and then relating all of the data. With orders, work orders, customers, company contacts, people contacts, inventory, etc this took awhile. Next was building the API to access the data. This was fairly simple. The truly hard part was the frontend. At that point, I had little to no JS experience, but I soon learned.

By the end, I had a website that when loaded had a main menu that looked exactly like the main menu of the old app. Each screen was listed with a keyboard shortcut next to it that would load a particular screen. By default screens were in search mode. I spent a lot of time with the built in help menus of the old program, and talking to the people who used it, to get a list of all of the search functions and how they worked. Then had fun writing a parser for this that would translate the searches into SQL queries.

Hitting Page Down while in search mode would start paging through records. The challenge here was the speed. In the old app, they had at most 2MB of data on a local file. The new system of course was a web page calling an API, which was querying a database that had 30 years of data in it. Users biggest complaint is that this was just way to slow. So I reached for the new at the time web workers API to preload 100 records in the background so that paging through records became nearly instant. And this worker would start filling the record cache once it got about half way through its current list.

One of the most challenging things in the build was the keyboard navigation. In the old app, if you pressed the down arrow you would move to whatever field was directly under the current field. But, if that field overlapped 2 fields below it, and the cursor was in the far right of the field, and the user pressed down, it would move to the first location in the right side field that was under it. I basically came up with a mapping system for fields so that when a user pressed the down arrow it always went to the correct field. Another fun part was the left and right arrows. If there was no data in the field, it would just move to the next field left or right. But, if there was data in the field, it would only move left if you were at the start of the field, or right if you were at the last character written in the field.

Another challenge was keyboard shortcuts. There were key press handling libraries at the time, but none of them did quite exactly what I needed, especially with each screen mode having slightly different shortcuts. This lead to me writing my own keyboard handling library that was aware of what state it was in.

And something I had fun building was the printing capability. The old app had a companion app that could be sent data, and it would put it into a pre-built form that was then sent to a printer. So something like an invoice would be created, data was sent to the other app, it had a pre-built invoice form with a company header, and data placeholders for all the incoming records, and print that out. For my solution, I had a print.css file for each screen. When a user hit the Print Screen button the page would swap in the print.css, trigger a Ctrl-P, wait for the user to select print in the browser, then swap back to the normal css file.

I got to do so many things with a web app that first of all I didn't know were possible, and second, I haven't had the pleasure of doing since that app.

To this date, its the most fun I have had working on any project, and its still in use today. So in another 15 years, maybe someone else will have to come along and update my web TUI to whatever new technology is around.

_gmkt|3 months ago

This is absolutely impossible in the EU where law is changed 100x times per day. You simply wouldn't comply.

0xCE0|3 months ago

IBM IMS - fast until abend :)

ProfessorZoom|3 months ago

what if your entire business was on a TUI? terminal.shop be like