01 / Working today
Running on
real devices.
These aren't demos. A bakery chain's branch tablets run them in production, alongside the test devices on the bench, which is why the rest of the platform is being built the way it is.
ArdaPlayer for Android
The same player as an Android app for tablets, displays and TV boxes: activation, data, Wi-Fi printers, the battery and the portal’s device page as on Linux, and kiosk mode from the portal on a box set up as device owner. Installing it.
ArdaPlayer runtime
One pure-Go binary for x86-64 and ARM64, WPE WebKit straight on the display, no desktop, logo from the initramfs, restarting cleanly after a power cut.
git push to device
The GitHub App, a connection per branch, server-side packing into a sealed .arda, a signed instruction per device, staged apply with the app choosing the moment, per-branch policies.
Device images & the USB installer
A Raspberry Pi image that serves HDMI and DSI panels, a PC image, and an installer stick that is the player running a touch install app.
Adoption
An activation code on screen, a same-network Adopt list, Bluetooth with Wi-Fi hand-over for headless boards, install codes with optional approval, Wi-Fi profiles.
Datasets, outbox, files, settings
Data kept on the device and encrypted there, each device getting only its own share (partition-scoped, gzip on the wire); an outbox that survives power cuts and delivers at least once; synced files checked by hash; settings declared in the manifest and set in the portal.
Settings in seconds
A setting saved in the portal reaches a running device in about three seconds. A setting can be a list of rows — a set of cameras, say — and a device's settings can be saved as a preset and applied to the next one. On paid plans an app can bring its own settings page, which the portal shows in place of the standard form.
The device screen
Device, Peripherals, Setup, Alerts & log, Device view with lossless screenshots, SSH, Bluetooth. Brightness, contrast and volume sliders that move the real hardware, and a scale per screen.
Cameras on screens
RTSP and IP cameras shown on a device's screen: the camera's own video, hardware-decoded where the board can — six at once on a Pi 4 — with a motion-JPEG fallback. Always live; a camera that reboots comes back by itself.
Webhooks
An app calls your own server with one line. ArdaForm makes the request from its servers — signed when the webhook has a key, and optionally verifiable through the API — with every delivery logged; the key never reaches a device.
Device firewall & External SSH
Every device answers nothing it did not ask for. SSH opens only from the portal, for a set time, and closes itself; keys are installed from the same tab and can expire.
Peripherals
Raw ESC/POS, ZPL, Star, TSPL and ESC/P (dot-matrix) printers over USB, network and Bluetooth; USB-serial; keyboard-wedge barcode, QR and NFC readers; screens by EDID; ALSA audio.
Player self-update
Pushed as a signed instruction, tried once before it is armed, negotiated with the app when it is important, three-start rollback guard, live and test channels.
The HTTP API
api.ardaform.net/v1: API keys per project; datasets and records, files, webhooks and their delivery log; a keyless OpenAPI document.
Public sign-up
Anyone can create an account on the order page. The free plan needs no card; Basic and Pro are paid by card on the same page. Sign in with a password, or with Google or GitHub.
ArdaLive for VS Code
Live HTML preview for the authoring loop — DOM-patched in place, so scroll position, focus and JS state survive every edit. A separate free extension, not part of the platform, and useful whether or not you ever ship a device.