DEV Community

Pierre
Pierre

Posted on • Originally published at vysio.app

VS Code & Codespaces iPadOS

I love traveling light with just an iPad Pro and a Magic Keyboard. The M-series hardware is insanely fast, battery life is great, and the display is gorgeous.

However, whenever I tried to get real development work done using mobile Safari or Chrome to access GitHub Codespaces or self-hosted code-server, I kept running into frustrating roadblocks.

In this post, I want to break down the technical challenges of mobile WebKit for developers and how I built Vysio a native iPadOS client designed specifically for cloud IDEs.


1. The Problem with Mobile Safari for Cloud IDEs

Issue #1: Physical Keyboard Shortcut Hijacking

Mobile Safari captures several critical system key bindings before the web app can receive them:

  • Cmd + W: Closes your browser tab instead of your editor file tab.
  • Cmd + P: Opens the iOS AirPrint dialog instead of VS Code's Quick Open.
  • Cmd + T: Opens a new browser tab instead of triggering editor commands.
  • Esc: Frequently fails to drop focus from active completion menus.

Issue #2: Wasted Screen Real Estate

On an 11" or 13" iPad screen, the browser address bar, tab strip, and iOS navigation overlays eat up 15–20% of your vertical workspace.

Issue #3: Aggressive WebSocket Sleeping

iPadOS puts background browser tabs and idle WebSockets to sleep quickly. If you switch to Slack or check an email mid-build, your SSH or container connection drops and has to reconnect.


2. Building a Native iPad Client (UIScene + SwiftUI)

To solve this, I started building Vysio, a native iPad application tuned for cloud developer environments.

Here is how we bypassed standard iOS WebKit limitations:

Full Physical Keyboard Passthrough

Using native iPadOS key command handling (UIKeyCommand), Vysio intercepts physical Magic Keyboard shortcuts before the browser or OS can catch them. Cmd+W, Cmd+P, Cmd+Shift+P, and Esc are passed cleanly to the remote editor instance.

Stage Manager & Multi-Window (UIScene)

Instead of a single-window mobile web view, Vysio leverages UIScene multi-window architecture. You can run multiple workspace windows side-by-side:

  • Window 1: Fullscreen VS Code / Codespaces (zero Safari UI clutter)
  • Window 2: Live App Web Preview or Terminal
  • Window 3: API Documentation or Figma

Hardware Security & Credentials

Rather than storing GitHub OAuth tokens in vulnerable browser cookies or localStorage (which iOS WebKit auto-purges after inactivity), Vysio encrypts tokens in the Apple Keychain, protected by Face ID / Touch ID.

Session Keep-Alive Lock

Integrates an OS wake-lock controller to keep background WebSocket/container sessions active during long builds or test runs.


Try the Beta & Feedback

Vysio is currently in early beta for iPadOS users who want a true desktop-class remote development experience.

I'd love to hear your thoughts! Do you use cloud IDEs or code on iPadOS? What features or integrations would make mobile development better for you?

Top comments (0)