
Introducing Prompt. Nice SSH for iOS. - taylorbuley
http://www.panic.com/blog/2011/04/introducing-prompt-ssh-for-ios/
======
jrockway
So, as a UNIX hacker, here's what I don't get about the iOS community. There
is way too much excitement over the simplest things ever. Let's break down
some of the copy for this app:

 _Prompt is a clean, crisp, and cheerful SSH client_

What does that mean? What does a clean ssh client do; not commit any protocol
violations? What is crisp? When you bite into it, it's like a ripe apple? What
does cheerful mean? Is the ssh client really happy that it can make a TCP
connection to the intarwebs, especially for me?

What does this sentence mean to someone that wants to ssh from their phone?

 _it helps you when you need it, and stays out of your way when you don’t_

So when I want to be sshing, I can run it, and when I don't want to be sshing,
I don't have to run it? Splendid. It works like every other computer program
ever made.

 _Perfect for system administrators, web developers, movie-style hackers (“Let
me just TCP/IP into the UNIX port!”), or any person who needs to connect
remotely and type some magic._

So I googled for "ssh client", found your page, and you're telling me who uses
ssh clients. How would you get to this page without knowing what ssh is, and
how would you know what ssh is without needing to use it?

Anyway, a lot of happy-sounding words for ... a program that decrypts text
from the Internet and writes it to the screen.

~~~
danilocampos
> There is way too much excitement over the simplest things ever.

Simple things done well are among the most delightful discoveries I can make
in my human existence.

Have you ever had a perfect omelet? I mean, perfect? Fluffy, nice balance of
tasty fillings, not overdone? I have. Maybe twice. Each time, it was
_wonderful_. Wonderful for the fact that with just five ingredients, it
created subtle, delicious flavors and enjoyable textures. Wonderful for the
discipline and focus necessary not to overcomplicate it with unneeded
flourish.

It's so simple, compared to some of the more elaborate meals I've eaten. And
that's what made it so special.

Another parallel is tools. Have you ever hefted a _really_ nice kitchen knife?
Maybe one of those numbers where the blade and the shank are forged from a
single piece of metal? Everything just swoops and melts together, and the
blade feels like a comfortable extension of your arm. Just the right weight,
perfect leverage, a tool that was agonized over by a craftsman desperate to
make the best.

Simple, relative to a Swiss Army knife? Absolutely. And that's where its power
comes from.

iOS has some things about it that reward simplicity and focus. It's really
easy to make an overwrought, complex app on any platform, and iOS is no
exception. With a lot of care and attention to detail, though, you can make
something that's simple, not distracting, made from the barest components
necessary and extremely good at solving a very specific problem with minimum
fuss.

When that happens, it's so nice to see.

*nix rewards people who build their own stuff, which is fine, but the tradeoff in this is craftsmanship. It's easy enough to get system tools to the level of "good enough for you" without ever reaching good enough for everyone. That, I suspect, is the cultural difference you've detected here.

~~~
cparedes
Wait, what?

ssh is _simple_.

I suspect that the typical person needing to SSH into a box is already someone
who knows how to operate in UNIX. Otherwise, you're using the wrong protocol.

~~~
danilocampos
It's not clear to me what you're objecting to.

This isn't a conversation about the simplicity (or not) of the SSH protocol,
but rather a conversation on why it's exciting when good, simple tools like
Prompt are created.

~~~
rhizome
You're making a category error against SSH with examples like knives, which
have a lot of variation. Let's see you write as much about having used a
"really nice chopstick" or typing an especially round period at the end of a
sentence.

There's a paradox here where ssh is already a good, simple tool, so how do you
improve on that? Make it easier to type on an iPad? I don't think that's going
to happen, so let's take a step back: putty, SecureCRT? Those can certainly
have some improvements to their interfaces made. So, we move from ssh client
to SSH Application.

Now, we get to the meat: given that you can hook an iPad to one of those
keyboard docks, does this make a compelling thin client? Anybody?

~~~
silencio
> Let's see you write as much about having used a "really nice chopstick"..

