Collaboration/social networking API

Code name Callibry

Abstract

Most of collaboration and social networking systems just provide a way of sharing or copying collection of objects with applying certain filtering conditions.

The API supposes to provide a unified interface of accessing collections, exploring objects, and applying filters.

Proposal

The API speeds up development of social networking and collaboration systems. It simplifies also setting up information exchange, objects sharing and so on of different systems with a similar purpose.

Objects

Callibry provides open set of objects, it means that it doesn’t specify any concrete objects; it just provides a way of exploring objects. Certain object attributes can give certain light on a purpose of object. An object provider system can supply also object manipulators, which can be used for presenting objects to an end user.  An object signature can be used for recognition and categorization of objects.

Collections and aggregations

Objects are grouped in collections. Objects can have also relations, which create aggregation of objects. Collections can be sorted on certain attribute of stored objects.

Filters

Access to objects is possibly only after applying certain mandatory filters. Any custom filter can be applied after.

Attributes

Attributes are a way of exploring objects. An object has to provide an enumeration of public attributes, which can be used for further exploring. An attribute can carry a type helping in its further discovering. An attribute can also carry storage type.

Dictionary

A dictionary allows building presentation names/labels of object attributes in different languages.

 

Predefined attribute types

 

Predefined storage types

 

Example of objects

Message/Note

            Attributes

  1. Title
  2. Highlights
  3. Formatted text
  4. Plain text
  5. Timestamp
  6. Id
  7. Author

Virtual item

            Attributes

            Matter category (song, movie, album, food, meat, camera, interest, skill)

            Flexible attribute as name: value

            Timestamp

Tag (Category label or CALB)

            Attributes

  1. Color
  2. Format (font, size)
  3. Picture
  4. Sound

ID

            Attributes

  1. Login
  2. Password
  3. Distinctive name/ value pair
  4. Access URI

Matter

            Attributes

  1. ID
  2. Description

Rating

            Attributes

  1. Matter
  2. Pairs name – value

Reference

            Attributes

  1. Matter
  2. Value

Unified object locator

            Attributes

  1. Matter
  2. Value

Media objects

All media objects have attribute of type Virtual item

Still picture

Animated picture

Sound

Video

Video and sound

Attachment objects

File

            Attributes

            Type: Document (subtype, MIME type), Executable. Archive, Other

            Size

 

Aggregation Objects

List

Set

By person

Heap

Composite objects

Person