Immortal Object Server
This project arose out of OrgSuite 2. The Immortal Object Server (Imobse) stores objects as ordered dictionaries (each entry has two keys, a string and an integer where the integer set is continuous). Each object has a user, title, hierarchy and data (the object).
Hierarchy
Hierarchy is analogous to a folder structure. Each Hierarchy entity has a title and can contain objects or other Hierarchy entities.
Immortals
Immortals are the Imobse root objects. They are are ordered (indexed) as well as having dictionary keys. One of the important features that an object supports is referencing another object.
Scripts
Imobse also supports sets of scripts (JavaScript). Users can customize their JavaScript or import shared JavaScript.
Apps
An Imobse app is a combination of Immortals and Scripts. The original concept was born out of OrgSuite so I will use that as an example.
An personal organization app could be created by having scripts that support appointments through an interface contract that requires an appointment to have a "Date" attribute. The app can then display all objects with a "Date" attribute on a calendar. A user could choose to have all the objects for that app under a folder in their hierarchy so only 'OrgSuite' objects are manipulated by OrgSuite, or all objects with a Date attribute could be shown on a calendar, making Date semi-standard by convention.
Files
This is a future-feature I would like to add, the ability to store certain file types (images, audio, txt, csv, .doc[x], pdf) and associate them with an object or hierarchy.