Developers
Specifications and integration notes for building on the Nothing Glyph Matrix. Everything here is free to implement, in any app, without asking.
Reference
Dot Hub JSON format
The animation file format Dot Hub reads and writes: frames, the LED brightness array, the meta, dotHubMeta and tools blocks, and every difference from the Glyph Museum format it is built on.
Glyph Museum ↗
The base format and the community's publishing platform. Their developer page covers the original specification and the terms that apply to designs published there.
Why implement the format
Dot Hub is the most downloaded Glyph app, so its file format is the one designs already travel in. Supporting it is worth your while twice over:
- Your work stays attributed to you. The
toolschain travels with every file. Your app's name and your users' handles stay on a design wherever it ends up, which is how your tool gets discovered by the people who see the result. - Dot Hub users can actually use your app. A shared format means import and export just work — no converter, no re-drawing, no metadata lost on the way in or out.
Most downloaded based on AppBrain data for the search term “Glyph”, excluding pre-installed apps.
The format is a plain JSON object. A reader that handles nothing but the frames array is already a valid implementation; everything else is metadata you carry through untouched.
Principles
Three rules run through all of the documentation here, and they are the ones worth agreeing on before you write any code.
- Metadata never blocks a file. Parse frames first, metadata second. A malformed block is treated as an absent one, never as an error.
- Carry through what is not yours. Blocks and keys written by other apps get re-emitted verbatim, including ones you do not recognise. Both formats grow by adding keys, never by repurposing them.
- Credit only what you did. Record your own app in the
toolschain, and attach a user handle only to work your app genuinely created or edited.
Questions
If something in the specification is ambiguous, or you have shipped an app that reads or writes these files and want it mentioned here, write to contact@nostream.de. It goes straight to the developer.