Is there a reason why we choose to create a new file format instead of using existing one? Well, here are the reasons:
- Reducing memory usage: We are in the process of developing Nahara's Sketchpad for Android tablets, and we have to keep the memory usage as low as possible. If we load the entire file content into memory, the app have a good chance of crashing, either due to per-app memory limit, or due to device actually running out of memory. Nahara's Container is designed to allows apps to jump around the file and load chunk small data into memory when needed, as well as storing that small chunk once finished.
- Faster I/O: Initial version of Sketchpad stores the project by splitting it into multiple chunks, each stored in its own file. It works, but there is a big I/O overhead everytime the file needs to be opened.
Note
All implementations follows major.minor.patch versioning scheme:
majorfollows the specifications' version;minorandpatchare locals to implementations.
Implementations should only implement new features and marks deprecated APIs that might be removed in the next major release.
Nahara's Container Specifications is licensed under Creative Commons Attribution 4.0 International.
In case someone is using search engine to find file type based on signature, the
signature of the file is NaharaContainer1.