After the recent WWDC, Apple made it much easier to teach its programming language, Swift, in schools. In iOS9, you can run apps created in Swift on an iPad without the need for a virtual machine which means students can test, change a bit and test again with ease. They’ve also released some great looking iTunes U courses to help you learn. I look after the 1:1 iPad program in my school and I’d really like to take advantage of this for my students. The problem is I need to learn how to program in Swift and to do this I need a MacBook. Unfortunately I don’t have a MacBook. Everywhere I look, other teachers, students, everyone seems to have one of those sleek looking MacBooks, but I don’t. As I wipe my tears away at the prospect of all of my money going on nappies for the newest member of the Potter family and not a new MacBook, I turn my attention to making one from what I already have. Here is what I came up with.
This is what I am trying to achieve: My iMac screen appearing on my iPad and me able to use a keyboard and separate trackpad to control it remotely away from my home (where my Mac is), Now, quite obviously anyone can download a remote desktop app and connect remotely to their Mac at home. I however, wanted more. A Bluetooth keyboard is fairly obvious, but how can you get a mouse working, remotely, on a different network? One of the requirements is to have a mouse because if I’m learning Swift, I need to click on some fairly small icons in Xcode. There are lots of mouse apps in the App Store, none of which operate externally from where your Mac resides. I want to be able to use a mouse to control my Mac which is sitting at home, when I’m at work.
Normally, I use the excellent Edovia Screens to remote desktop into my Mac. I love this app as it has so many features, but it’s really simple to use. My initial thinking was can I use Screens on my iPad as the display for my remote Mac, and connect with Screens on my iPhone to control the mouse? This did work, but the problem was I couldn’t see the mouse pointer when I had two Screens sessions running on the same Mac. Once I realised no mouse apps for iPhone would support external control of a Mac (why would they!?), I wondered if another remote desktop app would work. The question was, could I run two remote desktop sessions using two different apps to the same Mac?
I stumbled across Chrome Remote Desktop. This isn’t quite as featured as Screens, but it’s free and importantly allows you to control the mouse as a trackpad and the mouse pointer will display on Screens on your iPad. So, why not use Chrome Remote Desktop on the iPad to display the screen and the same on the iPhone for the trackpad? Unfortunately Chrome Remote Desktop only allows one connection at a time so you can’t use iPad and iPhone to connect to your Mac at the same time.
Here is the recipe:
iPhone (or Android I’m sure would work, but I haven’t tested this)
Screens on iPad and Mac
Chrome Remote Desktop on iPhone and Mac
BlueTooth keyboard connected to iPad
An internet connection (ideally non-filtered as your work one may block it)
Interestingly I used my iPhone 4G connection as a mobile hotspot for my iPad so two remote desktop connections where relaying through my iPhone’s data connection and it worked expertly with a barely noticeable bit of lag on the mouse control.
This is a setup that works, but doesn’t make me want an MacBook any less!