Apple clearly wants to make iPads a device which normal people could use as their primary device. With iPadOS 16 it seems like we are finally “there”.
Why use an iPad Link to heading
Besides being amazing and beautiful devices it’s worth explaining why you should use an iPad given the extensive limitations/compromises imposed.
- Long battery life — All iPads have great battery life combined with an operating system optimized for using that battery most efficiently. More than even an M1 Mac would.
- Cloud, SSH, and Remote access — The AppStore has very high quality apps for doing SSH, VNC, and RDP to remotely access “real computers” to do whatever you can’t already do on the iPad. Those computers may even be VMs or similar in Digital Ocean or AWS. In addition things like repl.it and GitHub Code Spaces make it more practical than ever to do development from the browser and iPad OS has a full desktop browser (Safari).
- Extreme, Practical Security — Few consumer devices match the security of an iOS or iPad device. Let alone one that is fast, reliable, and nice to use. You may not be able to install anything you want (without a developer account…), but you have amazing protection + a simple reboot kills all but the most advanced exploits. This is, to me, one of the biggest reasons to use an iPad over an M1 Mac.
- Very usable — What is the point of computers if not to make things easier than they would be otherwise? iPads are extremely easy to use and require very little maintenance besides updating them sometimes. Maybe performing backups on your computer if you don’t trust iCloud.
- 5G Capable — It’s easy to underestimate how much difference built-in 5G makes, but the lack of friction allows you to really take the iPad anywhere.
The combination of all these features outweighs the limitations of the iPad by doing things which simply aren’t possible on other platforms/devices. There is no other thin, powerful, and efficient device which provides the same features except for maybe the new M1 Macs. Even then, the limitations of the iPad make it more secure in many aspects because compatibility isn’t required with scripts and programs which do expect or properly handle the security restrictions which would be on iOS and iPadOS.
iPad OS 16 Link to heading
With iPad OS 16 we will see even more changes which will fix limitations in iPadOS and make it far more capable of replacing Macs.
Development on the iPad Link to heading
It is possible to do work on an iPad by turning it into a “thin” or “remote” client. iPads, usually, cannot do professional development work on their own, but paired with a proper computer or Cloud VM can do as much as you could on a “real computer”.
Apps Link to heading
There is no way to do development, remote or otherwise, on the iPad without buying some apps. Which apps you buy depends on what you want to do, but these are the ones I use.
- Tailscale — This provides a secure mesh wireguard VPN to all my devices. It makes it trivial to connect to my NAS, Raspberry PI, M1 MacBook Air, or Desktop Workstation. With tailscale all the drama of opening ports and Dynamic DNS are gone. It even supports routing all your traffic through one of your devices if needed (“exit nodes”).
- Working Copy — Required (in my opinion); Besides obviously allowing you to clone code repos it also makes it possible to use and commit to git repos which can store your personal data. For instance, I use Working Copy to let me do quick edits to this website, but I also use to maintain my Obsidian Vault and sync between all my devices.
- Secure ShellFish — Seamless SFTP to/from the iPad plus Files.app support so other apps can read/use your files. Also has excellent Terminal and Tmux support for running commands remotely. You can sign in with your Github and Digital Ocean accounts to quickly create and delete CodeSpaces and Virtual Machines as needed. Highly Recommended
- Blink Shell — If you have ShellFish you already have a GREAT terminal app. However, Blink is the undisputed king in being extremely reliable and for it’s native OpenSSH support which allows, among other things, the use of SSH Certificates. It also allows creating SecureEnclave keys, mounting remote folders over ssh (like ShellFish, but not as efficiently), and port forwarding. They have also added support for running VSCode inside Blink (although this is still experimental). Additionally Blink is fully opensource. Paying for the app goes to supporting future development.
- Screens — Very capable VNC and MDP client which makes accessing remote Macs and VNC Servers super easy. I am not a fan of how it handles some authentication things, but otherwise not much to dislike. The Mac app is also pretty much the best client there is for the Mac. If you need graphical access this is the app to get
- Moonlight — If you have an NVidia Graphics Card on a computer you can enable Game Streaming. It’s designed for remote game play, but it’s also useful for remotely editing photos or etc. A little bit misused this way, but it works
- SteamLink — SteamLink allows you to remotely play games, but it also has a mode which lets you remotely control a desktop. It’s an option if you already have Steam installed and use something like Tailscale
- Textastic — Usually I prefer to ssh in to a computer and use
vim, but for local editing very little can beat the list of features and flexibility of Textastic on iOS
Setup: Keyboard, Mouse, Stand Link to heading
Pre iPadOS 16: The best setup, ergonomically, was using a wireless Magic Keyboard and Magic Trackpad and setting up some kind of stand to hold the iPad at eye level.
The next best thing was using the Magic Keyboard Case which made using the iPad as a tablet fluid and easy. It’s main drawbacks were it’s additional weight and that it encourages hunching over to see the screen.
With iPadOS 16: External monitor support has been dramatically upgraded so iPads can take full advantage of them using Stage Manager. With a USB-C cable you can connect an iPad to a screen and use the Magic KB/Trackpad to control floating apps between the iPad and the screen.
macOS already had features for using iPads seamlessly which helped tremendously, but still made the iPad a supporting device. This feature makes it possible to REALLY use the iPad at a desk as your primary device.
On the go I would still highly recommend the Magic Keyboard Case because on the go it provides an all in one way to keep the keyboard/trackpad with the iPad, easily allows removing the iPad from the case, and provides excellent support when using the iPad on your lap or a small tray.