Internet Object (IO)'s design wasn't influenced by Toon or GraphQL.
The project began back in 2017 with very different goals: reducing repeated keys,
introducing a schema-first structure, separating data from metadata, supporting a
richer type system, and keeping the format as readable as CSV while still being
expressive enough for nested data.
IO is meant to be a lean, schema-driven data serialization format - not a query
language (like GraphQL) or a minimal notation (like Toon).
Happy to explain any specific parts if you're curious.
I am the creator of the Internet Object. I have been silently working on the specs. But due to my busy schedule, I was not very active during the past couple of months. It is good to see all of you are discussing the pre-released format! However, I see many people have presumed many things in the wrong context. I want to share the draft of in-progress specs. It will probably bring in more clarity. Recently I have resumed working on this project again. If anyone would like to contribute Internet Object please join the discord channel (Just created).
- Won't it be good if you exchange less amount of data?
- Won't it be good if serializer/deserializer validates the data before processing/loading/serializing, and you don't have to write special validation code?
- Won't it be good if you only pass, data and not the definitions over the wire? For example just send "Spiderman, 25" instead of { "name": "Spiderman", "age", 25 }
- Won't it be good if you do not mix, data and metadata (such as recordCount, nextPage, etc...)?
- Won't it be good if the object collection can be streamed through partial serialization?
BSON is a binary format, JSON schema is a separate mechanism which does not improve the structure of the serialized JSON data! Also, JSON does not enforce everyone to use schema!
When compared with JSON, Internet Object provides an integrated all-inclusive solution which serializes data into around 45% fewer bytes, has built-in validation support, keeps data and definition (and headers) separate. All these while keeping the format human-readable, programming language independent and simple!
We are working on the website and soon we'll release the playground with a lot more examples.
Internet Object (IO)'s design wasn't influenced by Toon or GraphQL.
The project began back in 2017 with very different goals: reducing repeated keys, introducing a schema-first structure, separating data from metadata, supporting a richer type system, and keeping the format as readable as CSV while still being expressive enough for nested data.
IO is meant to be a lean, schema-driven data serialization format - not a query language (like GraphQL) or a minimal notation (like Toon).
Happy to explain any specific parts if you're curious.