As I mentioned last week, I’m trying to make my iPad Air 2 actually useful in my life. Currently, it’s a rarely used content portal despite being almost as powerful as my MacBook Pro and having a fantastic app ecosystem.
Plenty of folks have talked about the beauty of being able to code on an iPad – there’s apps like Coda and Textastic that have been germinating for years in the App Store – but there’s so much more to web & software development than just writing code. You need a local development environment. You need to be able to manage changes to your code via Git or Subversion. You need to be able to show people real changes before pushing those changes to your live site or app. You need to be able to read and manipulate data. There’s plenty more I can’t even think of, since – hey now – I’m not actually a full-time developer.
That said, I manage a few sites built in self-hosted WordPress, one of which is this site. I got tired of having to find and fix bugs with the old theme, so I wanted to see if I could simply change a theme and hack it to my liking, all via my iPad.
Why is this not so intuitive to the untrained eye?
WordPress has an amazing theme directory of its own, which allows for direct installs to your website; plus there are thousands of premium theme repositories across the Internet which package beautiful themes in nice .zip packages, which can be extracted easily within your hosting environment for use. I’ve been doing this for years and it’s second nature at this point to launch a WordPress site and tinker with countless themes. However, this is a bit harder to do on iOS:
- WordPress’ iOS app has no awareness of its own theme directory;
- There’s no true in-house file management solution in iOS;
- iOS’ handling of .zip files in itself is murky at best;
- There’s no obvious way to set up a local environment of your WordPress site on iOS to tinker with the theme before pushing it live
So, how should we deal with this?
Finding and getting a new theme
As I mentioned before, it’s really easy to find WordPress themes on the Internet – just Google it. When I find a theme I like, I need to download the .zip file containing its assets and somehow get it onto my hosting platform.
I’ve come to really appreciate Readdle’s Documents app for all my file downloads and management. It has its own built-in browser, which handles file downloads much more seamlessly than Safari’s stock file handling. I’ve found that some WordPress theme providers require a login to access a theme’s files (ThemeForest, for example), so having Documents for both the logged-in experience on one of these sites and the downloads I need to perform is really helpful. I can then open up and look at the files within Documents, and upload them straight to my FTP server provided by my hosting provider – all within Documents.
Testing the theme out
Web & software developers commonly refer to a ‘local’ environment for making changes to their code & testing those changes. I haven’t yet found a good way to do this all directly on my iOS device; however, with websites, it’s pretty easy to set up a private sandbox to test out new themes before pushing them to my live site.
I use Namecheap for both my domains and shared hosting; they give me a pretty robust SFTP server to host all my files for my websites. I’ve set up my 3 main websites to point to this server, as well as 3 “sandboxed” versions of those websites in a subdirectory – /sandbox/brandonlucasgreen/, for example. In that folder is another WordPress install which is private to the world and only accessible to me, which I set up simply through the cPanel interface. Setting up a new WordPress install in iOS Safari isn’t quite as speedy as it is on my MacBook Pro, but it’s not terribly hard to get done.
What doesn’t work well on a 9.7″ screen is WordPress.com’s stock post editor.
Thank goodness for Ulysses, which is so much more pleasant to look at, extremely good at organizing my writing (both long- and extremely short-form), and can get my posts to WordPress via a simple Workflow.[^1]
Having a sandbox to break things within is great, but I also wanted to try some sort of revision management on the iPad. Turns out there’s a great app for that in Working Copy. I love this thing – I can make simple code changes right inside the app, push them to the sandbox git repo I created, see the changes instantly, and then push them to Github and production once I’m satisfied.
Messing with data
Occasionally I need to hack together posts and other WordPress settings in various states, and sometimes it’s easier to do that directly in the database WordPress uses, rather than in WordPress’ (admittedly slow) admin interface. WordPress operates on MySQL, and I’ve found that Navicat’s MySQL client for iOS is a solid app for dealing with this.
This is just a start, but after messing around with a few apps and getting comfortable with a smaller screen, I’m reasonably confident that I can manage my website entirely from an iPad. Next up: working with audio on an ipad.
[^1]: They’re even adding native WordPress support in Ulysses 2.6 coming soon!