https://invisible-island.net/ncurses/ // classic
https://github.com/willmcgugan/rich // blingbling
https://github.com/dankamongmen/notcurses // hacker
For the old stuff I recommend looking close at airports, savings-banks or part-dealers. When it is influenced by mainframes you will notice likely forwards/backwards is done by F7/F8. How do you depict an plane with seats in TUI? I assume an array, 80 rows and 10 columns ;)
I'm impressed how flawless elderly co-workers work with TUIs. They read the screen, think and type and the work is done. I guess the straight workflow, clean user-interface and similarities to paper forms improve usability. I guess modal dialogs, popup warnings, status icons, right click and the modern long press are not an improvement in usability. And the many tiny icons and bars in modern text processors aren't a help either.
I think we can learn a lot more from old programmers.
No you just need front, middle, back, window, handicap? and how many seats next to each other for your travel buddy's. That's the cool thing, no need to use your mouse, no need to show more information than needed for the job.
https://josephg.com/blog/electron-is-flash-for-the-desktop/
While I don't appreciate most of Apples business strategies, I have to admit that Steve Jobs was right about banning Flash. It was eating the battery runtime of MacBooks. And Steve Jobs would have banned[1] Electron probably already years ago, because it is consuming so much memory.
But especially so many big tech companies use Electron? The UI is non native, the JavaScript doesn't offer best performance, the binaries are big and the memory consumption is high. First, because some companies we're in need for a replacement of Flash[2]. Second, web developers are cheap. Third, it reduces time to market. Especially the big tech companies are "monopoly mode" - gather quicker more users than others and dominate.
Who pays? You, at least three times:
* Bad usability, slow execution and awkward UI
* Hardware requirements. You have to buy more RAM. In case of most laptops with soldered RAM you have to buy new laptops.
* Either they take or data or your license fees
I don't claim that platform native developers will code more efficient but developers who can code in C, C++, Rust or even Python can provide you with fast, small and slick applications where you don't have to wait until some JS loads the textblock for some placeholder while your scrolling - their applications aren't even faster necessarily. Likely these developers keep their data locally, update this data when appropriate (keyboard, file or network) and don't launch an entire web-browser. I recommend providing a base foundation and using a native toolkit of the platform, either Gtk or Qt[3]. This is not a new recommendation, the issue is that the industry prefers to ignores well known, recommend practices.
Now. Microsoft Teams?
+ Available on Linux
+ Quick and easy installation via Flatpak
o You can spend a lot of money for integrations
- Quoting is not possible on desktop
- Slow startup
- Fullscreen hidden instead of using "l" or "F11" keys
- Notifications Management is a maze of options
[1] Not fully correct. Electron is forbidden on iOS because it is a full blown webbrowser. Maybe also for less well meant reasons.
[2] History repeats. They refuse to learn?
[3] Actually Google did that. Chrome used on Linux Gtk, on MacOS it used Quartz and on Windows some layer to Win32. It was a fast and lean and the UI was native.