Socialwg/Social API/Requirements

From W3C Wiki

API requirements

As derived from user stories. So far completed for approved user stories.

Amy Guy (talk) 19:45, 3 August 2015 (UTC) (Originally published at

Note: These requirements are deliberately limited by the contents of the user stories. If things seem obviously missing, this is because they were not referenced in the user stories. I've tried not to over-generalise when summarising them, too.


  1. List required functionality from each user story.
  2. Cluster related functionality, find overlap between stories (see colours/tags).
  3. Organise requirements into shortlist.

Requirements shortlist

In no particular order. Tags/colours map to requirements by story, below.

sub Subscribe to content

  • According to some filter, eg. by a certain user, posted to a certain group.
  • Undo a subscription.

pub Publish content

  • Including text, photo, video, audio.
  • Including metadata and relations to other things, ie. audience/to, tags, reply-to, likes.
  • Update published content.
  • Delete published content.

notif Notifications

  • User is somehow alerted when content is created that explicitly targets them (ie. as recipient or subject).

read Read content

  • According to permissions.
  • Discovery of content according to criteria:
    • type (text, photo..);
    • associated with group;
    • created by a particular user;
    • by the content's target (replies/likes of a particular post).

Requirements by story


  • Publishing a
  • Push notifications.notif
  • Subscription to a user.sub
  • Commenting on / replying to a

User posts a note

  • Publishing text
  • Updating published
  • Deleting published

Reading a user's recent posts

  • Reading comments /
  • Reading posts from a particular
  • Viewing photos from a particular

Following a person

  • Subscription to a user.sub
  • Publishing a
  • See a user's subscriptions.sub
  • Read posts from a particular
  • Unsubscribe from a user.sub

Read Social Stream

  • Subscribe to a user (one way).sub
  • Join a group ~= subscribe to group content.sub
  • Publish a
  • Publish
  • Private pub
  • Publish subscriptions.sub

Integration: Adding recommendations

  • Liking / recommending a
  • Subscribe to a user.sub
  • View likes of a
  • Posting from one interface to another system (scope?)

Integration: Adding comments

  • Reply to
  • Notifications.notif
  • Subscribe to a user.sub
  • Posting from one interface to another system (scope?)

Direct messaging

  • Publishing text content; specifying
  • Private
  • Notifications.notif


See early brainstorming (not based on user stories).