Instant Syndicating Standards

ISS (Instant Syndicating Standards) associates each individual with their own broadcasting channels (represented in form of tag clouds) and connects these channels through a trusted network of people (represented in form of tag links).

Much like Instant Messaging, users manage their contacts list by adding people they trust and with whom they share a common interest. However, instead of just displaying the contact’s name and avatar, ISS displays a tag cloud of channels for each contact as well. This promotes the awareness of news and information being created and broadcasted within the social network. If a user becomes interested in a particular channel, he or she may subscribe to this channel and add it to his/her own personalized channel.

Creating news and information is as easy as writing an instant message and in a way it resembles blogging very much. However, instead of sending this information to someone in particular or to no one at all, the information is broadcasted to a particular channel. Everyone within the personal social network that is subscribed to this channel receives this information. The advantage of this approach is that it’s non-obtrusive and yet a target public still exists. The information travels within the social network as long as it remains relevant. Who decides the relevance of the information are the people themselves.

ISS connects people with news and information that matters to them the most by letting people themselves express what matters to them at an individual level. This challenges the top-down model of information sharing and gives place to a bottom-up model, where each person has a unique voice and equal opportunity to contribute and benefit. In this way, ISS hopes to bring people closer together to discuss common interests and share information in a more open and democratic manner.

ISS Identity

An individual may be identified using a(n):

  • URL: for the Web;
  • JID: for XMPP.

URL

ISS Identity for the Web

Example: http://nick.iss.im

Where the ISS channel is published:
<link rel="service.feed" type="application/atom+xml"
title="iss" href="http://nick.iss.im/iss"/>

The avatar and nickname may be discovered consulting the hCard:

<div class="vcard">
  <span class="fn n">
     <a class="url" href="http://nick.iss.im">
       <span class="given-name">Nick</span> 
       <span class="family-name">Vidal</span> 
     </a>
  </span>
  <span class="nickname">nickvidal</span>
  <img class="photo"
       src="http://nick.iss.im/wp-content/nick.jpg" />
</div>

JID

ISS Identity for XMPP

Example: nick@iss.im

Where the ISS node is published (XEP-0163).

The avatar may be discovered consulting the avatar node (XEP-0084).

ISS Formats

ISS Formats are:

  • TagCloud: describes the tags from an individual;
  • TagLink: connects these tags through a trusted network of people.

TagCloud

TagCloud Description:

<iss>
…
<tag name="science">
<tagcloud type="syndicated" year="2006|2007|2008"
data="0,0,0,0,0,0,4,23,45,32,34,31|
32,44,53,23,43,32,34,64,34,21,35,23|
43,23,34"/>
…
</tag>
…
</iss>

TagCloud Types:

  • Syndicated: number of entries syndicated;
  • Commented: number of comments from the personal social network;
  • Subscribed: number of subscribers;
  • Shared: percentage of entries that were shared within the subscribers.

TagLink

TagLink Description:

<iss>
…
<tag name="science">
…
<taglink type="base"
push="xmpp:nick@iss.im?;node=science"
pull="http://nick.iss.im/category/science"/>
<taglink type="incoming"
push="xmpp:debbie@iss.im?;node=environment"
pull="http://debbie.iss.im/category/environment"/>
…
<taglink type="outgoing"
push="xmpp:penny@iss.im?;node=science"
pull="http://penny.iss.im/category/science"/>
…
</tag>
…
</iss>

ISS Services

ISS Services are:

  • Discovering: display tagclouds for each contact;
  • Subscribing: subscribe to friend's tags;
  • Viewing: view entries from subscriptions;
  • Syndicating: syndicate entries to subscribers.

They can be implemented using:

Discovering

One of the main features of ISS is the ability to discover friends’ current interests by viewing their tag cloud. A tag cloud is a visual representation of the most popular tags in a given time frame. The Figure below shows a tag cloud for Debbie for September 2006. The most popular tags are Health, Thesis and Yoga; followed by Dance, Education, Music, Romance and Shopping. To create a tag cloud, it's necessary to compare how many entries there are for each tag in a given time frame. The more entries it has compared to other tags, the bigger it appears.

Chat Window
Chat Window

Besides size, colors also play an important role in tag clouds. The colors of the tags represent the incoming and outgoing flow of information. The blue color is for tags that have an incoming flow (e.g. Nick receives information from Debbie's Friends tag). The red color is for tags that have an outgoing flow (e.g. Nick sends information to Debbie's Spirituality tag). The purple color is for tags that have a mutual flow (e.g. Nick receives and sends information about Art from and to Debbie). Finally, the black color is for tags that have no flow of information (e.g. Nick and Debbie don’t exchange information about Environment – yet).

Let us suppose Nick is interested in receiving entries from Debbie that has been tagged with Environment. All he has to do is to select Debbie’s Environment tag to see the latest entries she has written about the Environment. If he is truly interested in subscribing to Debbie’s Environment tag, then all he has to do is associate Debbie’s Environment tag with one of his tags.

Retrieving Debbie's TagCloud in XMPP:

