All projectsYour Canon, Connected

ViewportCam / Camera software & native macOS

Your best camera. A whole new viewport.

A capable Canon camera should feel connected to the way people work on a Mac. We designed and engineered ViewportCam as a control room for the shot: live view, exposure and focus, camera capture and recording, and a native virtual webcam path into video apps.

Our role
Desktop experience design, Electron development, native macOS camera integration, capture orchestration, and the product website
Visit ViewportCam (opens in a new tab)
Desktop product designNative engineeringHardware integration
ViewportCam · Native camera software · 0:30
  1. 01

    Connect

    Bring a supported Canon into the Mac over USB.

  2. 02

    Compose & capture

    Inspect the frame, adjust the camera, and run the take.

  3. 03

    Use the output

    Download camera files or publish a virtual webcam to other apps.

01 / The challenge

A camera connection is a stateful experience.

  • Physical camera capabilities and connection states
  • Native virtual-camera publishing
  • Clear capture destinations and recovery

A live frame is only the visible part of the product. Behind it are camera discovery, device capabilities, photo and Movie modes, capture sessions, reconnection, file transfer, and a system camera extension. The interface has to explain what is possible now, not simply show a collection of buttons.

We built around the shot itself. The preview is the visual anchor, the control deck holds deliberate adjustments, and status stays close to the operation it describes. The engineering foundation needed to bring open-source camera capture into a packaged Mac experience without asking the user to install developer tooling.

02 / Design decisions

Keep the frame first. Make the controls precise.

The product balances a cinematic preview with the operational clarity a connected camera needs.

01 / Compose

Let the preview be the control room’s anchor.

Camera software can bury the image beneath menus and settings. A photographer needs to see the frame while deciding what to change.

We gave live view the dominant space and gathered exposure, focus, preview quality, and advanced settings into a compact control deck. Camera values remain close to the frame, while the deck organizes adjustments by their job. The dark surface and restrained warm accent support the image rather than competing with it.

Inside the productOriginal interfaces
The workspace / frame and controls
The control deck / original detail asset

Current application imagery from the ViewportCam website and its original control-deck detail.

  1. The frame remains the main visual reference during adjustment.
  2. Exposure, focus, and preview quality have distinct places in the deck.

What this makes possibleA focused desktop experience that keeps the creative decision and the camera control together.

02 / Capture

Make the operation and its destination clear.

A live preview, a still capture, and a recording are different camera operations. Their availability and file destinations need to be understandable before someone starts a take.

Take picture and Record sit above the preview, with camera-save guidance and explanations when a mode or connection prevents an action. Supported recording retains the session until Stop confirms cleanup. The file workflow then gives selected camera originals an explicit destination on the Mac, preserving existing local files and reporting completed transfers if a later one fails.

Current recording imagery from the ViewportCam website. The implementation also includes camera-file selection and downloads to a chosen Mac folder.
  1. Capture and recording are grounded in the camera’s current capabilities.
  2. Camera storage and the later Mac download are separate, explicit steps.

What this makes possibleA more understandable path from a camera operation to the files the person actually needs.

03 / Publish

Bring the camera into the apps people already use.

A frame inside the control app does not automatically become a webcam available to a call or streaming tool.

A native macOS Camera Extension provides the publishing path. The virtual-camera surface makes installation status, output resolution, frame rate, and a status check visible. Capture orchestration and reconnect handling sit beneath the interface, while the packaged runtime includes the camera libraries needed to run the supported Mac build.

Inside the productOriginal interfaces
Virtual camera / the original publishing panel

A real product detail from the repository. Supported-camera and system requirements remain part of the product’s compatibility guidance.

  1. System installation and connection status are available in the product.
  2. Output configuration is visible at the point of publishing.

What this makes possibleThe camera can serve a useful role beyond the control app, through the Mac’s native camera system.

03 / The result

From a USB camera to a connected Mac product.

ViewportCam brings a substantial camera and native-system integration into a focused desktop experience. Its product surface connects the live frame with camera controls, capture operations, and virtual-camera output.

Explore ViewportCam

The product targets Apple Silicon Macs on macOS 26 or later. Camera support is model-dependent; its public site separates tested models from best-effort compatibility.

Visit ViewportCam (opens in a new tab)
01

A focused workspace

A dominant live preview and a grouped control deck keep the image and its adjustments together.

02

Concrete operational behavior

Mode-aware capture, recording cleanup, selected downloads, and recovery are handled as product workflows.

03

A native connection

The macOS Camera Extension and bundled capture runtime connect the application to the system and supported cameras.

Explore the project scope

Product & capture

  • Exposure, focus, and live-view controls
  • Supported camera capture and recording
  • Camera-file selection and original downloads
  • Connection, capability, and recovery states

Native engineering

  • Electron and TypeScript control plane
  • Supervised gphoto2 capture-agent pipeline
  • Native macOS CMIO Camera Extension
  • Bundled runtime and Mac distribution tooling
Your next chapter

Connecting software to a complex native system?