iOS (iPad) shortcoming: No screen lock without device sleep

Recently I discovered two apps that have allowed me to really begin to look at the iPad (Pro, in my case) as a viable travel-notebook replacement: Blink (a fantastic ssh client), and Coda 2 (development editor and ssh client combined). With these two, I can do work that was impossible, or at least extraordinairily difficult on my iPad.

This has lead to my discovery that being unable to lock the screen without also putting the drive to sleep is a surprisingly serious impediment. If I’m working with a few ssh sessions open to my development server and some network devices, and I have to leave the room for a moment or three, best practice dictates that I should not leave the iPad open. I therefore have no option but to put the device to sleep, which kills the open ssh connections.

Does anyone else find this to be a (nearly) show-stopping issue, or am I just a weird outlier?

Use mosh instead of ssh and you won’t have this issue. Blink is a great mosh client.

1 Like

Blink is a decent app, but it’s nowhere near as nice as Prompt, unfortunately.

And Prompt can’t add MOSH support because “freedom” (aka “GPL restrictions”).

That said, MOSH is still the best option available for someone who wants to maintain SSH connections.

Ideally I’d like to see Prompt develop a better system of automatic reconnection, but I don’t get the sense that Prompt sells enough copies for it to get much developer attention, unfortunately.

1 Like

I just now bought Prompt. I may not ever find a use for it, but I think that tools of sort and (reputed) quality need to be supported.

Mosh looks like a great app-specific solution one use case. Thanks for the heads up!

On the other hand, it also serves to highlight the issue: If locking without sleep were implemented then we’d have a solution for every use case, and it would be provided by the OS rather than having to be implemented by developers.

This is kind of endemic to trying to get work done with the iPad: You seem to end up in a sea of (hopefully-they-exist) workarounds to missing basic functionality. Some of that may be attributable to letting go of old paradigms, but some of it is just plain missing functionality that only becomes apparent when use goes from recreational to professional. I think that being able to lock the screen while keeping processes running and connections open is a very basic function of any professional computing device.

I think mosh (or some sort of persistent ssh) will be everywhere eventually; you shouldn’t expect ssh to persist on a desktop either right now, even if it usually does. But I understand wanting a middle state that secures an iPad without entering low power mode. Personally I’d like to see a “running process” badge/banner analogous to the phone, location and screen recording ones that would navigate to the app running a process when tapped, and maybe “lock with screen on” as an optional button to add to the control center.

1 Like

Of course, another point of view is that this expectation is a relic of an underlying platform (and software written for that platform) that really expects to be plugged into a wall outlet all the time and has only been incompletely grafted into a mobile form factor, while iOS is built around the efficient use of power as a finite resource.

If you look at iOS as a phone OS, that makes sense. Likewise if you look at it from the point of view of an iPad being a media consumption/entertainment device it also makes sense. But, if Apple is trying to push the iPad Pro as a professional device then they must be defining professionals as people who either only do work that can be interrupted, or who never have to go to the bathroom :slight_smile: (Or maybe they just think we’re so dedicated to our work that we’ll take our iPads with us to the bathroom? shudder)

But really, iPad Pros are no more resource constrained than most notebook computers. Features like this, and better access to storage options and such could be good and meaningful differentiators between the Pro and non-Pro iPad lines.

I don’t expect ssh sessions to persist on my computer as much as I expect to be able to lock my screen and return 10 minutes later to find my client software still connected to their respective servers, and that long-running job still running… Stuff professional users tend to expect :wink:

Edited to add: I really like your idea of a running process badge :slight_smile:

Or they’re defining professional iPad software as apps that are able to seamlessly resume after they wake from sleep.

That’s a good point. But I think that if that’s the case then Apple is out of touch as to what a great number of professionals do. And that’s fair enough as well: maybe the iPad simply isn’t able to replace a more traditional computer for us.

(I’m not running the iPad down, nor am I claiming that it has to be everything that I need for it to be in order for me to consider it a “pro” device. This is just part of my exploration of the device and how it fits into my work life (and how my work life may have to fit in with it))

What professional use case do you see that could not be written to seamlessly resume from sleep?

Any session based client/server application usually does not fare well when the client disconnects unexpectedly. More relevant to iPad users is any longer running computational process running locally on the iPad shouldn’t have to halt just because you have to step away. That would be, in effect, saying that you have to supervise the process personally, which seems silly.

The afformetioned Prompt and Coda fall into this category too. Until someone mentioned running mosh in Blink, I had no convenient way start a process running in an ssh session and not having to wait until it completes before being able to go do something else. Using mosh is a workaround, but it’s a kludgy one: it requires app by app support and I can’t use it with either Coda or Prompt.

I’ll turn this around and ask why you might argue (not you specifically, the general you) that being able to leave something running behind a locked screen is not something that pro users would want to do. Is there never a time when you want your iPad doing something for you without you having to watch over it?

Again, from a different POV, requiring the client to remain live in order to execute something on the server seems like much more of a kludge than a system that allows the server to maintain state and execute ongoing commands without constant babysitting from the client.

Local operations are more of a legitimate issue. iOS does allow local apps to prevent the device from sleeping while running (something that many video apps and others take advantage of. It would be nice if there was an API to allow apps to lock the screen, though I think Apple would want to limit that to apps that were truly doing local computation rather than just sitting around waiting for a remote server.

I agree, but that doesn’t mean it doesn’t happen distressingly often.

Honestly though, the scenario that I’m talking mostly about is stepping way for just a minute or five, something that happens fairly frequently.

One of the things that I absolutely love about the iPad is that it’s always on and ready. I touch the space bar twice and I’m presented with the device just as I left it. Having to reestablish connections every time I lock the device to step away really does add just enough friction to make it a jarring contrast to the expected experience.

You have made some very good arguments for well behaved applications that seamlessly reconnect (and given me some things to think about), but what I haven’t seen (and I’m not expecting this of you) is any convincing reason for not having a screen lock that happens independently (or at least at a fixed interval prior to) device sleep. Back when iDevices were new, they were very resource constrianed, but for the iPad Pro, that’s not the case anymore.

Anyway, I put in a feature request so if this does happen you can blame me :wink: