Diograph.org

The Library for the Personal Web

Diograph.org is a Javascript library for the Personal Web developers. For the Personal Web itself, go to personal-web.org.

Getting started

  1. Create or get a Diograph document.
  2. Save document to a folder in a device, service or server.
  3. Open document with a Personal Browser.

Conceptual Model

Personal Web is a personal information system that sits between the WWW (global information system) and Files and Folders (local information system). Its purpose is to give people a better way to think and a neutral way to have digital information.

The core of the Personal Web is the Diograph -data model that is used in the Personal Web applications and that is stored in any file system. The Diograph -data model is based on the Digital Habitat -conceptual model, the new way of thinking digital information.

The design principle of the Personal Web is that our digital environment should be similar to our physical environment. The same principle is used also before in the desktop metaphor and paper/document metaphor

Personal Web, respectively, consists of places like our physical environment. A place has owners, which are represented by avatars. A place again consists of rooms.

A room is the main functional unit of the Personal Web. A room has walls, floor and sky as a ceiling. Each of these contain diories (digital memories), the basic information units of the Personal Web. Diories can be organized into a graph (semantic memory), a timeline (temporal memory), a map (spatial memory), a flowchart (procedural memory) or as a landscape of doors to other rooms.

Diory

Diory is the basic information unit and element in the Personal Web. A diory consists of name, text, image and address elements. Personal Web tools can attach buttons to diories.

diory.json:

    {
        "ID": "21EC2020-3AEA-4069-A2DD-08002B30309D4", // GUID (mandatory)
        "version": "0.1.9",
        "IRI": "http://dbpedia.org/example", // For linked data
        "name": "This is the name of the diory",
        "text": "This is text in the diory",
        "background": "http://example.com/image.jpg",
        "address": "http://example.com/webpage/",
        "data": {...},
        "class": { // CSS class for sub-elements (see list of available classes)
            "name": {...},
            "text": {...},
            "image": {...},
            "address": {...},
        },
        "style": { // Specific CSS style for sub-elements
            "name": {...},
            "text": {...},
            "image": {...},
            "address": {...},
        },
        "location": { // GeoJSON-LD
            "type": "point",
            "coordinates": [61.49623408242434, 23.73213060316381, 16z],
        },
        "date": ["2014-05-05T13:28:30Z","2014-05-05T13:28:30Z",4],
        "created": "2015-01-29T07:06:00Z",
        "modified": "2015-01-29T07:06:00Z",
        "connections": {
            {dioryID}: {
                "roomID": "54AA020-3AEA-4069-A2DD-08002B30309D4",
                "position": {},
                "status": {}
            }
        }
    }

Diory element using AngularJS dg-diory directive based on diory.json:


    

Template in dg-diory directive:



    /"
        
    
    
        
    
    
    /"

Elements can be modified with CSS Style attributes and Semantic UI classes (header -> name, icon -> image, icon -> address).

Room

Room is the container in the Personal Web. A room consists of walls, floor and sky as a ceiling. A room contains diories and tools.

room.json:

    {
        "ID": "03a0ddc5-9427-44b5-a066-67b61ca44cbc",
        "avatars": {
            "oopee@iki.fi": {
                "roomID": "03a0ddc5-9427-44b5-a066-67b61ca44cbc",
                "position": {},
                "status": {}
            }
        },
        "diorys": {
            "21EC2020-3AEA-4069-A2DD-08002B30309D4": {...}
        }
    }

Diory element using AngularJS dg-diory directive based on diory.json:


    

Template in dg-diory directive:


    
        
    
    
        
    
    
    

Elements can be modified with CSS Style attributes and Semantic UI classes (header -> name, icon -> image, icon -> address).

Format

Diory Format

Diory (digital memory) is the unit of information in the Personal Web. A diory relates to a room or a thing (agent, door, object, moment and place).