Even though I think you're splitting hairs (I think the omelette and knife
examples work well) I can write about a really nice pair of chopsticks: the
ones I'm using right now to eat my pasta for dinner. They're not fancy, I
think I bought the 5 (pair) pack for less than $10. But the weight of the
metal is just perfect. Not too heavy, not too light... just slightly heavier
than a wooden disposable pair of chopsticks. It's a very rounded square shape
with small grooves on the tapered end to give you enough purchase to grab
pretty much anything while not getting in your way and being difficult to
manipulate because of edges or overall slipperiness. There's nothing ornate
about this pair, which makes it easy to clean and to pair with random sets of
my modernist spoons and forks. Unlike the stereotypical huge plastic pair of
chopsticks at Chinese restaurants, the heavy flat metal ones that fatigue my
hand at Korean restaurants, and the wooden pair that splinters that comes with
my takeout, this is perfect.

Okay, so I went there. But I'm not kidding, I really do mean it about these
chopsticks.

> Make it easier to type on an iPad? I don't think that's going to happen

Really, that is the only thing I compare when I'm shopping for an iOS ssh
client. Ease of typing all the keys I need in an ssh client makes all the
world of difference on a screen as small as an iPhone, while it may not be as
big of a deal on iPad. Plus, Prompt works out-of-the-box just fine with my
bluetooth keyboard that I've seen, unlike iSSH and some other alternatives, so
that's already made the $5 well worth it to me.

~~~
gbog
Metal chopsticks are an abomination, gives a awful metallic taste. Should be
made of bamboo! And don't paint them please.

You see, chopsticks have much more variation than ssh, which is just a
protocol. It reminds me of a highly ranked recent post about a so-called magic
color highlighting theme. Then at the end of the comment one poor guy said:
"I'm I the only one to happily stick to the default?". Come on, there are most
serious things to discuss in the world, and on HN, than a slick ssh iPhone
app, or a color theme. For instance, we could discuss the next ssh protocols,
those that will allow to solve the "where is my file" problem (listed in pg's
list of ideas, can't find it right now).

~~~
silencio
I would normally agree, but for whatever reason these chopsticks don't give
off any metallic taste. They're quite odd now that I think about it, and
fairly difficult to find. I buy similar sets of them by randomly finding the
utensil section at asian supermarkets and weighing all the chopstick pairs by
hand.

Good bamboo chopsticks are useful too, but finding the right weight/size
combination is usually the difficult part for me. Part of what I think makes
my metal chopsticks so awesome is that they're not too light or too heavy, and
bamboo usually end up being on the lighter end. I have small tremors in my
hands most days and a little extra weight makes all the difference in ease of
use.

> Come on, there are most serious things to discuss in the world, and on HN,
> than a slick ssh iPhone app, or a color theme.

Personally, I think discussions about usability and good design are
worthwhile, even on HN. Your product or vision or what have you is not as good
as it can be if you (or someone you work with) don't at least take those into
consideration. Why do I care that an iOS ssh client is polished on top of
technically 'just working'? It saves me time and effort I can then put into my
own work, at the least. And maybe that work could be something to improve on
ssh ;)

------
jimwise
I'd been using touchterm for a while, and had experimented with other iOS ssh
clients. They... worked, but the experience always felt a bit clunky.

