a-painter icon indicating copy to clipboard operation
a-painter copied to clipboard

Re-evaluate or document custom binary file format

Open cvan opened this issue 7 years ago • 2 comments

I couldn't find mention of the rationale behind the "custom binary file format". I realise it was likely introduced to save on bytes (and/or memory). I saw and briefly participated in the discussions earlier about this.

How big were the files before with JSON? Was this issue with memory consumption or network bandwidth?

Should we be hosting the files ourselves (or through a different provider that is proxied through CloudFlare) instead of Uploadcare?

In production (for https://aframe.io), everything is reverse proxied through CloudFlare. In addition to DNS service and DDoS protection, CloudFlare is a CDN that gives us these perf benefits:

  • HTTP/2 support (multiplexing should make a noticeable impact if the issue was with the number of requests or blocking requests)
  • gzip for all text-based assets (JSON, SVG, HTML, CSS, JS, etc.)
  • SDCH (supported by Chrome but not by Firefox yet)

If the bottleneck was the network, I'm curious to see how well the non-binary form of the drawings + strokes compress in production (or on a host backed by CloudFlare/a host with a similar best-in-class perf setup).

cvan avatar Sep 21 '16 11:09 cvan

+1 for a more development/inspectable/modifiable friendly format. I've gotten bogged down trying to pull info out of the binary format, its not very hack-friendly. it'd be great to have a JSON format we can use, and maybe have the binary format decompress itself into that if we have a bandwidth heavy application.

msfeldstein avatar Oct 06 '16 05:10 msfeldstein

How about a zip with json meta and gltf resources?

On Wed, Oct 5, 2016 at 10:20 PM, Michael Feldstein <[email protected]

wrote:

+1 for a more development/inspectable/modifiable friendly format. I've gotten bogged down trying to pull info out of the binary format, its not very hack-friendly. it'd be great to have a JSON format we can use, and maybe have the binary format decompress itself into that if we have a bandwidth heavy application.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/aframevr/a-painter/issues/112#issuecomment-251869497, or mute the thread https://github.com/notifications/unsubscribe-auth/AH4Ql-34vU-XMlt3YPLpQBKl-AP3YTSWks5qxIUHgaJpZM4KCra9 .

eric-schleicher avatar Oct 06 '16 16:10 eric-schleicher