Group Brainstorming

From Microformats Wiki
Jump to navigation Jump to search


Per the microformats process, this page is for brainstorming about ideas, proposals, constraints, requirements for a microformat for indicating people's membership of a group, and vice versa.

Problem

See Chris Messina's original thoughts on microformats-discuss.

Not every page belongs to one user. We need a microformat to define a group of people.

There are two distinct problems here though.

The problem that Chris's proposal describes is actually just one of tagging. By tagging people with the same tag, you "place" them into a group as defined by that tag. That's the model presented by Chris's ASCII art diagram.

The simpler problem to solve is perhaps the group equivalent of XFN

How does a person indicate that they belong to of a group?

How does a group indicate that a person is a member of that group?

A Proposed Structure

From Chris Messina's original post

--Group Name
  | Description
  | Tags
  |
  +--+ Members
  |  |
  |  +-- Member 1 (hcard)
  |  |
  |  +-- Member 2 (hcard)
  |
  +--+ Pool
     |
     +--+ Topic
         |
        +-- Post 1 (hatom)
         |
        +-- Post 2 (hatom)


This model is totally overdesigned. A groups microformat should start as simple as possible, meaning, nothing but the idea of a group and members. That's the 80% in common case across various systems. People in a group. A group with people. Nothing more. -Tantek

Add optional roles. Groups may have "admins", "moderators", or "members". Or if you were marking up a contributes page, you could have "programmers", "designers", etc. Is this what you mean by tags? - Josh

No, those are roles. I mean the very *name* of a group could be interpreted simply as a tag on a person.

For example a named group of bookmarks are nothing more than a tag that all those bookmarks share.

Any taxonomy of group roles (admins, moderators, etc.) should be postponed.

-Tantek

To keep it simple, could we say that hGroup is just a container for other microformats. That would cover members (hcards) and topics (atom). - Josh

No. Both (a) naming and (b) proposing a structure (container) are both premature for a microformat, until the proper research has been done and documented on the wiki. Please follow the process. -Tantek


Real World Examples

See group-examples for current implementations.

Rel Group Member Proposal

I think Eran proposed this first, but just to make sure it is captured:

  • rel="group" - used by an individual to link to their groups
  • rel="member" - used by a group's site on links to its members
I've used this format to describe group membership in a distributed fashion. It is kept very simple on purpose, defining only group membership (both ways) and group roles. The format is loosely based on XFN so it should look familiar to you. Take a look at the draft profile for XHTML Membership Format (XMF). --EranGloben 12:22, 10 Aug 2006 (PDT)

group member proposal FAQ

  • What about rev=group instead of rel=member?

Possible Implementations

Groups could define their members on their own homepage. Social web sites could pick up the group list from the groups site instead. You'd instantly have your group on every (dreaming) social web service.

  • What about large groups? I'm a member of an organisation with over one million members. Andy Mabbett 16:30, 2 Feb 2008 (PST)
    • Groups could provide paginated lists of members (just as social network sites provide paginated friends lists), perhaps grouped by first letter of their names, and further subdivided as necessary (some applications, e.g. mailman mailing list software, already do this, that is, paginate their membership list). Tantek 01:22, 6 Feb 2008 (PST)

vCard 4.0 Draft

The latest vCard 4.0 draft includes a new property "member". This could be leveraged in hCard like so:

<div class="vcard">
  <h1 class="fn org">The Microformats Community</h1>
  <p>Members:</p>
  <ul class="xoxo">
    <li class="member vcard"><a class="fn url" href="http://tantek.com">Tantek Çelik</a></li>
    <!-- ... etc ... -->
  </ul>
</div>

A paginated list would need to include the hCard for the organisation/group on each page, but could use an identical UID on each page to indicate that they all represent the same organisation.

  • This is already experimentally implemented in Cognition 0.1-α11.
  • This is similar to how the "agent" property already works, so people should already be fairly familiar with it.
    • An admin or moderator of the group could be indicated using class="vcard member agent" and, further, a role or title to indicate their responsibility.

see also