In Open Contacts, the links between contacts represent the relationships between your contacts. Regarding to the relationships between you and your contacts, you might prefer to use the category system to group contacts of a certain relationship together, though technically it is OK to have a myself contact, and link myself to other contacts.
In practice, regarding to UI, it is more natural to have a category tree to represent relationships, business categories and others.
It is normal that you maintain the relationship info between you and your contacts. Though you might sometimes maintain the relationship info between contacts, it is more natural that such info can be maintained by these people you know. This is exactly what those existing social networking websites basically do.
Please refer to some blogs and web sites I previously suggested about web 2.0 and social networking.
As you might have notices, in Open Contacts, predefined fields may have semantic meanings and associated action upon other software applications. And all the essential contact data can be exported to XML including categories and relationships between contacts.
The next thing I want to do is to introduce semantic meanings to nods of the category tree. For example, you have a few categories for classmates in schools, and you may associate these categories with category type "schoolmate". The categories of relationships may be associated with category types "friend", "workmate" etc. In addition, to visually denote these categories, each category may be denoted with a specific icon. Ah, finally, Open Contacts has some icons introduced. Then you may export selected contacts to an XML file.
What can you do with this XML file to do social networking?
Well, this XML file can be used by both centralized social network websites or distributed social networked websites.
Regarding to centralized social networking websites like Linkedln, the general procedure is:
1. You create an account and fill in your basic contact info, as a hub.
2. Send invitations to your friends via Email to join this site.
3. Request creating links to your friends who have account in this site.
The shortfalls are: though you can upload contacts to Linkedln through csv, vCard or Outlook ActiveX, Linkedln extract only contact name and Email address, and the Email address is then used as unique id to identify people and invite people. You can't use Linkedln as an Web address book for all you contacts, linked or not.
There are tens of thousands of articles around discussing the good things and the shortfalls of social networking websites. I am not going to join the debates here, just express my ideas how to better melt desktop programs with web applications regarding to the use cases of Open Contacts.
Three Objectives
- Access contact info through the Web
- Automatically update database of Open Contacts when my contacts update their contact info hub on the internet.
- Form distributed social networking.
Use Cases with the Web
- Sometimes you may go overseas for holiday or whatever and you don't want to bring notebook computer or USB memory drive with you. To keep a list of handy contacts with phone number and Email address, you will print all or selected contacts on paper. In case you will even lost the paper, to get better data insurance policy, you will export the contact info to HTML, then save it on the web. The HTML with contact info can be an Email to your Web mail address, or your private blog page, or simply a web page without inbound link. This is fully supported in Open Contacts.
- You might be working in a work place with strict security policy. You are not allowed to install or run any other software on the workstation. So, the Web will be the only option to access your private contact info. In addition to exporting to HTML, you may export to XML. With technologies of DHTML, XHTML and JavaScript, you can make the presentation of the XML on the Web be more navigable, for example, restoring the navigations through categories and initials. Thus, you don't need to rely on any centralized web service to access contact info with pretty good navigation, the access is very much controlled by you only. The shortfall is, you can't edit contact info online. This is supported partially.
- You might want to use XHTML Friends Network (XFN) to form a distributed social networking. With exported XML, you may convert many contacts into XFN tags in a batch. I will come up with more technical details in next article.
- In Open Contacts, a field type called "update" will be supported. A dynamic field of such type will point to a url of vCard, hCard or hCard which is maintained by a contact person. A desktop program or a Web delegate spider will regularly crawl through these links to resources of contacts in order to merge the latest changes to Open Contacts' database, including contact details and the relationships of common contacts. I will come up with more technical details in a separated article.
How will Open Contacts supports MicroFormats?
hCard is an elegant way of representing personal contact info on the Web. Rather than having HTML presentation and vCard together, essentially hCard embeds vCard into HTML, so there won't be problem of synchronizing HTML and vCard. hCard is getting popular.
Besides hCard, there are quite a few publicly available XML schemes which represent vCard in XML. Pretty confusing as illustrated in this article. Thought it is not really hard to convert XML of Open Contacts into those XML schemes, I think it is not very useful to support them, because normally you will publish your own contact info but not others, and there are around some web programs that can transform vCard to specific a XML format.
What I would support is XFN, which can be a handy solution for distributed/decentralized social networking.
I will discuss this more in next article.

0 comments:
Post a Comment