RVAP

Remote Vector Application Protocol - a modern protocol for building remote user interfaces without traditional web technologies.

Overview

RVAP (Remote Vector Application Protocol) is a server-centric protocol for building rich, interactive applications across a network. Instead of transmitting HTML/CSS/JavaScript, RVAP uses JSON-encoded UI schemas, event messages, and binary resources to create cross-platform user interfaces.

The server maintains all application logic and UI state while the client acts as a pure renderer, displaying UI elements and capturing user input.

Design Principles

Schema-First

UIs are defined as declarative JSON schemas. Universal compatibility across programming languages.

Bandwidth Efficient

Optional compression (zstd, gzip, lz4) with CRC32 checksums. 40-70% payload reduction.

Server Authority

Application logic stays on the server. Private schema fields keep business logic confidential.

Language Agnostic

Works with any language that supports TCP and JSON. Reference implementations in Go and V.

Protocol Details

RVAP uses a 9-byte binary framing protocol over TCP with support for 29 message types covering connection, UI updates, user events, and resource delivery.

40+ Widget Types

Buttons, inputs, tables, trees, calendars, media players, and more. Complete UI building blocks.

Data Binding

One-way and two-way reactive binding with immediate or deferred synchronization modes.

Resource System

Dynamic delivery of images and fonts with LRU caching. Proactive push or on-demand pull.

Widget States

Normal, hover, pressed, focused, disabled, loading, and error states with visual feedback.

Use Cases

  • Remote Desktop Applications - Cross-platform UI without web browsers
  • Real-Time Dashboards - Server-driven UI for monitoring systems
  • IoT Management - Lightweight protocol for resource-constrained clients
  • Financial Systems - High-performance UI with real-time data
  • Embedded Systems - Simple renderers for embedded devices

Why RVAP?

RVAP offers significant advantages over traditional approaches:

  • vs Web Stack: No HTML/CSS/JS overhead, no browser dependency, lower latency
  • vs Desktop: Cross-platform without OS-specific code, server-controlled updates
  • vs RDP/VNC: Schema-based (not pixel-based), much lower bandwidth

Implementation Status

Go Implementation

Reference server with SDL2-based GUI client. Full v1.1 protocol compliance with complete widget system.

V Implementation

Active development. Protocol layer complete, 25+ widgets working, state management implemented.

Learn More

RVAP is an open specification with reference implementations available.

Contact Us