
Control web pages by pushing JavaScript between web browsers in real time.
This web site demonstrates remotely controlling web pages using WebSockets and JavaScript.
A custom web server maintains connections to every web browser on the web site.
Web pages are updated immediately by sending JavaScript from one web browser to another without refreshing the page.
Every web browser effectively becomes both a web server and a web client. Multiple web browsers displaying the same page share JavaScript actions to create a distributed system.
Firewall resistent persistent connections help build real-time distributed systems across multiple web browsers by sharing JavaScript.
RCWeb turns web browsers into distributed systems while using minimal server resources for communications only. Here are some examples to demonstrate how the technology can be used.
This example consists of a viewer and a controls interface. Use the controls interface to instantly send colors, images, videos, websites, HTML and JavaScript to web browsers with the viewer open on the same page.
The viewer includes a QR Code to quickly open the controls interface on a mobile device.
The controls interface constructs JavaScript to send to web browsers with the viewer open.
This example demonstrates using one web browser to control one or more remote web browsers.
Launch Remote ControlThis example displays a list of shared files and makes it easy to transfer them between web browsers.
Select files to share with everyone on the same page.
The list of shared files updates automatically and provides links for anyone to start a file transfer.
The file is transferred directly between web browsers using RCWeb technology. It is not stored online.
Files are removed from the list and become inaccessible when the page is closed.
A QR Code provides quick access to the files on a mobile device.
Supports download resuming and seeking within very large files such as videos. If a multi gigabyte video is shared, another web browser can stream the video and seek within it without transferring the whole file.
This example demonstrates transferring files between pairs of web browsers.
Launch Shared File ListThis example synchronizes a text area with everyone viewing the same page.
At startup, text is requested from a web browser with the same page open.
Updates to the text are sent to all web browsers on the same page.
Text is only accessible while one or more web browsers has the page open. It is not stored online.
This example is not synchronized and race conditions are likely if multiple users type concurrently. (ALPHA)
This example demonstrates collaboration across multiple web browsers.
Launch Shared NotepadThis example is a simple Spacewar game. Multiple players can join and battle using their mobile devices as controllers.
The game view displays a QR Code to quickly access the game from a mobile device. Each mobile device receives controls for their own space ship.
The control view includes buttons to file and rotate left and rotate right. The ship automatically moves forward.
This example demonstrates one or more remote web browsers controlling a single web browser.
Launch SpacewarRCWeb uses a custom Java web server. Thousands of concurrent connections are maintained using virtual threads with very little overhead. The server does not need to perform complex parsing operations on data sent between browsers because it only proxies the raw JavaScript. This makes the server very lightweight. RCWeb is hosted on a single core ARM instance!
RCWeb uses pages to isolate small networks of communicating web browsers.
A new page is created when a web browser opens the root page rcweb.live for the first time. The web browser will be automatically redirected to the new page.
The new page will be a string of 4 uppercase characters, a dash and another 4 uppercase characters. For example:
To connect multiple web browsers, they must all open the same page address.
The address can include a type. The type provides an initial state which is typically controls for sending JavaScript to all web browsers with the same page open.
Pages are temporary and only facilitate communications. No data is stored on RCWeb pages.
The page will be stored in a cookie. This means returning to the root page will redirect to the previously created page when the same web browser returns.
Advanced real-time monitoring is built into the web server. A WebSocket connection updates stats in milliseconds.
RCWeb is currently in development and will be used as a foundation for new projects.
The Shared File List example demonstrates how effective RCWeb technology is for sharing files. This functionality will be extended to automatically generate and share small image previews in a gallery.
By only fetching previews and images when they are requested, it will be possible to temporarily share an image collection that only persists as long as the web browser remains open.
TargetR digital signage currently uses custom Android players, for example SignageNode, to display content in addition to powerful servers to upload, store and manage multimedia content.
RCWeb technology will provide a foundation for building a lightweight digital signage platform that only requires web browsers and minimal server resources.