I'd very much like an advanced, still cli/terminal, interface option.
I'd very much like an advanced, still cli/terminal, interface option.
https://www.youtube.com/watch?v=o4-YnLpLgtk
I think there are lessons to be had from the likes of Smalltalk and Logo too. Highly expressive without insane levels of cryptic inconsistent punctuation rules and UX man-traps.
Terminals of 2020 and beyond need to have first-class support for audio, video, images, and peripheral interactivity/customization. Terminology and iTerm 2's ability to display pictures, and some terminals' support for Sixel is one of the directions I want to see progress in.
- It should be possible to `cat` an image, or a video, or even previews of Word and Photoshop documents. Terminology, iTerm 2 and Sixel-compatible terminals have this to some extent, but it's not standardised and doesn't have a broad support base.
- Programs should be able to raise notifications without relying on third-party/OS-provided utils that have a drastically different API and availability across platforms.
- Rich read-only visualisations of progress should be possible to call up with a few lines of code. I want to see a `dd`, `mv` or `cp` with a graphical progress bar at the bottom of my window. If my OS supports it, I want this to integrate with the UI like the progress widget on my taskbar.
- We should be able to render a piece of output in 3D, if we so desire. I don't want Crysis, but I do want a Matlab logo that I can rotate by dragging my mouse and graphs that zoom when I Ctrl+scroll at them.
- Support for file pickers and rich selection/filtering of file/directory lists. Not for sandboxing, but for convenience.
- A command line builder (like one of the classic Apple OSes had, cannot find a reference now, or something like the one in Fish but more advanced). Only valid combinations of parameters will be supported, mutually exclusive commands are impossible to select. Any arguments that are files will be possible to use with a file picker. Any argument that's a date will get a calendar widget. Any argument that's a boolean or an enum will get a checkbox or drop-down respectively.
- Terminals should be able to intake gigabytes of input per second, up to the limit of the hardware, without choking up.
- We should be seeing 60FPS and beyond as a normal feature.
- We should finally get unlimited scrollback enabled by default. The terminal emulator should keep everything that I've seen before, and remember it for me. We have the space for it, either in RAM or persistent storage. If not, it should be adaptable and drop the scrollback buffer that is lower priority than other applications on the system if they need more resources.
- Unicode should come as standard. Emoji should come as standard.
- End termcap. We should be able to hash out ONE standard to rule them all. We've had 50 years to come up with ideas and opinions. Version it so that we can release a V2 in 2100.
- While we are at it, end Bash and come up with a saner shell notation that doesn't overload single/double quotes, the ampersand, > amd <, or human-text spaces. We have several more decades of syntax design knowledge worked out, and a whole keyboard with >101 keys. We have two Alts, two Ctrls, and a whole function key row. Let's make use of them for non-printable character input and interaction with the terminal.
- (Debatable) consider adding hypertext support. It's here to stay, and not just in the form of HTML.
There's more that can be added, but really, I think terminals deserve better.