Developing with an iPad - One week in
This is part 8 of my series on developing with only an iPad. Part 1
I’m one week in to my experiment developing with only an iPad, and so far it is going better than I initially expected. As well as the code editor setup covered in previous posts, I have been able to work on app code, update my jekyll blog template and even fix some bugs in a SharePoint app.
###Self-editing code There is something very satisfying about changing the code then refreshing to see the updated editor without ever switching windows. Of course, you do need to be careful - it wasn’t so fun when I realized I had set up CodeMirror but left e saving connected to a text area that no longer existed.
###Typing Typing isn’t as important as it might seem at first, but the editor does need to help with the bits the standard on screen keyboard doesn’t do so well. The most basic form of this is additional keys for symbols used only in code, but can extend to things like autocompletion and code templates.
###Autocomplete Autocompletion needs different goals on a tablet, so the standard approach may not work. Normally you type the first character of a name, and the system fills in the rest, but you have to enter all symbols manually. With an on screen keyboard, typing names is fairly easy and the symbols / structure are the hard part that you need help with.
###Copy/Paste I find myself copying code around more than I do on the desktop, usually fairly small pieces like setting up an empty click handler. I’m considering setting up an “insert snippet” command to make this easier, but it’s possible that standard copy/paste is a better solution if I make it easy to switch between files - once there are a lot of options available it is easier to remember that I already implemented buttons on another page than to search the snippets list.
###Flow It actually isn’t too hard to get into a flow state coding on the iPad, in fact in some ways it is easier than when I have to sit down at a desk. You just need tools that don’t interrupt the flow - regular typing is fine, but three slightly confusing keystrokes for every angle bracket gets seriously annoying fast.
###Debugging Server code can be debugged on the server and isn’t a problem, but client script debugging is a bit limited. Trying to run a client script with node is a useful trick if a syntax error breaks the app completely. Adding some code to override console.log would probably get me fairly close to my normal debugging process. A more test driven approach may also be worth looking into, so that more can be tested on the server, but e errors I run into are almost always UI.
###Next I’m going to continue experimenting with the code editor - I think I have the basic setup right, but there are plenty of small adjustments to make. I also plan to try out a bigger piece of development - rebuilding Issue Unity to not use jQuery Mobile.
Then there is the complex CSS development - I haven’t really gotten into any of that yet, and want to see how close I can get to my usual setup of playing with values in web inspector.