Skip to content

About

Nahara's Container Specifications

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nahara's Container Specifications

Motivation

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.

Specifications

Implementations

Note

All implementations follows major.minor.patch versioning scheme:

  • major follows the specifications' version;
  • minor and patch are locals to implementations.

Implementations should only implement new features and marks deprecated APIs that might be removed in the next major release.

License

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.

About

Nahara's Container Specifications

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors