What is Rainway?

Rainway is an SDK for building streamed applications. It lets you take an application that's running on a device or in the cloud, and present it interactively on another.

To achieve this, both devices use the SDK to connect to the Rainway Network and establish a session with each other. Rainway handles all the rest:

  • ensuring a secure direct connection
  • streaming media with low latency
  • adapting to device capabilities and network conditions
  • processing input
  • providing web components

The Rainway SDK is in its beta stage, but we've honed the underlying technology for years in a consumer-oriented remote gaming app and through our alpha releases. As a result, Rainway streams are robust, smooth, and responsive.

Runtimes

The Rainway SDK consists of "runtimes", each exposing different bits of Rainway technology to different platforms:

  • The Native Runtime runs on Windows. It can capture Windows applications and stream them to other Rainway peers. (In the future, this runtime will support more platforms, and support receiving and displaying streams as well.)

  • The Web Runtime runs in any modern browser on any platform. You can integrate it in your web app to present an interactive stream. (Because of web API limitations, this runtime can't be used to capture and stream the browser.)

Quick demo

To demonstrate Rainway's capabilities, we'll securely stream your Windows desktop right to this documentation page.

  1. Download and extract our host apphost-example-gui.zip on a Windows device. (Note: This must be done on a different device from the one you're currently viewing these docs on, and requires dotnet 6.0.)
  2. Run the host app contained in the .zip: host-example-gui\release\net6.0-windows\host-example-gui.exe
  3. Log in to Rainway and generate a new API key to authenticate with.
  4. Paste your API key in the host app, and click "Connect". A Peer ID number is displayed in the app.

The remaining steps are executed on this page:

  1. In the window below, paste in the same API key and select "Connect to Rainway".
  2. Once connected to Rainway, paste the host app's Peer ID and select "Connect to Peer".
  3. Once connected to the host app, select "Request Stream". Your desktop should be displayed!

For now, Rainway can only stream from Windows to a web browser. In the future, more stream sources and clients will be supported.