What Does Apple Have Against VNC Server on iOS?

All I want to do is remotely control my old iPhone 3GS from my new iPhone 4S. It’s about 25′ away, hooked to a stereo, and used for iTunes and podcasts.

In the Mac, Windows, Linux, and Android worlds, that’s a job for VNC (virtual network computing). You install a VNC server on your device and control it using a VNC client (a.k.a. viewer), which you can run on an iOS device. In fact, it’s really kind of cool to control my Mac mini at home from my iPhone at work.

VNC has been around for almost 15 years now. The protocol is fully standardized. The risks are known and controlled. You need to find and link to the server, then use a password to validate the user. Apple Remote Desktop and Back to My Mac use VNC, so Apple must consider it sufficiently robust for Mac users.

VNC for All – But Not for iOS Users

So why isn’t there a single VNC server in the App Store? Why is the only iOS solution, Veency, one that requires you to jailbreak your iPhone, iPod touch, or iPad? Not that I’m unwilling to jailbreak my old iPhone, since I’m basically using it as an iPod touch these days, but even that isn’t easy: Most jailbreaking software runs on Windows, and iOS 6.1.3 seems to be a tough nut to crack, which would mean downgrading to 6.1.2.

But why should it be so much work? After all, it’s my device, I determine the security parameters and password. I should be able to decide whether I consider VNC an acceptable risk or not, just as I do on my Macs. But Big Brother Apple has to protect me from myself.

It’s Not Just for Individual Users

Having a VNC server for iOS devices would be great for deploying iPads, iPhones, and iPod touches in the workplace. The IT department could connect to user devices, have them update software, make sure email settings are correct, verify that Dropbox is configured correctly, and be certain that unauthorized apps haven’t been installed.

VNC can also be used for training purposes, not to mention troubleshooting.

Nanny Computing

I love Apple’s hardware, new and old. I mostly love the operating systems. (I have yet to get my feet wet with OS X 10.7 or later, but that will probably happen when OS X 10.9 Mavericks is released.) I think they make some pretty good software.

Best of all, the Mac has always been a pretty secure platform with almost no malware – pretty good for a nearly 30-year-old platform! And by maintaining tight control over iOS apps, Apple keeps that platform even more secure.

If Apple believes that VNC constitutes such a significant security risk, you have to wonder why it’s on Macs. And if it’s not that big a risk, why isn’t it allowed on iOS? You can’t have it both ways.

Apple could specify certain levels of encryption and password security, as some extensions to VNC already do. Or if Apple wanted to be really, really secure, it could adopt its own alternative to VNC, perhaps something that is more efficient than pixel-based VNC – and with all the security Apple wants to give it.

Me, I just want to be able to pause the iPhone 3GS or adjust its volume without walking 25′. It would be even better if I could completely control the remote iPhone, so I don’t have to leave my work area to change playlists or select a podcast.

VNC would let me do this. Why Apple won’t let me choose it is beyond me.

3 thoughts on “What Does Apple Have Against VNC Server on iOS?

  1. A few bits of information:

    1. Apple Remote Desktop and Back To My Mac do not use the VNC protocol. They use a similar one, but not the same. Apple Screen Sharing does support the use of the VNC protocol *in addition to * Apple Remote Desktop protocol, but you have to enable it separately.

    2. Every new Jailbreak that has happened since at least iOS 4 has come out for OS X at the same time (or earlier) than on Windows.

    3. Correct, iOS 6.1.3 has not yet been jailbroken – if you have interest in jailbreaking, it is always best to stay a version behind.

    4. For corporate use, Apple has the iPhone Configuration Utility, which is far more powerful and useful than a simple VNC solution would be.

    5. Apple already has a VNC-like service on iOS – it’s called AirPlay. It even allows control signals to be sent back. Rather than have a “dedicated iOS media device” that you try to remotely control, Apple would prefer that you use AirPlay to an AirPort Express or AppleTV. (Or third-party AirPlay-certified speaker.)

  2. The highest probability behind the absence of a VNC Server from the app store is that the original VNC codebase is largely under GNU GPL, which has been determined to be in conflict with Apple Store’s Terms of Service.

    I think you can look to the long absence of VLC for an analogous example. It was just put back into the App Store, but only after the VLC crew went and re-licensed the entire codebase. Unless a VNC developer would do this for VNC (which seems unlikely), a third party development initiative without GNU GPL open source dependencies would be required.

  3. Dan, the biggest reason for most of the self-imposed limitations on Apple’s iOS devices is in deference to the phone carriers. With that in mind, let’s explore why a VNC server is not available for iOS.

    VNC has very little tolerance for network latency, and the cellular data networks are full of latency — even LTE. Data comes down the pipe fast, but at intermittent rates.

    Therefore, Apple would have to come up with a specialized and highly compressed VNC variant to make it work smoothly, or restrict the feature to WiFi only. There has been severe backlash toward “WiFi only” apps in the past.

    Another consideration is that an always-on VNC server would drain the battery of the phone. If you have it pause or sleep to conserve battery, you’ve got to come up with some way to do a “wake on WAN” scenario. It would be possible, using a system similar to ActiveSync/push, but is it worth devoting the resources to?

    Probably not. In the end, more people want a VNC client on their phone, not a server.