Monday, May 28, 2007

Open Contacts and FOAF

Open Contacts and FOAF

It is assumed you have some basic knowledge of following services:

  • Social networking web services of MySpace and Linkedln.
  • Distributed social networking like FOAF and Microformats.

Please also read the following web pages

RELATIONSHIP: A vocabulary for describing relationships between people

XFN 1.1 relationships meta data profile

The Friend of a Friend (FOAF) project

FOAF Vocabulary Specification 0.9

Is Web 2.0 Address Book a silver bullet?

Open Contacts and distributed social networking, Part 1

Open Contacts and distributed social networking, Part 2

Open Contacts natively supports XML. Contact details, categories and relationships can all be exported into a single XML file, thus, such info can be converted into other formats using XSL files or simple programs. So, FOAF or Microformats .....

Open Contacts provides explicit functions of managing relationships between your contacts. Do you see how you are managing the relationships between you and your contacts?

Yes, the category system. Though a category system is not exclusively designed for categorizing contacts of different relationships, however, it is natural that you create a few category nodes like "Friend", "Classmate" and "Relative" etc along with other categories like "Government", "Business" etc.

It is very straightforward to map the "Classmate" category to the "Classmate" relationship. However, you might have a few sub-categories to store "Primary School", "High School" and "University" etc. It is neither conventional nor necessary to present such level of info to social networking, because generally you just need to mark relationship "Classmate". The solution is to mark these categories with property "Classmate". Thus, you may have multiple categories sharing the same relationship property.

In version 4.x, when editing categories of People, you may assign some categories with relationship properties. Open Contacts will show a sibling top category "Relationship", below which there's one level of categories such as "Classmate", "Sibling", "Co-worker" and "Friend" etc., which are created automatically according to what relationship properties were assigned to categories under top category "All". When clicking on property category "Classmate", all contacts under categories with property "Classmate" will be listed.

To improve the visual effects of managing relationships, each property of relationship is associated with a background color which will apply with relevant categories.

As you have seen the example of RDF files of FOAF, it is straightforward to translate Open Contacts' XML into RDF of FOAF. In addition, it should be also easy to convert RDF of FOAF to Open Contacts' XML which can be imported into Open Contacts. Therefore, Open Contacts and FOAF can support each other.

Can you see the protentials?