Improving the VPN Experience on iPhone/iOS
Imagining the VPN experience in iPhone/iOS while we wait for Apple to make it a reality
I remember the time when adding HTTPS to any website/domain used to come at a cost. When I look back today, it seems absurd that we were transmitting data in plain text before HTTPS became a de facto standard and browsers started showing warnings for sites serving over HTTP.
I feel similarly about VPNs(Virtual Private Network). They have become an integral part of using the internet today. From corporate VPNs to get access to work networks to using VPN for personal privacy and blocking Ads/Trackers, the VPN has become an integral part of an average internet user. The usage of VPNs has gone up drastically especially during Covid. There is a reason why an email provider, a browser company, and even Google have launched their VPN service. I personally host two different VPNs (one instance each of WireGuard and OpenVPN) on two different cloud providers.
iOS supports both OpenVPN and WireGuard by default through their respective clients. Apple does a good job of showing all the available servers/configurations added in the VPN clients under the VPN option in settings. It lets you choose the server to connect to and you can disable/enable the VPN from there.
Now by default, I always have my phone connected to one of the VPN servers I host which has Pi-hole blocking enabled. This blocks all the ads and trackers throughout my phone and other devices. That works perfectly unless the app you want to use doesn’t work with the VPN(because the app doesn't want to deal with traffic from countries they don't serve as well as the bad actors using VPNs to bypass the limits). This wouldn’t be such a problem if so many of the apps I use daily don’t work with the VPN. Even Google Pay which was working fine with the VPN until a week ago now shows the error that it’s not available in the country my VPN is hosted in. So every time I have to use one of these apps, I have to manually disable the VPN and then remember to switch them back on again.
Given the importance of VPN, I am surprised Apple hasn’t done enough to make using VPN on iOS a better experience. For example, Apple has managed to add Shazam shortcut to the Control Center(Apple acquired Shazam in 2018 so I don't blame them for this) so that you can detect a song playing in the background but there is no way to add a VPN shortcut to the Control Center. I believe that would be a good start towards improving the VPN experience on iOS.
A VPN shortcut in the control center could let a user enable/disable the default connection.
Pressing and holding the VPN icon on Control Center could let a User select the server to connect to.
Since so many apps require Users to disable the VPN, it would only make sense to add an option to disable and start the VPN again after a certain amount of time. When the user presses and holds on the VPN icon while the VPN is on, it could show a menu similar to the timer menu on Control Center. Or they could just add Split tunneling like it’s available on all other platforms where user can choose which apps to tunnel through the VPN.
As the usage of VPN continues to grow, we should rethink if we need to find a way to provide the security of VPN without everyone having to manually use VPN, at least for personal security and privacy. Imagine telling the Users a decade ago to use a VPN(or some other thing) to secure their traffic instead of HTTPS/TLS automatically doing it for them.