<message from='debbie@iss.im' to='nick@iss.im'
type='headline' id='discovering'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='iss'>
<item>
<iss>
…
<tag name='environment'>
<tagcloud type='syndicated' year='2006'
data='0,0,0,0,0,0,0,0,3'/>
<taglink type='base'
push='xmpp:debbie@iss.im?;node=environment'
pull='http://debbie.iss.im/category/environment'/>
…
</tag>
…
</iss>
</item>
</items>
</event>
<x xmlns='jabber:x:delay' stamp='20060921T21:27:44'/>
</message>

Subscribing

When subscribing to a friend’s tag, the users’ own tag cloud is shown. This tag cloud is shown in the Figure below. The users have to select the tags to which their friend’s tag will be associated. A tag may be associated with one or more tags.

View Window - Subscribing
View Window - Subscribing

Let us suppose Nick associates Debbie’s Environment tag with his Science tag. Now every time Debbie publishes something tagged with Environment, these entries are automatically tagged with Science.

Thus, for users to share information, they don’t have necessarily to share the same concepts. All they have to do is to show how their friends’ concepts are associated with their own concepts. This is what tag links do. The Figure below shows Nick’s tag links. Debbie’s Environment tag is now associated with Nick’s Science tag. Since Nick is subscribed to Debbie’s tag, the color of the tag link is blue (incoming link). Outgoing tag links are in red.

Subscribe Window
Subscribe Window

Subscribing to Debbie’s Environment tag in XMPP:

<iq type='set' from='nick@iss.im'
to='debbie@iss.im' id='subscribing'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<subscribe node='environment' jid='nick@iss.im'/>
</pubsub>
</iq>

Viewing

The figure below shows the View Window. It resembles an aggregator with lots of information shown. Again, colors play an important role. Entries in blue are incoming entries, i.e. entries that have been received. Entries in red are outgoing entries, i.e. entries that have been sent. And entries in purple are entries that have been shared. The star with a smiley icon shows whether the user has liked an entry and decided to share it. If, within a group of subscribers, many people have shared a specific entry, then the three stars to the right will be shining. And if someone has added a comment to the entry, the far left star will be shining. Thus, if all five stars are shining, then this is a very relevant entry within this social network.

View Window
View Window

The icons in the top bar are guides to help the user filter entries. If the user wants to filter Science and Technology entries, for example, he or she can select the tag icon, which displays the user’s own tag cloud, from which he or she can select the Science and Technology tags. In the search box it will appear the following string: "tags(Science and Technology)". Other combinations can be done as well.

View Window - Filtering
View Window - Filtering

It is important to remember that even though the entries have been tagged as Environment by Debbie, they are tagged as Science for Nick. But these entries are not published in Nick’s Science node unless they have been shared by Nick himself.

Retrieving entries from Debbie’s Environment tag in XMPP:

<iq type='get' from='nick@iss.im'
to='debbie@iss.im' id='viewing'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='environment'>
</pubsub>
</iq>
</code>

Retrieving a specific entry in XMPP:

<iq type='get' from='nick@iss.im'
to='debbie@iss.im' id='viewing2'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='environment'>
<item id='368866411b877c30064a5f62b917cffe'/>
</items>
</pubsub>
</iq>

Syndicating

If Nick wants to share a specific entry, he may do so by tagging the entry appropriately. The Figure below shows that this particular entry is already tagged with Science. He may add new tags by selecting them from his own tag cloud, or he may create new ones by typing them. When he syndicates this entry, he publishes this entry to the nodes of these tags. Everyone subscribed to these nodes will receive a notification.

Syndicate Window - Tagging
Syndicate Window - Tagging

Many metadata may be associated with an entry. In the Figure above we can see five metadata associate with this entry. The first metadata indicates that this entry is tagged with Science. The second metadata indicates the original author of the entry. An entry may travel far within the social network, but the original source should always stay intact. The third metadata is the file attached to the entry. This file travels from person to person, computer to computer, peer-to-peer style. In parentheses it’s shown who in Nick’s personal social network has already downloaded the file. Nick can download the file directly from them instead of downloading from the source. Information about the file’s location is published to the Downloaded node. The fourth metadata is comments. Nick can read what comments his friends have about this particular entry. Comments are published to the Commented node. And finally, the fifth metadata is the rating of this entry. Three of Nick’s friends that are in his incoming tag link for this tag have shared this entry. If Nick decides to share this entry as well, the three stars will be shining. Shared notifications are published to the Shared node.

Syndicating an entry in XMPP:

<iq type='set' from='nick@iss.im'
to='pubsub.iss.im' id='syndicating'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='science'>
<item id='ae890ac52d0df67ed7cfdf51b644e901'>
<entry xmlns='http://www.w3.org/2005/Atom'>
<title>Tips for a Better World</title>
<author>
<name>Debbie Soares</name>
<link jid='debbie@iss.im'
id='368866411b877c30064a5f62b917cffe'/>
</author>
...
</entry>
</item>
</publish>
</pubsub>
</iq>

ISS Policies

Some policies to control the quality of information are:

  • Incoming information only comes from one-degree apart friends through subscriptions;
  • Friendship requests only come from people x-degrees apart, where x is set by the user (a graph should be created beforehand);
  • Friendship requests are viewed as a special channel, where the user can easily see the person's tagcloud, how many degrees separate them and how much they are connected;
  • The user may decide to provide services only to people x-degrees apart. This is particularly interesting for resource-demanding services such as Syndicated Search, for example.