I've been using prompt for a day now, and so far it feels better than the
others. The app design feels really clean, the method of expanding the
keyboard to handle modifier keys and frequently-used non-alpha keys works well
without grabbing too much screen real estate (this is clearly visible in the
screen shots for what it's worth).

Finally, the terminal emulation has been flawless for me so far. Emacs runs
well (and is quite usable with Prompt's modifier key placement, unlike in
other iOS ssh clients I'd tried; remember, folks, ESC is Meta, Meta is ESC).
touchTerm had some screen lag/partial refresh issues for me with Emacs --
these may have been fixed in later versions, though, as I gave up at some
point.

In short, I like it.

obDisclaimer: I don't know the developers. I don't have a dog in this fight. I
do like the app. I'm not the only one who likes it though -- see the
daringfireball take here:

<http://daringfireball.net/linked/2011/04/14/prompt>

~~~
dhimes
I just bought it. It is slow and unresponsive to me- I have to wait for the
screen to catch up with my typing. I'm on an iPhone4- so it's not like I'm
typing fast. Nice, clean design though.

~~~
mitchty
Been lurking on HN for a while, finally decided to comment for once.

Same experience on a 3gs (I've been waiting for the white 4, not sure why
anymore), painfully slow to do anything, including just closing a connection.
I just gave up waiting and let tcp time it out.

The biggest killer of being able to use it was readline support is horrid.
First thing I did was login and escape-/ + ssh + n a few times and half the
screen turned into some amalgamation of things that matched ssh. I didn't try
emacs readline support but expect its about the same.

Interface is spot on, but it has a long ways to go before it can do basic
terminal work. iSSH is still going to be on my homescreen for a while it looks
like.

------
ezy
iSSH is still better. Especially on an iPad, and most definitely if you use a
bluetooth keyboard once in a while [1]

Furthermore, I don't understand how someone could even make the remark that an
_ssh_ client reminds them of linux, and mean it negatively. :-) _I_ certainly
don't want an the equivalent IOS SSH client to the one Apple makes for OSX --
Terminal is rather shitty.

[1] BT keyboards on ipads don't support CTRL as a modifier for all keys, you
have to create a workaround. So far, iSSH is the only app I've seen that has
done it (By using option and remapping).

EDIT: Ga! Read the wrong tab.. was responding to Prompt and Grubers comments
on it (re: linux), but this link points to the actual app. Just clearing that
up... sorry.

~~~
swombat
As a happy user of Terminal, what's wrong with it? It's fast, it's simple, it
supports multiple colour profiles, it can be customised like any other
shell... What more do you want out of your terminals?

~~~
ezy
To choose a few obvious gaffes:

\- no xterm mouse support (no, option-click is not the same)

\- the utterly stupid default for PageUp/PageDown/Home/End, which is correct
for OSX UI, but utterly wrong for terminals.

Less obvious (relavent to UI):

\- No notification support

\- No window splitting (yes, screen works, but, re: changing panes, see xterm
mouse, above)

\- inability to launch a particular named window group from the command line
(if this _is_ possible, please tell me how! :-))

...And much, much more! [1]

[1] :-) And I guess that's about it for the things that bugged me compared to,
you know, the _actual_ xterm.

~~~
cpenner461
I've got Home/Down working correctly in my Terminal.app, you've got to go into
Preferences->Settings->Keyboard, then scroll down to find the "home" key,
click "Edit", and set the action as "send string to shell", and enter "\001"
as the string. Repeat for "end", using "\005" as the string.

Caveat - this is how my work laptop is setup, my personal one is set to
"\033[H" and "\033[F" for home/end respectively, but it works as well and I
don't remember how I set it up. I'm remembering having some issues with the
prefs wanting to escape the backslashes so "\003[H" ended up as "\\\003[H" or
something like that...

For PageUp/PageDown I find that applying the shift key with them does the
trick (at least in applications like vim/less). However you can probably apply
a similar trick for them in the prefs.

The Control key (jumping word boundaries) works sometimes for me, sometimes
not, haven't tracked that one down yet.

edit: by "correctly" for home/end I mean jumping to the beginning/end of a
line.

------
ceejayoz
Anyone got any ideas on getting a .pem key from EC2 into this? I got my non-
EC2 id_rsa into it just fine, but .pems seem to disappear.

~~~
Toucan
You can convert the .pem by doing something like:

openssl rsa -in test.pem > test.rsa

~~~
ceejayoz
Running that on my EC2 .pem yields this:

unable to load Private Key 56049:error:0906D06C:PEM routines:PEM_read_bio:no
start
line:/SourceCache/OpenSSL098/OpenSSL098-35/src/crypto/pem/pem_lib.c:650:Expecting:
ANY PRIVATE KEY

~~~
Toucan
Just checked the .pem I was given (by a person, not by Amazon) - looks like it
was an RSA format key all along. I'm a little confused - it's possible I'm an
idiot.

I'll check to make sure I'm an idiot by seeing what I can generate from Amazon
itself.

~~~
mpakes
I've noticed the same thing. AWS keys appear to actually be RSA keys, with a
.pem extension.

~~~
rbritton
They still don't seem to work with the app though. I've tried multiple
approaches and it keeps claiming the key was rejected by the server. The ssh
log only shows:

    
    
        Apr 14 21:20:51 ip---- sshd[31560]: Received disconnect from ---------: 11: Normal Shutdown. Thank you!

