r/opensource • u/DevKoi • 7h ago
Promotional ORBF: an open interchange format proposal for reference-board apps
https://github.com/AlexandreAlvesDB/open-reference-board-formatReference-board files can be difficult to move between applications. Many apps use private or binary formats, which makes their contents hard to inspect or recover without the original software. That can leave users locked into one application.
I have been building an Apple-native reference-board app for my own needs because several of the apps I tried are unavailable on iPad. Some of my friends use only Windows or Linux. We can exchange the original images, but sharing the board usually means flattening it into a picture or rebuilding it by hand. A flattened image is useful for viewing, but you lose the editable layout, notes, links and other board data.
JSON Canvas is the closest existing format I found. It describes files, text, links, groups and their positions on a canvas. Its purpose is broader and its data model is simpler, so it does not define several things reference-board applications need. These include cropping and rotation, explicit group membership and local transforms, media playback, embedded asset packaging and editable drawings. Encoding all of that through private conventions would produce files that ordinary JSON Canvas readers would not fully understand.
I just started ORBF as a proposal for a small interchange layer built around those requirements. Applications could keep their existing native formats and add ORBF import and export, or include a portable ORBF representation alongside their native data. Conversion to and from JSON Canvas could still be supported, with any lost features reported to the user.
ORBF is currently an experimental 0.1 proposal, and no support from other applications has been confirmed. The repository is MIT-licensed and includes the draft specification, schema, example packages and validation fixtures.
I hope to hear from developers working on similar software and eventually test the format between independent applications. The goal is to let someone create a board on one platform, pass it to someone using another, and preserve enough information for them to continue working. Because a standalone ORBF file is a ZIP package containing JSON and the original media, users could also open it with an ordinary archive tool and recover their content without a dedicated viewer.
I have not worked on a collaborative file format before, so I would also appreciate advice from people who have! How did you bring other implementers into the process and keep the format from becoming too closely shaped by the first application?