StrokeDB implements a strong concept of documents and metadocuments. Each document can be safely shared with the outside world.

Even metas and views, which are documents too. (Meta describes an aspect of the document [like a module mixes in specific functionality to an object in ruby]. View describes an ordered structural representation of a subset of the documents in the database.)

Views and metas must be serialized in a simple and straight-forward way. That’s why we don’t write “class User < Meta”, but rather write “User = do … end”. The reason for this will be obvious when we release a JS library for the StrokeDB. It will be really clear when ten websites adopt a valid documents’ sharing instead of exposing naked xmlified pieces of data with the REST API (kudos to Yurii on that idea).

There is the only one database across all the strokedb nodes around the world. Each node may have an outdated revision of any document and a set of private (not shared) documents.

StrokeDB is not for a next “web-two-oh” project. It is a global database which can be spread across millions of machines and track references between all the documents.

Basically, StrokeDB is a Web-level-two. First level is HTML+HTTP+browser. We aim the same thing, Tim Berners-Lee does: to have a way to easily share information in a global network. But we are going to solve several inherent issues of the Web 1.0 hypertext, such as backreferences, references to the part of the document, navigation software (not as stupid as a well-known browser). Navigator is being developed by Yurii already. It is a Zoid web-framework that is oriented on work with StrokeDB features (not to be compared with rails or merb).

See more on github/strokedb and