I do JS front-ends, back-ends in Go, I design in Figma(https://figurative.design/) and Affinity Designer/Photo. For coding my daily driver is Blink Shell(They released a free community edition if you want to try: https://community.blink.sh) with Mosh. I never had a feeling that my terminal is just connected to VPS. Whenever I open Blink, everything is still there as I left it. Slow connection? No problem with Mosh. Constantly changing networks or IP addresses? You will not lose a connection even for a minute.
After a long year after the switch to my only device at home, I can tell you that I never looked back nor needed any other machine. Maybe it doesn’t cover everyone’s needs, but you can’t say it’s close to zero. Most of current development can be done on it. :-)
> With Mosh and SSH, Blink is rock-solid, fast, and your all-day-long companion.
Okay, it's starting to get crowded but I want to know more so I scroll down to get some details:
> Mosh was built for constant mobile connectivity.
Isn't this the Blink site? Or is it also called Mosh? Why am I getting the history of an app/service/Lord-knows-what before being told what it is?
> You can flawlessly jump from home, to the train, and then to the office thanks to Mosh.
Still on about Mosh and not only is there not a peep about what it is, I still don't know what Blink is.
> Blink is rock-solid connected all the way.
Now we're back to Blink. What is it? Doesn't matter, it's good! Trust us, the people who won't tell you what it is. What is Mosh? Who knows!
If I guess that Blink is a shell and Mosh is some kind of networking facility will I a) be correct, and b) have guessed more detail about them in a few words than their home page tells me?
Disappointing.
- Tell me what it is
- Tell me why it exists
- Stop with the ad copy and buzzwords until the first 2 points have been addressed
That's what I want from a landing page / home page.
"THE PRO TERMINAL FOR iOS & iPadOS", from the front page.
> - Tell me why it exists
" You bought the latest Pro device, loved it, and then you wondered...
…Can I use it to replace my laptop?
Yes, you can
Blink was built as the tool we wanted to use all day. We were tired of User Interfaces being on our way, and of connections that couldn’t even last for 5 minutes... ", from the front page too.
> - Stop with the ad copy and buzzwords until the first 2 points have been addressed
They have been.
Then what's Mosh? Why bring it up?
> " You bought the latest Pro device, loved it, and then you wondered... > …Can I use it to replace my laptop?
No, I didn't but I know it's supposed to be appealing. The original comment about it was more appealing than that line. Still.
> Yes, you can
Can I? Because I can "code all day from the beach"? (which doesn't sound fun, actually)
It's facetious, it's anodyne while striving to be zippy, and worst of all, it's meaningless. I've seen half-arsed Github READMEs that are more informative. Do I really have to pull out alternatives to show the difference? Okay then.
There is ZeroTier[1], which I'm going to guess is a Mosh equivalent as I have zero (ha) desire to find out any more about Mosh. This is their initial blurb:
> Connect team members from anywhere in the world on any device. > ZeroTier creates secure networks between on-premise, cloud, desktop, and mobile devices.
Now that answers my questions and the rest of the page goes into more detail.
Now for a shell - let's take Fish[2] because I've heard about it but never bothered with it. This will be fun…
> fish is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family.
It then goes into features which is an indirect answer to the why so I'll give them half marks there.
Oops, my mistake, it's a terminal we need. Since I use iTerm[3] nowadays:
> What is iTerm2?
> iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.14 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.
> Why Do I Want It?
> Check out the impressive features and screenshots. If you spend a lot of time in a terminal, then you'll appreciate all the little things that add up to a lot. It is free software and you can find the source code on Github.
It's like they read my mind, or they actually followed a very simple recipe that I had hoped most people were aware of. I think this can be improved but it's still miles better than the copy Blink is using.
I'd suggest employing this bloke[4], or taking some of the advice given out by fellow HNers there.
The most useful is ssh, which works as you expect (blink has code to manage keys etc). But iOS/iPadOS also terminates non-foreground apps. For example you could switch from blink to a massive web page in your browser, and then switch back again and blink would be relaunched. mosh is a connection-less protocol (setup is done over ssh first though), so you can keep sessions going across blink being killed and restarted, and even if you change IP address! I personally use tmux so this doesn't matter.
The shell commands are useful too. For example you can access iCloud files (available on every device) and local iOS files. You can do network diagnostics (ping, dig, nc etc). You can scp/sftp files back and forth. And then you can operate on them using sed/awk/grep etc.
It is quite challenging to explain all this, as you noticed at the web site. An example of a more GUI style ssh client is https://www.panic.com/prompt/ and they deal with keeping connections described here https://library.panic.com/general/ios-background/
There is a general command line with multiple commands built in at https://libterm.app/ and Blink is built on that. Note that you can even do things like compile code with clang, but the resulting "executables" are interpreted and not native code (again due to iOS policies).
Another alternative is https://ish.app/ which runs Alpine Linux userspace and interprets x86 instructions.
In short an iOS/iPadOS ssh client is more complicated than you'd expect, and they all have varying degrees of workarounds for app permissions, termination, maintaining connections in the background, etc. The blink site tells you more about one of those solutions (mosh) than describing the problem it addresses in the first place.
I have 12.9 Pro model from 2020 with only folio case and pen. I own an external keyboard but only use it at home. I also have SIM, so more or less I have always a decent internet connection no matter where I am. Feat that is impossible with MBP without hotspot from iPhone. ;-)
Yet, the whole magic for me is in applications, having native app for Netflix, HBO, Reddit (Apollo) is a game changer for someone who used only Safari, Figma nad iTerm2 in full screen on a Mac, and rest was just browser based stuff. I could lie down and read some news, respond to tweets, scroll through Reddit, code in Blink and design using pen and Figurative at the same time watching Netflix without having a MBP on my laps baking my balls. ;-)
And, yes, external keyboard isn’t as bad as most people tell.