EN
Back to the archive

The archive · Developer & Business Tools · Technical decision · 2013

Ansgar Grunseid's Arc bets on Linux VMs in the browser to cut server costs

After Dirpy's $10,000-a-month hosting bill, Grunseid ships Arc — a Linux VM per website client — so web apps run native Python and C in the browser.

Arc (arc.io)

The betThat browsers should host a Linux VM per site, letting web apps run native Python and C client-side — native performance plus web distribution without server scale-out.Live

What the business is

Arc (arc.io) is a beta platform that gives websites a Linux virtual machine on every client: web pages open Arc apps through arc.js, and existing Linux binaries run with filesystem, process, graphics, audio and network access, behaving identically across OS X, Linux and Windows.

How it started

Grunseid hit the wall while building Dirpy, a web app that records MP3s from YouTube: the right build was native Python and C, but testing and maintaining builds for every OS was a nightmare, so he ran all the work on servers and paid $10,000 every month in hosting. Browsers could not run Linux software like ffmpeg, reach native performance, or make cross-domain requests — so he built Arc.

What happened

Arc is architecturally similar to a headless browser: an app is defined by a manifest, and opening it downloads the manifest, creates a fresh VM, retrieves the app's files and runs its commands; on Grunseid's MacBook Air Peggo's Arc app assembled from scratch in 1.3 seconds. The beta used VirtualBox for near-native runtime performance, shipped only for OS X with Ubuntu and Windows planned, and the installer was cut from 140MB to 60MB. Grunseid dogfooded the platform as Peggo, a YouTube recorder whose Python engine transcodes securely on clients, and the HN discussion pressed on security, licensing and why Arc itself was closed source.

No ending yet — it is still running.

Background

Ansgar Grunseid ran into the limits of web apps while building Dirpy, a service that records MP3s from YouTube. The natural implementation was native Python and C, but shipping and maintaining builds for every operating system was a nightmare, so Dirpy did all its work on servers and paid $10,000 every month in hosting — while clients sat idle, fully capable of transcoding video.

His answer was Arc: software that gives websites a Linux virtual machine on every client. Web pages open Arc apps through a small JavaScript library, and those apps run existing Linux binaries with filesystem, process, graphics, audio and network access, sandboxed from the host and identical across OS X, Linux and Windows. An Arc app is defined by a manifest and assembled like a page: download the manifest, create a VM, place the files, run the commands.

To prove the platform, Grunseid built Peggo, a YouTube recorder whose Python transcoding engine runs inside Arc on the user's machine: roughly 1,000 lines of Python versus Dirpy's 15,000, with no servers to scale across two dozen machines in three datacenters. The Show HN post of August 15, 2013 drew 281 points and 148 comments on Hacker News, where the discussion debated security, referrer checks, VirtualBox licensing and why Arc was closed source.

At launch the beta ran on OS X only, with Ubuntu and Windows planned, used VirtualBox for near-native performance, and had already been slimmed from a 140MB installer to 60MB. Grunseid's pitch was that Arc could unshackle the latent power in clients and keep the web's distribution model — apps with native power that never need installing.

What has to be true

  • Dirpy's $10,000-a-month hosting bill made the server-centric architecture the visible enemy: clients were capable of the transcoding, so pushing it to them removed both cost and scale-out complexity.
  • Because Arc apps are plain Linux VMs, existing binaries worked as-is, letting Grunseid replace 15,000 lines of scaling code with a 1,000-line app that ran on his development machine.
  • The headless-browser model — manifest, files, commands — made native software distributable like a web page: always up to date, sandboxed, no per-OS builds or installers.
  • Peggo was the dogfood: a real, daily-used product that demonstrated the architecture instead of asking developers to trust a slide deck.

What can be applied

The most expensive line in a web business can be the server bill, and the fix can be architectural: move capable compute to the client — your own painful cost is the product demo.

Aftermath

As of 2013-08-15 Arc was a working beta: packaged for OS X with Ubuntu and Windows versions planned, powered by VirtualBox, with a 60MB installer and documentation still forthcoming at arc.io. Grunseid reported that Peggo, the dogfood app built on Arc, was used every day, and that Arc apps assembled from scratch in about 1.3 seconds on his MacBook Air. The blog post records no later milestones, so the case stops at the Show HN announcement.

Sources

spotted an error? The archive wants to know.

Your turn

You just read one. Describe what you are building, and see who is betting on the same thing.

Free account · 3 free questions · no card

Related cases