I'm skeptical of the value of electron-ified applications when fully native alternatives suffice. However, ignoring that, there are a few (pretty severe) problems with this release:
* The .deb package seems to install everything in /opt. This seems to be pretty common practice for electron apps and isn't a huge deal, except for the fact that a wrapper executable/link isn't installed anywhere else on the system. As a result, I had to go looking for the install directory and invoke hyper as a fully-qualified path (i.e., /opt/Hyper/hyper).
* Hyper tries to run `npm prune && npm install --production` on every startup, which (naturally) fails when the user doesn't have node (much less npm) installed globally.
* Most control modifiers don't work on Linux at all, making it impossible to work inside of programs like nano, alpine, etc.
* Throughput seems to be an issue. Running `cat /dev/zero` locked the entire application up.
These problems are understandable considering the (often unappreciated) complexity of terminals, but they're also surprising in a 1.0.0 release.
> I'm skeptical of the value of electron-ified applications when fully native alternatives suffice.
Me too, although in the case of terminal apps, they really haven't moved on since the 70s. How many support images? Completion popups? Browsable history? Current directory widget? Collapsible output?
Honestly if it takes some insane over-engineering to get some actual innovation in terminal apps I'm all for it! And when I say "innovation" I mean "obvious features that should have been there decades ago".
OK, I just installed it on Windows. Right out of the box, it does not recognize ctrl+c. What am I supposed to think about the quality of this?
(I literally have not tried a single other thing. I made a typo on the very first command I wanted to try. I tried ctrl+c to start over, and it did not recognize it.)
EDIT
I gave it another chance. If I start a bash shell, it recognizes ctrl+c, but it does not recognize the up arrow key. Not impressed. Don't get the hype. Sorry.
EDIT2
Is this being brigaded? It's the first result on HN without clear reason, and I'm being downvoted immediately for posting this feedback. What's going on?
I think the downvotes may be that you're posing a rhetorical question based on a sample size of one. As opposed to spending 15 more seconds to try a few more things and saying "I tried 10 commands, nothing worked" or "I tried 10 commands, works great, but Ctrl+C is broken on Windows and that really needs to be fixed"
My experience with the Zeit team is that they're very responsive and interactive via GitHub - I'd be surprised if the issue isn't fixed soon
This is really cool and it's clear that a lot of work went into it. I've used it a bit and it's generally solid.
I've been looking for improved terminal clients for years. To that end, I have a simple benchmark that I run:
find /
Then repeat the same within a tmux session. In both cases I check to see if I can interrupt the output with Ctrl+C.
Hyper on linux under X actually stops rendering the output very quickly, but all subsequent input is ignored. The tmux case was the same. In addition, CPU usage spiked to 2 procs each @ 100%. Interrupting the shell was not possible with Ctrl+C or other means, though I was able to `SIGKILL` it.
This particular test is my personal benchmark of whether I can use a terminal - because nothing is more frustrating than having to kill an entire session because of a typo or bad command that generates a lot of output. Too, clients that struggle with this also have a tendency to slowly render changing curses layouts on large terminals - such as when resizing tmux panes, or rendering large amounts of scrolling content in a sub-region of the terminal.
This is a simple case, and many native clients struggle with it as well. So far, although it's not my most-favorite to use, `konsole` is the only one that handles this well.
To that end, I have a simple benchmark that I run:
find /
Well crap. Years ago during an phone interview for a position that wasn't going to use Python, I was discussing that the current python script was exponential, then I wondered what would happen if I just let it run. It very quickly completely froze my laptop. In VisualWorks Smalltalk, I would have been able to Ctrl-Y interrupt into the "emergency evaluator." Python has nothing like an "emergency evaluator." How uncivilized of it! Interpretation of my interviewer: I am a stupid fake programmer person who doesn't understand exponential time/space complexity. [sigh] -- No I just don't understand why someone would build a tool like that! I guess I was spoiled.
While not quite ready for a 1.0.0, there has been some neat stuff going on in hyper: over the last week, the tokio branch added support for TLS, and from what I hear, is mostly waiting on tokio's initial release to be merged into master. Soon........
Me too, even though I was a bit surprised by the announcement: with the undergoing work around async IO and Futures, I don't expect hyper to stabilize quite soon.
Typesafe HTTP implementation? Meh. I go back and forth on stringly typed vs strong typing. Just this weekend I wrote an app in Objective-C instead of Swift, and it's already close enough to 1.0 that I can start using it myself. I originally tried to do it in Swift but the IDE support is just way too lacking and buggy (still!) compared to ObjC. Point being, string-typing and dynamic typing aren't really all that terrible as I keep thinking they are. It gets the job done. Sure, something will always be better. But I've given up at aiming at perfectionism in programming. There's no such thing as The Perfect Language / Paradigm / Type System / etc.(TM). I'm too old and tired to keep chasing that rainbow. Pretty sure the pot of gold's in front of me all along and I keep just not noticing it and tripping over it.
> We are shipping a fix for a very common issue: if you're using a foreign keyboard, such as Portuguese, Norwegian, Swedish etc, you weren't able to type some characters like á, ä, ~ and so on. That's not the case anymore!
emphasis mine.
I have to say I'm pretty tired of this attitude that the whole world should use the anglo-centric defaults (but in case you won't we add support for you later).
Regrettably most of us developers (even those of us who live in non-english speaking counties and don't speak english natively) seem to just "settle" for the english keyboard layouts when we are developing. We tell our self that the english layout is "superior for programming". Perhaps we are correct (I doubt we are), but that is irrelevant. When we think like that we are causing accessibility problems to a huge portion of the users of our products.
What bothers me most, as an Icelandic developer who prefers my native keyboard layout, is how we shun ISO third level shifts[1]. For example, when I type TILDE (U+007E; ~), I press and hold the third level shift (remapped to <Caps Lock>; traditionally <Alt Gr>), press and release <?>, and release the third level shift. Most English speaking developers use the ANSI keyboard layout[2], which historically doesn't have a notion of third level shift. Mac OS X is a terrible perpetrator by mapping the third level shift to the <⌥ option> key, which also serves as a modifier. I never know when I type COMMERCIAL AT (U+0040; @) (<Third Level Shift> + Q) whether I will input the character or quit the program.
It says right at the top of the home page, it's a Terminal emulator, it just happens to be written with JavaScript and HTML.
It would be nice of the title of the HN post said this (Hyper 1.0 Released, A Terminal Emulator built using Web Technologies), but it's easy to figure out once you go to the home or github page.
I fault the OP for the poor title, not the project.
I'm really sooo tired of projects being introduced through Github pages which have all kinds of non-descript change-lists and commit SHAs on them but lack even the most fundamental kind of information, like what the heck does it do, especially when there's about 100 other pieces of software out there with the same name.
In this case the project does actually have a proper website (which btw. is nowhere mentioned on the Github page). Why not just link to the website instead? Is that somehow not cool enough any more?
FWIW, if you get linked to a github release page then click on the project name at the top and you will get the main repository view with a short description (above the file list) and the full README below that.
Windows support is really appreciated! I just switched from a MacBook to a Surface Book, and the biggest pain point has been finding a good terminal to replace iTerm2. I'll definitely try this when I get home!
Try out conemu https://conemu.github.io/ for windows. Its great because I prefer to use git bash on windows, and you can default it and switch easily between that or powershell or cmd or WSL
This is probably not the best option for you but if you want unix terminals cygwin X11 still totally works, albeit with the inevitable disadvantages of cygwin.
I run full-screen cygwin X11 so I can use fvwm2 as a manager for multiple xterms, and still find it vastly superior to any alternative for me, but I'm pretty sure I'm an outlier in that regard.
I tried hyper a week or two ago. It's fun and nice... zippy enough in everyday use and fairly pretty. But I had problems pasting commands into it, and it seems incapable of remembering multi-window layouts between sessions.
But, everybody has their own list of must-haves and deal-breakers. I'm sure hyper 1.0.0 does enough for a significant number of people out there. Congrats to the team.
A 50MB download ( zipped ) for an Terminal App. 64MB for Slack on Windows.
150MB+ when installed, Few hundred MB Ram when running.
And just like Web Browsers, lot of little lock up and Jank.
Seriously I dont mind Apps with Web Technologies, but these problems needs to be taken into account for improvement. Opera, before switching to Chrome / Blink, were an Full Browser, with Email, RSS Reader, all packed under 11MB.
Terminal is one of those mission critical apps that I must be able to depend on at all times. The last thing I want is for my terminal program itself to be leaking memory all over the place which seems to be common with electron type apps.
Dependability has to come before the bells and whistles and this appears to be a long ways out just skimming through the amount of bugs that are caught in this comments section.
Zeit team is amazing, thier OSS is examplary; what they've achieved/ing in relatively short time is astounding. I highly recommend their blog [1], an absolute joy to read.
Yay! My favorite new feature is "vibrancy" using the modern OS X API for that. Terminal.app still uses Quartz filters for the blur effect, which while more flexible offers way slower performance whenever there's something animated on the background, like a video playing.
Looks really cool but I'd want to better understand how a web technology console application would fare performance and stability wise compared to terminal.app, iTerm 2 and other console applications. Looks cool though and congrats to the team on hitting 1.0.0
I've been very surprised so far by how little memory and how performant this terminal is even though it's written in JavaScript and runs on electron. All the other electron apps I know of are kind of known to be performance hogs (atom, slack). So it's refreshing to see something neat like this that also works well.
Why? I don't need a hyper extensible terminal emulator. All I need is some form of customization (so I can use solarized: I happen to like it), the ability to select fonts (Terminus is the best font, by the way), and the ability to produce Unicode characters properly (and even that is optional). Oh, and VT-100 emulation at the very least. That's just kind of expected.
URxvt, XTerm, etc. do this very well, and they're also quite fast. Why would I switch to an implementation that is demonstrably worse at everything I care about, and better at things that don't matter? Do I just really hate my DRAM, and want to see it under constant max use?
I find the idea interesting, but the execution leaves much to be desired. I'm using it on Windows and some of the basic readline shortcuts don't appear to work correctly (e.g. ctrl+a is doing select all instead of moving the cursor to the beginning of the line.) It also doesn't seem to have any mouse support, like the ability to scroll or resize panes in tmux. There's a very real need for better terminal emulation on Windows, but this doesn't seem to deliver.
I’ve been using Hyper on and off for a while now. I recently returned to zsh in iTerm2 for the same reasons many others mentioned here. It _works_.
I still do toy with Hyper from time to time. A feature I do like is the hotkey-enabled pane-splitting. CMD+D to open a vertical pane. CMD+SHIFT+D to open a horizontal pane. CMD+W closes them — though I wish this option would prompt as I’ve accidentally closed panes a number of times by a poorly-timed keystroke. For somebody who doesn’t use swap files with VIM, this can be a killer.
I am very much looking forward to installing this on my Windows machine tonight, however. ConEmu is a beast, but sometimes I just want quick, simple access to a text editor or a few commands in a familiar environment.
Some days jumping into ConEmu feels like an alien world (especially when it comes to setup/options), and Powershell just so different from what I work in most of the time.
The bit of crossover, even if there are a few sacrifices, is appreciated as an option here.
[+] [-] woodruffw|9 years ago|reply
* The .deb package seems to install everything in /opt. This seems to be pretty common practice for electron apps and isn't a huge deal, except for the fact that a wrapper executable/link isn't installed anywhere else on the system. As a result, I had to go looking for the install directory and invoke hyper as a fully-qualified path (i.e., /opt/Hyper/hyper).
* Hyper tries to run `npm prune && npm install --production` on every startup, which (naturally) fails when the user doesn't have node (much less npm) installed globally.
* Most control modifiers don't work on Linux at all, making it impossible to work inside of programs like nano, alpine, etc.
* Throughput seems to be an issue. Running `cat /dev/zero` locked the entire application up.
These problems are understandable considering the (often unappreciated) complexity of terminals, but they're also surprising in a 1.0.0 release.
[+] [-] IshKebab|9 years ago|reply
Me too, although in the case of terminal apps, they really haven't moved on since the 70s. How many support images? Completion popups? Browsable history? Current directory widget? Collapsible output?
Honestly if it takes some insane over-engineering to get some actual innovation in terminal apps I'm all for it! And when I say "innovation" I mean "obvious features that should have been there decades ago".
[+] [-] kolme|9 years ago|reply
Wait, what, really? Wouldn't that leave you without dependencies if you don't have internet connection at the time?
Seems a very dangerous thing to do for many, many reasons.
[+] [-] paulddraper|9 years ago|reply
Hm, just like another commonly installed package...
Though it installs executables[+] [-] baldfat|9 years ago|reply
Ranger.py runs very smooth and vim is fine. I am kind of shocked that there was no delay and I am on a 8 year old dell.
[+] [-] ComputerGuru|9 years ago|reply
(I literally have not tried a single other thing. I made a typo on the very first command I wanted to try. I tried ctrl+c to start over, and it did not recognize it.)
EDIT
I gave it another chance. If I start a bash shell, it recognizes ctrl+c, but it does not recognize the up arrow key. Not impressed. Don't get the hype. Sorry.
EDIT2
Is this being brigaded? It's the first result on HN without clear reason, and I'm being downvoted immediately for posting this feedback. What's going on?
https://github.com/zeit/hyper/issues/1127
https://github.com/zeit/hyper/issues/1126
https://github.com/zeit/hyper/issues/1121
https://github.com/zeit/hyper/issues/1129
EDIT3
OK, seriously, what's with the downvote brigade? I'm at -3 now.
[+] [-] barbs|9 years ago|reply
https://news.ycombinator.com/newsguidelines.html
[+] [-] arcticfox|9 years ago|reply
My experience with the Zeit team is that they're very responsive and interactive via GitHub - I'd be surprised if the issue isn't fixed soon
[+] [-] DiNovi|9 years ago|reply
[+] [-] joshmanders|9 years ago|reply
[+] [-] GrinningFool|9 years ago|reply
I've been looking for improved terminal clients for years. To that end, I have a simple benchmark that I run:
Then repeat the same within a tmux session. In both cases I check to see if I can interrupt the output with Ctrl+C.Hyper on linux under X actually stops rendering the output very quickly, but all subsequent input is ignored. The tmux case was the same. In addition, CPU usage spiked to 2 procs each @ 100%. Interrupting the shell was not possible with Ctrl+C or other means, though I was able to `SIGKILL` it.
This particular test is my personal benchmark of whether I can use a terminal - because nothing is more frustrating than having to kill an entire session because of a typo or bad command that generates a lot of output. Too, clients that struggle with this also have a tendency to slowly render changing curses layouts on large terminals - such as when resizing tmux panes, or rendering large amounts of scrolling content in a sub-region of the terminal.
This is a simple case, and many native clients struggle with it as well. So far, although it's not my most-favorite to use, `konsole` is the only one that handles this well.
[+] [-] kLeeIsDead|9 years ago|reply
[+] [-] stcredzero|9 years ago|reply
[+] [-] the_mitsuhiko|9 years ago|reply
[+] [-] tekacs|9 years ago|reply
[+] [-] steveklabnik|9 years ago|reply
[+] [-] bfrog|9 years ago|reply
[+] [-] ffjffsfr|9 years ago|reply
[+] [-] pimeys|9 years ago|reply
[+] [-] stymaar|9 years ago|reply
[+] [-] sdegutis|9 years ago|reply
[+] [-] runarberg|9 years ago|reply
emphasis mine.
I have to say I'm pretty tired of this attitude that the whole world should use the anglo-centric defaults (but in case you won't we add support for you later).
Regrettably most of us developers (even those of us who live in non-english speaking counties and don't speak english natively) seem to just "settle" for the english keyboard layouts when we are developing. We tell our self that the english layout is "superior for programming". Perhaps we are correct (I doubt we are), but that is irrelevant. When we think like that we are causing accessibility problems to a huge portion of the users of our products.
What bothers me most, as an Icelandic developer who prefers my native keyboard layout, is how we shun ISO third level shifts[1]. For example, when I type TILDE (U+007E; ~), I press and hold the third level shift (remapped to <Caps Lock>; traditionally <Alt Gr>), press and release <?>, and release the third level shift. Most English speaking developers use the ANSI keyboard layout[2], which historically doesn't have a notion of third level shift. Mac OS X is a terrible perpetrator by mapping the third level shift to the <⌥ option> key, which also serves as a modifier. I never know when I type COMMERCIAL AT (U+0040; @) (<Third Level Shift> + Q) whether I will input the character or quit the program.
[1]: https://en.wikipedia.org/wiki/ISO/IEC_9995#Levels_.28.E2.80....
[2]: https://en.wikipedia.org/wiki/Keyboard_layout#/media/File:AN...
---
Edit: Formatting
[+] [-] thenomad|9 years ago|reply
I've clicked through several pages and still don't know, aside from the fact that apparently it extends the command line in some way.
But I might just be missing something.
[+] [-] bmurphy1976|9 years ago|reply
It would be nice of the title of the HN post said this (Hyper 1.0 Released, A Terminal Emulator built using Web Technologies), but it's easy to figure out once you go to the home or github page.
I fault the OP for the poor title, not the project.
[+] [-] rsp1984|9 years ago|reply
I'm really sooo tired of projects being introduced through Github pages which have all kinds of non-descript change-lists and commit SHAs on them but lack even the most fundamental kind of information, like what the heck does it do, especially when there's about 100 other pieces of software out there with the same name.
In this case the project does actually have a proper website (which btw. is nowhere mentioned on the Github page). Why not just link to the website instead? Is that somehow not cool enough any more?
[+] [-] teach|9 years ago|reply
This is definitely not obvious from the release notes.
[0] https://hyper.is/
[+] [-] tvon|9 years ago|reply
[+] [-] jsjohnst|9 years ago|reply
[+] [-] loansindi|9 years ago|reply
[+] [-] johns|9 years ago|reply
[+] [-] dlbucci|9 years ago|reply
[+] [-] angryasian|9 years ago|reply
[+] [-] robzhu|9 years ago|reply
[+] [-] rc_bhg|9 years ago|reply
[+] [-] mst|9 years ago|reply
I run full-screen cygwin X11 so I can use fvwm2 as a manager for multiple xterms, and still find it vastly superior to any alternative for me, but I'm pretty sure I'm an outlier in that regard.
[+] [-] beardicus|9 years ago|reply
But, everybody has their own list of must-haves and deal-breakers. I'm sure hyper 1.0.0 does enough for a significant number of people out there. Congrats to the team.
[+] [-] ksec|9 years ago|reply
150MB+ when installed, Few hundred MB Ram when running.
And just like Web Browsers, lot of little lock up and Jank.
Seriously I dont mind Apps with Web Technologies, but these problems needs to be taken into account for improvement. Opera, before switching to Chrome / Blink, were an Full Browser, with Email, RSS Reader, all packed under 11MB.
[+] [-] jakebasile|9 years ago|reply
[+] [-] debaserab2|9 years ago|reply
Dependability has to come before the bells and whistles and this appears to be a long ways out just skimming through the amount of bugs that are caught in this comments section.
[+] [-] tlrobinson|9 years ago|reply
I'd probably use it on Windows though.
[+] [-] component|9 years ago|reply
Congrats to the team and all the contributors.
[1] https://zeit.co/blog/
[+] [-] amingilani|9 years ago|reply
[+] [-] TheCoreh|9 years ago|reply
[+] [-] kkirsche|9 years ago|reply
[+] [-] mevile|9 years ago|reply
[+] [-] ggregoire|9 years ago|reply
[+] [-] qwertyuiop924|9 years ago|reply
URxvt, XTerm, etc. do this very well, and they're also quite fast. Why would I switch to an implementation that is demonstrably worse at everything I care about, and better at things that don't matter? Do I just really hate my DRAM, and want to see it under constant max use?
[+] [-] segphault|9 years ago|reply
[+] [-] 52-6F-62|9 years ago|reply
I still do toy with Hyper from time to time. A feature I do like is the hotkey-enabled pane-splitting. CMD+D to open a vertical pane. CMD+SHIFT+D to open a horizontal pane. CMD+W closes them — though I wish this option would prompt as I’ve accidentally closed panes a number of times by a poorly-timed keystroke. For somebody who doesn’t use swap files with VIM, this can be a killer.
I am very much looking forward to installing this on my Windows machine tonight, however. ConEmu is a beast, but sometimes I just want quick, simple access to a text editor or a few commands in a familiar environment.
Some days jumping into ConEmu feels like an alien world (especially when it comes to setup/options), and Powershell just so different from what I work in most of the time.
The bit of crossover, even if there are a few sacrifices, is appreciated as an option here.
[+] [-] otabdeveloper|9 years ago|reply
I wonder if it will end the same way. Will Javascript eventually go on to die where all languages go to die -- as as enterprise backend language?