------
rauljara
Anyone downloaded this? Anyone have a sense of how it compares to any other
ssh clients?

I was super excited when I downloaded TouchTerm, but it was just so difficult
to do anything with it on my iPhone that I gave up, despite thinking it was
very clever. The Prompt screenshots at least look a lot cleaner than
TouchTerm's, but I don't want to go through another fit of excitement only to
never actually use it.

~~~
chesspro
I haven't tried out many other ssh clients, but I just bought prompt. I'm
really digging the little bar above the keyboard that adds the most commonly
used keys like esc, ctrl, tab, @, arrow keys. It makes my server admin jobs a
lot easier.

------
doron
Slightly off-topic I couldn't find a free SSH Ios app.

not that 4-5$ is a big deal, but there are myriad of ssh clients for free on
android, no doubt due to different clientele, and different developer
sentiments.

~~~
flyosity
And the well-researched statistics on Android users being less likely to
purchase apps.

~~~
nuclear_eclipse
Or mostly because all the good SSH clients are open source software, and were
created before the Android Market had support for buying applications, so they
have just remained free.

------
plusbryan
Hey @panic - I love the shiny new products, but could you pretty please update
Coda a bit? It used to be my favorite editor, but the lack of git is killing
me!

~~~
ten7
I thought git integration into Coda was an absolute must but after using Git
Tower, command line (inevitable) and really understanding how git works
(<http://ftp.newartisans.com/pub/git.from.bottom.up.pdf>) I've surprised
myself in that I don't see git integration as important any more.

More interested in code folding. Now THAT would be sweet.

------
reduxredacted
I'm presently using iSSH, which supports port tunnels (SSH Port Forwarding as
PuTTY calls it).

Could anyone enlighten me as to whether or not it supports SSH port forwarding
and how well that works? iSSH works pretty well, but it pops up regularly
warning that it's going to disconnect due to inactivity (despite the fact that
I'm actively using the port tunnel to RDP into something).

------
justinxreese
It's definitely one of the prettier SSH apps, but it faces the same barrier
I've seen with other SSH apps - typing is too slow! It will sometimes be a
full 2 seconds between when i finish a word and it starts appearing on the
screen.

Has anyone else noticed this or found one that doesn't do this? I'm doing this
on iPhone, maybe the iPad is better, but I don't see any reason why.

~~~
nuclear_eclipse
I assume the cause of this is the high latency in your cell phone's data
connection. I can eliminate most of the latency of using ConnectBot on my
Android phone just by being connected to Wifi instead of HSPA.

~~~
jrockway
readline should really emit some character when it enters and leaves line-
editing mode, so the line-editing can happen on the client side. It's not
annoying to wait 200ms after you've finished your command and are waiting for
the output. It is annoying to wait 200ms for your backspace to take effect.

~~~
Terretta
Welcome to dialup, average latency 220 ms.

------
lordlarm
The problem with ssh on iOS and then especially iPhone is the size of the
screen. When I'm eg. connect to irssi I can maybe see one line of previous
conversations.

And regarding 'Prompt', I dont see how Panic has made something 'new' here.
There are several ssh clients with favorites, shortcuts and nice designs. Some
are even free.

~~~
ceejayoz
The SSH clients I've used on iOS - iTerm, iSSH - have been decent but
unpolished. This one feels a lot more usable thus far.

~~~
freerobby
Agree, but iSSH is also crammed with helpful features like public key
authentication. Prompt is going to have to match those to become a favorite of
the hacker crowd.

~~~
ceejayoz
Prompt does have public key authentication.

