A terminal with a gradient background might look pretty for screenshots, but for long sessions it just adds to fatigue and makes text harder to read. "Saving your favorite commands" in a normal terminal involves writing an alias into your rc file, not a bunch of button clicks. Same goes for the whole "interactive flags" thing.
Whoever made this clearly hates the terminal and wanted to bring a hipstery web 2.0 approach to the terminal. My question is, WHY?
Oh, and it's PAID? Fuck that. Learn to use a proper terminal or don't bother, simple as that. That isn't me being a crotchety old timer, that's me giving you serious life advice. You will always be faster in the terminal if you learn to use it properly. a 2 hour tutorial in shell scripting and learning to use `man` is worth far more to your career than 10 bucks. Learn it the right way if you're going to bother.
</rant>
Being able to build a simple interface on top of the few commands they use, so they don't have to remember flags, argument orders, etc., would be advantageous to us all (and require less support on my part).
Also, what is possibly wrong with someone trying to make some money for their work??
Second of all, learning shell scripting is an almost ridiculously important skill. Wouldn't it be better that you sit those devs down and have them go through a couple hours of intensive shell boot camp so they don't need your help anymore? Anyone who's a halfway-decent dev can learn the basics of shell (simple scripting, variables, redirection, piping) within a couple of hours, easy.
HTML + JavaScript + Electron
Just download that archive, extract its content, and you will find the "goterminal" script that is basically an ASAR archive [1] with a copy of CEF [2] as the webview for the web application that they (for some unknown reason) decided to create.
That's unpleasant. This is a forum for programmers. Care to explain why you are criticizing a participant for programming?
And no telling how well $TERM detection works (show me vim! Show me something that wants 256 colors!)
If it was free, I might still not use it, because my terminal emulator needs to be lightweight and bulletproof, not heavy and shiny. A terminal emulator is a hammer -- simple, solid, good for constant use -- not an art piece.
That said, probably still won't use it. Too much whitespace and too shiny for my liking
They need a much better explanation of what exactly I'm paying for, and what I'm limited to with the free version.
This product seems to fundamentally misunderstand people that use terminals. Perhaps it would do better to instead become more of a thing that puts quick GUI wrappers around terminal commands and tries to parse the output and present it in a pretty GUI way for people who'd prefer not to get their hands dirty? Otherwise, this seems like what aliases and functions in my bashrc are for.
Either way, why is there a group of people that seems to think we desperately need to take applications that we are already running natively, wrap them in HTML/CSS/JS, throw them inside of a webview, embed that webview into a separate Chromium instance, and string it all together using a tool and execution environment designed to take a client-side single threaded web scripting language and use it for making servers? (Mugatu: I feel like I'm taking crazy pills - does nobody see this?!?)
I believe you already know the answer to your own question, because to be honest I think the answer is pretty obvious; but in case you are actually curious about the answer here is what I think (mostly sarcasm, don't expect much):
The majority of people making these applications are web developers who are frustrated by the difficulty of learning one or more of the popular GUI libraries available in the market (Cocoa, QT, GTK, etc), they found Node-Webkit and then Electron and realized that they could target desktop users using the same stack they have been using so far (HTML + CSS + JavaScript). Since they are web developers and many of them were originally designers, it is makes sense to think that they can make shiny websites to attract people into trying their projects.
I think most of these programmers just want to show up, try this new Electron thing, and get acknowledged by other people. I don't think they believe their applications are actually good because it is obvious that they are not (as in this case). As much as I hate this trend of web applications disguising themselves as (native) desktop application I have to agree that Electron have allowed some people to... Hmmm, you know what? I don't think Electron has allowed anyone (with the exception of GitHub) to accomplish anything, fuck that trend.
Just what this conversation needs - someone who fundamentally doesn't get that web browsers and their derivatives have more affordances for accessibility than a native terminal interface ever did.
> This product seems to fundamentally misunderstand people that use terminals.
> Either way, why is there a group of people that seems to think we desperately need to take applications that we are already running natively, wrap them in HTML/CSS/JS, throw them inside of a webview, embed that webview into a separate Chromium instance, and string it all together using a tool and execution environment designed to take a client-side single threaded web scripting language and use it for making servers? (Mugatu: I feel like I'm taking crazy pills - does nobody see this?!?)
In part because this could offer secondary visualizations for data that is better without breaking anything at all, if people would stop making elaborate nose-pinching brow arching gestures every time the idea of a web browser came up.
Oh, and it'd be the basis for a more robust and usable SSH option. SSH is a horrible protocol and Mosh works in very few network environments. An HTTP/2 connection and decoupling of input from user response (without appealing to line mode) would be demonstrably better.
I do not have sight impairment, but I'm quite certain that I could navigate a fixed number of keystrokes more reliably than I could operate a mouse. If I were listening to synthesized speech dictating on-screen output, I know that the option that makes the most sense is four taps back and one up. Finding that with a mouse would be unnecessarily complex by comparison.
Additionally, requiring mouse clicks for a visual replacement of the alias command with a few extra bells and whistles is not the greatest appeal to a community of developers.
I hope that the fact that this was written in Go does not outweigh its shortcomings in the eyes of HN.
EDIT: Here is the list of 720 NPM packages used by this: http://pastebin.com/raw/VhnuuDdX
EDIT2: To rub salt into the wound, this thing is ~620MB of HTML + JS + Electron, that is more or less how an entire Ubuntu installation was six years ago, like really? An entire basic Linux installation could have been included in all this archive and these guys decided to fill it with JavaScript code. Isn't a terminal emulator supposed to be lightweight?
Is it 620MB of source text? I'm not a web guy, so I literally I can't understand this, unless, since it's a web tech, 30 minutes of cat videos are required in the source.
But the demo video shows one major issue that breaks its primary functionality as a terminal: the font rendering has a vertical spacing problem going on, with lines 1.5x spaced, which would break many screen-oriented applications, especially those that use line-drawing characters. Notice how at 22s into the video (https://www.youtube.com/watch?v=XbDxvJn1jV0#t=22s), the inverse-colored character shortcuts at the bottom of nano's UI have space between the white boxes; the white boxes should touch, like this: https://imgur.com/q0TERnM
This is either a bug with the terminal itself, or a bug with the font used. I looked for a bug tracker to report the bug, at which point I noticed that it wasn't FOSS, and promptly lost all interest in taking the time to make such a report.
Also, while I realize that this uses a browser engine for its UI, there's something surreal about a terminal emulator bundling libffmpeg.so.
If you use a better shell (like fish) it leaves this even less appealing. I'm sure this took some work to do, but I don't know anyone with a job to pay for it, which would use it.
The word "efficient" describes the exact opposite of what this is.
In addition to all of that, the package includes all of the build-time dependencies with it. And the package they use for the terminal emulator part of it is explicitly abandoned by its author (https://github.com/chjj/term.js/)
Nobody should pay 10 dollars(let alone 20 dollars for limited ongoing support) for more than half a gigabyte of unmaintained, deprecated open source code, plus about 2000SLOC of proprietary code for a sidebar which does something which is basically already built into the shell.
Also, there is no clear roadmap for this; so it's totally unclear what "3 years of updates" means when half of the thing is deprecated and it hasn't even left beta!
But, the shell is a bunch of nontrivial things to learn. Tools like Go Terminal_ could make a less discontinuous learning path for shell. I recently had to teach[0] someone a bit of shell, and I kept tripping over explanations of:
command -[flags] arg1 arg2 arg3 | something else
Merely explaining that -xvf modified tar and how was a challenge. After I explained it, the user appended -xvf to cat in a different session. The above line would be a dozen lines of code in a blub. Shell takes a long time to grok.All that said, I wouldn't call Go Terminal_ "efficient" ;).
[0] I did a terrible job.
Yeah but if you're gonna learn this trade, you kinda gotta learn these things eventually, so why settle for a pacifier indefinitely?
Everything I've learned in programming I've learned that way: do something the repetitive way until I notice it, then research or do something better.
"This package is of bad quality:
The installation of a package which violates the quality standards isn't allowed. This could cause serious problems on your computer. Please contact the person or organisation who provided this package file and include the details beneath.
The package doesn't provide a valid Installed-Size control field. See Debian Policy 5.6.20."
While I agree with pretty much all the criticisms raised by others, I would just like to qualify that I like the idea of attempting to disrupt the traditional terminal.
A terminal will always be a window from GUI land to the shell, but that doesn't mean we can't play with it! :)
Here are somethings which might be more substantial improvements.
A status bar which helps in understanding what a command does. So you type 'command -xva a b' and the status bar gives an English description that the command is going to do such and such(based on flags) on files a and b.
Simple discoverability like an interactive version of reading man pages or apropos, where after typing something like git or ls, the user who doesn't remember the exact options, can press some shortcut and type a english description like 'hidden files' 'reset' and the status bar displays the relevant flags and their description. This kind of semantic autocomplete, would save a visit to a long man page.
[1] https://github.com/electron/electron/releases/tag/v1.2.6
That's what shines in my eyes from this project.