Working on an iPad
Today I learned to sync remote servers using github codespaces.
We’ve moved into our guest bedroom downstairs because we’re renovating upstairs. I’m now starting my mornings in the den instead of my office where it's warmer next to the fireplace and my iPad is my go to lap device. Since I’ve noticed that I get a good bit of traffic to the first post I ever made about working with VSCode on my iPad , I figured I should follow up with a bit more detailed information for any of you out there looking to do the same. Although I’ve got a laptop, my iPad pro, magic keyboard, & pencil is just more comfortable in bed, on the couch, or on the road. My laptop is kinda my reserve development machine, so I really don’t like the odds of spilling coffee on it or dropping it somewhere. Up until recently, I mostly used my iPad as an input device… you know watching movies in hotels, reading emails, and surfing Reddit. Now that I’ve got it out all the time, I’ve discovered some really nice ways of using it more for the 'O' in I/O1.
File System
One of the biggest issues is not having an easy to access to the file system that’s relatively secured and not obscured by iOS. You’re not going to be able to easily mount a directory using a terminal emulator. And although you can drag files on and off with a nearby Apple machine, I’ve found the easiest way to get around this is to use cloud storage. I use the default Apple Notes, Reminders, Calendar, etc so I configure these to use iCloud. I’ve also added iCloud storage to a couple of other apps. I use apps for the suite of Google and Microsoft cloud products as well because most folks I work with use one of their ecosystems and it’s easier to work with the files using the native cloud sharing features.
Assets
On of the original reasons I got the iPad was to have a touch sensitive drawing device, but I’ve found that the other Adobe iOS apps are perfectly capable for quick editing. Some of them are even easier to use in some respects. I regularly use Illustrator, Photoshop, & Acrobat but I usually open ProCreate over Fresco for creative drawing. I’ve found that Apple’s native Notes, Screenshots, and Photos apps are better for quick drawn notations and photo edits. Otherwise, I’ll only occasionally open Premier Rush, Capture, or Express if I’m on the go and need to try and impress someone quickly.
Writing
I write all formal, as in soon to be a pdf, letters in Apple Pages since I have some fancy letter templates stored there. I also use the Apple native email client. It’s so good even though I can’t convince my wife otherwise. I’m also now fond of the new native AI features even though I also have a web based and native OpenAI app. I’m looking forward to Apple integrating other APIs into Apple Intelligence. For web publishing, I create the majority of my writing in Markdown because I can more easily integrates in a standard open source format. I use Obsidian2 as my editor because I also use it on my desktops. It’s performant and lightweight on iOS. I like to keep it split screen with a browser when I making notes and I even use it with syntax highlighting for round trips to Stack Overflow.
Code
Automated testing, suggestions, and copilot have forever changed my coding brain. Perhaps it’s not for the best, but it certainly makes me much more efficient and productive. This means I really need a full on integrated development environment. I’m sure there are an assortment of text editors available for iOS. I remember loading up one of the first on the iPhone version one and thinking to myself “yeah, this will never work”. Sans keyboard and IDE3, it wouldn’t have but I’m now making this work with using cloud environments. I’m primarily using VSCode and CodeSpaces4 to accomplish this and I can sync various configurations using Github.
Network
I’m using the terminal emulator Terminus5 to make network connections from iOS. I’ve configured key based SSH connections between my servers, computers, and codespaces so that I can easily sync files and run commands from each of them. I’ve started automating the connections for build and file sync steps. I’m also using Wake Me Up, an app that uses a magic packet to wake from LAN, to connect to my local computers. This allows me to tap into their linux underpinnings from my terminal giving me all the tools I would have on my desktop or laptop.
Monitor
The one thing I really don’t use it much for is a sidecar monitor. I’ve gone through various monitor configurations over the years, and I’ve found that I prefer a single monitor as it tends to keep my attention more organized. Having my iPad, or any other device for that matter, open alongside of my desktop is usually just a distraction. It’s not enough screen real estate to really matter. The only decent use case is testing iOS apps through Xcode instead of using the simulator.
A/V
There are a couple other things I’ve found convenient. For virtual meetings, I set up Zoom, MS Teams, or whatnot. I like the face tracking with center stage and I can more easily adjust the camera for when I want to duck offscreen. And for boring meetings it keeps my main machine free to double my billable hours. For in person meetings, you can use the audio/video recording and transcribe features of iOS. I use airplay and screen mirroring regularly to connect with my other a/v devices. I regularly stream music in the house and I even found that it’s much easier to use the keyboard and trackpad on the iPad to search and control the AppleTV or Music.
So yes, you can definitely sub in your iPad for development, sysadmin, and other things. It’s more comfortable in the air, on the road, or on the couch. I read somewhere that Apple is working on a new monitor/tablet of sorts that’s tailored towards home automation. I’m in… take my money. I'm a shareholder. The better half is getting an
Footnotes
-
Obsidian - https://obsidian.md ↩
-
IDE - https://en.wikipedia.org/wiki/Integrated_development_environment ↩
-
Github Codespaces - https://github.com/features/codespaces ↩
-
Terminus - https://termius.com ↩