Friday, 2 July 2010

User groups or Tags?

One of our aims was to ready the system for use in different contexts and thereby make it more sustainable in the long term. To do this we planned to implement 'user groups' which would allow the creation of distinct learning spaces, e.g. to allow a group of students to start with an empty word list and only see content contributed by group members.

On closer inspection however, user groups have a considerable admin overhead - and they are not the only way forward to achieve separate content pools. A light-weight alternative are tags or 'hashtags' or 'channel tags'. Tags have no admin overhead at all and in many ways seem a more elegant and flexible solution.

On August 23, 2007, the Twitter hashtag was born. Invented by Chris Messina, the first tweet with a hashtag read as follows: “how do you feel about using # (pound) for groups. As in #barcamp [msg]?”

Source: The Short and Illustrious History of Twitter #Hashtags

Drawing up a list of real world problems / use cases and spelling out how these would be addressed with user groups or tags, we found that most problems could be addressed with both solutions (the main difference beeing the admin overhead for user groups). The only case not covered by tags is when groups want to keep their content private, however, this is balanced by the difficulties of usergroups to share their content with others. It all boils down to tag-based systems being by default open while user-groups are by default closed (even if you can easily join). Confronted with this almost philosophical questions we decided to implememnt a tag-based solution.

In order to cover all use cases, we need to be able to show all content, show only content from one or more subsets and exclude content from one or more subsets. Consequently the Settings dialog has these options:
  • Show only these tags: Only content tagged with these tags will be visible when browsing (e.g. group tag). Leave empty for all content.
  • Don't show these tags: Exclude certain tags when browsing (e.g. sex, religion). Leave empty to not exclude any tags.
  • Default tags for my posts: Add these tags by default (e.g. group tag). Leave empty for no default tags in your posts.

Here's a use case:
A teacher at the ISC wants his students to start from scratch with an empty word list. He thinks up the unique tag ISC2010 and instructs his students to call up the Cloudbank Settings dialog, where they enter the tag as an inclusion filter('Show only these tags: ISC2010'). In addition, students enter the same tag as their default post tag('Default tags for my posts: ISC2010'). As a result, all content posted by students is tagged with ISC2010 and they only see CloudBank content tagged with ISC2010.

No comments:

Post a Comment