Oroborus is an operating system and companion programming environment for VR & AR.
VR is in its infancy, with potential far beyond games. As next generation headsets begin supporting readable text, we imagine VR will supplant desktop computers and AR (later) will replace mobile phones. AR in particular has the potential to become a sort of operating system for reality. We think its really important that the whole world owns "RealityOS", that it is effectively modifiable by anyone, and not under a single company's control
We're starting by building a framework for programming VR from within VR... a sort of self-modifying VR webapp, backed by IPFS. The idea is that if you can program productively while steeped in VR, that'll really help accelerate all types of future development, giving free software VR a crucial development edge.
Our first milestone is self-hosted development: a develop-VR-inside-VR toolchain that's good enough to develop itself... completely inside VR. In 2020, that means everything from a good editor, to task tracking, to web browsing. To our knowledge, VR has yet to achieve this crucial milestone, and upon achieving it, we will be the first team to live and work primarily in VR. Ironically, we believe the killer app for VR is building VR, it feels almost surprising that you don't primarily program VR from within VR... at least not yet! Oroborus will support rapid experimentation, allowing ideas for new interactions to be hatched and explored without leaving the headset. This is the fuel we will need to tackle our larger goal...
Our long-term goal is OS/O: the Oroborus Operating System. We believe that building a real non-toy development environment will require tackling a large difficult subset of the problems required for building an effective general purpose operating system for both VR & AR. We believe the work to achieve effective self-hosted dev on Baseband will force use to build, expand, and refine the UX deficiencies inherent to VR software in 2020, and build the practical set of tools required for programming. That's going to mean everything from task tracking to web browsers.
Achieving self-hosted dev provides the perfect environment to launch a pragmatic, non-theoretical, direct route to building a VR operating system. In the process, we hope to shift computing back toward "computers as a tool for expanding and enhancing individual human creativity, thought, and self-expression", a sort of vision for what computers could be that feels like it has faded from the foreground since the 90s.
Programming VR inside VR: current progress on the oroborus kernel
- Load itself off of IPFS
- Import and save component modules from IPFS
- The kernel can bring up a syntax-highlighted text editor and allow you to modify its own code, and save a new version of the kernel back to IPFS, so in abstract theory it is already a self-hosting dev environment, but actually programming in a single text editor window, is... honestly really hard.
- Inspect all A-Frame Entities within the scene from within VR and modify their properties (like a half-assed version of the A-Frame inspector, but usable from WITHIN the headset)
- Instantiate new A-Frame entities
- "Save the world": export any changes you make to the A-Frame scene graph back to IPFS, and allow reloading, so you can actually modify things in the scene using a visual inspector, click save, and send the new URL to someone else
- Create new A-Frame components (a-frame lingo for "the place you write actual code to make things go") and attach them to entities
- Open a code editor to edit the source code of an A-Frame component, allowing you to define/program new behaviors on entities/objects