~~~
freerobby
It wasn't clear to me how fully supported this is. Lots of people have had
issues with this, see the comments:
[http://www.panic.com/blog/2011/04/introducing-prompt-ssh-
for...](http://www.panic.com/blog/2011/04/introducing-prompt-ssh-for-ios/)

------
twir
ITT: pedantry over the words "clean, crisp, and cheerful."

------
sigil
Does anyone else have a major problem with the idea of using a closed-source
SSH client? Even if it is App Store reviewed, I just can't bring myself to
type production passwords into such a thing.

For this reason, and because I'd also like an on-the-go SSH client setup that
works on other devices, it would be great to see a browser based terminal
emulator and pty muxer like ajaxterm [1] really take off. It's almost there,
but currently not so usable in mobile Safari.

<https://github.com/nats/ajaxterm>

~~~
mryall
Even in your preferred case, you're typing your passwords into a closed source
browser on a closed source OS. You have to trust someone at some point.

Panic also seems to be a quite reputable company. They've been in the Mac
software business for a long time.

~~~
sigil
> Even in your preferred case, you're typing your passwords into a closed
> source browser on a closed source OS.

One could argue that iOS / Mobile Safari are both under incomparably more
pressure to remain secure compared to any individual app, but you're totally
right on a fundamental level. The truly paranoid should demand openness at all
layers.

> You have to trust someone at some point.

Whole 'nother debate. ;)

> Panic also seems to be a quite reputable company. They've been in the Mac
> software business for a long time.

No doubt about that. I wasn't insinuating anything about their intentions
(this didn't even occur to me until your comment). Just that an SSH client is
a pretty complex piece of software, and there are plenty of ways to make
mistakes. We've come a long way since the days of telnet and scrutiny /
skepticism has played a big part in that.

~~~
leejoramo
Panic has had SFTP built into Transmit since 1998, and a full SSH terminal in
Coda since 2007. So Prompt did not come out of nowhere, they have quite a bit
of experience in this problem space.

Still if you are in an industry that demands careful vetting of security, I
certainly agree one should not jump on a new SSH client right away.

------
cloudkj
I was just looking for a simple SSH client for the iPhone today, and was
disappointed that all the apps cost a few pretty pennies. Any recommendations
on the SSH client(s) that will get me the best bang for my buck?

EDIT: I caved and just bought Prompt. It is indeed pretty slick, though I
don't have other iOS SSH clients to compare it to. There does appear to be
some bugs: I can't seem to "disconnect" from a session, even though it's
already hung. The little "eject" icon in the servers list doesn't seem to
work.

------
krosaen
A bit off topic but anyone know how they do the fancy header with the pushpin
notes swaying forward as you hover over them?

~~~
zer0her0
A quick look @ the source looks like CSS3 transitions, specifically webkit
CSS3 transitions.

~~~
krosaen
ah good call, I was poking around the js

------
alexg0
How is this different/better then iSSH?

------
cambriar
I look forward to giving this a shot. I have been used to the Terminal
application on my iPhone, even with the gestures, and it was never any fun to
work with. I saw that you implemented arrows on the keyboard, and I was in.
Thank you.

I believe this is my first Tier 5 purchase, I'm such a bum.

------
mixmastamyk
Thanks for the advertisement. Would be nice to have a free ssh client for
ipad.

------
twism
Has anyone tried GNU Screen on this yet (before I plunk down the $5)? Thanks.

~~~
st3fan
Works fine.

~~~
twism
Nope. It did not.

~~~
jalada
Could you elaborate?

~~~
mieky
I had a hard time trying to use irssi inside screen. On each new line it would
refresh some 10-15 times and usually clutter most of the bottom half of the
screen. Definitely still needs work. With these problems fixed, it might well
become the finest iOS SSH app there is.

------
xuki
I type "exit" and the app _crashes_. I think this is a feature.

------
askedrelic
Does this have 256 color support? Anyone know of an iOS Terminal with 256
color support? Too much to ask for in a terminal? Heh.

~~~
jimwise
Haven't checked which color escapes (16 or 256) it actually supports, but it
does do the xterm-color color escapes just fine. GNUS looks really nice, for
instance. :-)

~~~
burgerbrain
The correct terminfo for 256 colours is xterm-256color, not xterm-color (which
is obsolete). Simply the 'xterm' terminfo is sufficient to indicate 16 colour
support these days.

~~~
jimwise
That's good advice on ncurses-based systems.

This is Solaris 10 (SysV curses, with a hand-imported xterm-color terminfo
entry). :-)

------
luckydude
So I bought this, didn't much care for it, anyone care to tell me how to kill
a connection?

~~~
avdempsey
Type exit.

...or, hit the globe icon which takes you to the connections screen, and tap
the eject icon.

------
ignifero
I wonder if this would get so upvoted if it was free.

------
chmike
This looks like spam to me.

~~~
jcsalterego
There's a flag for that™

