It should be possible to build apps outside Urbit that communicate with Urbits using the Ames protocol. For this to work, we need an implementation of Ames written in an Earth language that other Earth programs can easily embed. Languages that might be embeddable enough include Lua, Zig, Rust, Chez Scheme, Guile, and of course C itself.
This project will be broken into four major milestones:
- moon-specific: can only talk to sponsoring planet, no persistence
- persistent: writes packets to disk to work across moon restarts
- universal: can pretend to be any ship and talk to any ship, tracks azimuth
- portable: can run on Windows and MacOS, not just Linux