Stupid things that don’t work on an iPad with Cloud9
Long title, I know. Sorry.
As I’ve mentioned in the past, my preferred computing device right now is an iPad Pro. That’s enabled by my favorite development environment, AWS Cloud9. A complete end-to-end dev environment in the cloud, accessed through a browser? It’s a dream come true!
But not everything is sunshine and roses. While it works, it doesn’t always work well. Some of the complaints are fixable by AWS, which means they can be fixed. Some are only fixable by Apple, which gives me less hope that those things will ever be fixed.
First (and second)
Here’s a screenshot of the Cloud9 terminal. If you’re reading through it, you’ll notice I had an Elixir/Phoenix server running. I suspended the process, then used ps aux
to find the ID of the server’s PID, then sent a kill -9
signal. Why didn’t I just hit ctrl+c
?
BECAUSE IT DOESN’T WORK.
I don’t know why. ctrl+
works with basically every other keyboard shortcut, so I have no idea why ctrl-c
doesn’t work. So instead of using one keyboard shortcut, I’m using one keyboard shortcut, greping through the processes, and issuing a kill signal to the server. (update:, ctrl+\
works as long as you can send SIGQUIT as opposed to SIGINT)
Second thing you might notice… what’s the command I’m about to run? I have a command typed into the prompt and all I have to hit is the enter
key to run it. Except I have no idea what it is that I have typed, because the iPad puts a giant home bar right where that command is being typed. And you can’t move it or get rid of it. And it even shows up in screenshots for some reason. It even shows up even though I have a Magic Keyboard attached and the Magic Keyboard allows you to perform the same action with the trackpad.
Third
The third annoyance is pretty much impossible to get a screenshot of, but is actually a much bigger problem than the first two: you can’t use the trackpad (or mouse scroll wheel) to scroll inside the code editor. This actually seems to be intentional behavior on the part of Webkit (as documented on their issues tracker here). Basically the way iOS treats scrolling on an iPad is by firing pointermove
events, even though the pointer is not moving. Cloud9 (and Codespace) expects wheel
events, which means nothing happens. Oddly enough, actually scrolling with your actual finger on the actual screen does give the expected behavior, so Apple is treating the scrollwheel and trackpad differently than actually directly manipulating the screen.
Why? I have no idea.
This isn’t actually that big of a problem inside the code editor because like I mentioned, you can use your finger. It’s an absolute show-stopper in the file tree. Because you can’t scroll there either… not with a scrollwheel and not with a finger. So I end up navigating the file tree in the command line and at that point I’m just one step away from vim
and if I wanted to use vim I would use vim.
I don’t want to use vim. I want to use Cloud9. And I want to use my iPad to do it.
after hitting CTRL + z you can just issue `kill %1` to kill the last suspended command.