SocialWG User Stories

From Hydra Community Group

More details on: https://www.w3.org/wiki/Socialwg/Social_API/User_stories

Approved user stories

Proposed user stories

User profile management

  1. Kim creates a personal profile with her name, avatar picture, and home town.
  2. Kim updates her profile to include her job title, phone number and company name.
  3. Kim reconsiders her personal privacy boundaries; she updates her profile to remove her phone number.


User posts a note

  1. Eric writes a short note to be shared with his followers.
  2. After posting the note, he notices a spelling error. He edits the note and re-posts it.
  3. Later, Eric decides that the information in the note is incorrect. He deletes the note.


User posts a note with embedded media

  1. Samantha is writing a post directed at her students about how to get started in programming Lovelace, and she had seen her friend Helen's video recently
  2. Below the first paragraph, Samantha embeds Helen's video, then writes several more paragraphs on how to apply those concepts to their first homework assignment.


User posts a file

  1. Maria uploads a photo of her car and shares it with her friends.
  2. Maria decides that the picture is too big and crops it to just show the car. She uploads a new version to replace the original.
  3. Maria realizes the photo includes her license plate number, which she would rather not share for privacy reasons. She deletes the photo.


Reading a user's recent posts

  1. Iris finds a comment by Sam on one of her photos funny. She'd like to read more posts by Sam.
  2. Iris reads the latest notes by Sam. She also reviews his latest photos.


Following a person

  1. Delano meets Beth at a company meeting. They are both user interface designers. He finds her ideas interesting.
  2. Delano follows Beth on their company social network.
  3. Beth posts a photo from a whiteboarding session at a company retreat.
  4. Delano sees the photo in his inbox stream.
  5. Ted, Delano's coworker, wants to find new people to follow. He looks at the list of people that Delano follows. He finds Beth in the list, reads her stream, enjoys it, and decides to follow her, too.
  6. Beth posts frequently. Delano is having a hard time reading his inbox stream because Beth's activities drown out everyone else's. He stops following Beth.


Managed profiles

  1. All students going to a school or university or every employee of a company get a profile page
  2. Some data there they cannot edit ( e.g. name, photo, class ), some elements they can ( e.g.. interests )
  3. After authenticating to the system the student can change his interests, add links to his other external identities if he wishes, change his telephone number ( requires verification... )
  4. The student can also specify how public their information can be - should the profile picture and name, only be visible to university staff and students, or only to other universities, or be completely public?
  5. Human Resources on the other hand can edit key identifying information about their employee, student, ....


Organizing content

  1. John records himself playing a song.
  2. He creates a folder called "Me on guitar".
  3. He adds the recording to that folder.
  4. Erica looks at John's list of folders. She finds "Me on tuba", "Singing in the shower", and "Me on guitar".
  5. Erica looks at all the song files in "Me on guitar". She downloads and listens to John's song.
  6. John realizes he was actually playing the tuba, not the guitar. He removes the song from "Me on guitar" and adds it to "Me on tuba".
  7. John realizes he doesn't play guitar at all. He deletes the "Me on guitar" folder.


Adding friends

  1. Jeremy finds the profile for his roommate Tammy. He requests to add her as a friend.
  2. Tammy approves Jeremy's request.
  3. Tammy posts a photo of her dog. Jeremy sees the photo in his inbox stream.
  4. Jeremy shares Ming's video. Tammy sees the video in her inbox stream.
  5. Ike wants to know who Tammy knows. He looks at her friends list. He sees her friends, including Jeremy.
  6. Tammy and Jeremy have a fight. Tammy moves out of the apartment. She unfriends Jeremy.


Groups

  1. Roger creates a group for his neighbours called "Canyon Street Neighbours".
  2. Roger edits the group to include a description of its goals: "Getting to know each other". He also adds an avatar picture showing the view down the middle of the street.
  3. Roger invites his neighbours Edna, Damon, Phyllis and Carlos to join the group.
  4. Edna, Carlos and Damon join the group.
  5. Edna posts a photo of trashcans on the sidewalk with the caption "Let's keep these at least 5 feet from the curb, please!"
  6. Damon sees the photo in his inbox stream.
  7. Carlos looks at the list of posts to the group. He sees Edna's photo in the list.
  8. Damon looks at the list of members of the group. He sees himself, Edna, Carlos and Roger.
  9. Tammy looks at the list of groups Carlos is a member of. She sees the "Canyon Street Neighbours" group, among others.
  10. Damon and Carlos have angry arguments that are posted to the group. Edna tires of the drama and leaves the group.
  11. Roger decides the group is hurting the neighbourhood, not helping it. He deletes the group.


Contact lists

  1. Jill creates a list of people she knows well, called "Close friends".
  2. Jill adds Tammy, Carlos, Ike and Jeremy to her "Close friends" list. None of the friends know each other.
  3. Jill looks at the list of people in her "Close friends" list. She reconsiders and removes Carlos from her "Close friends" list. They are friends, but not close.
  4. Jill posts a note to her "Close friends" list. "I wanted to let you know that my husband Bill and I are separating."
  5. Tammy, Ike and Jeremy see Jill's note in their inbox streams.
  6. Jill looks at her list of contact lists. She sees "Close friends", "Family", "Coworkers", and "School play 2011".
  7. Jill deletes the "School play 2011" list because she no longer uses it.


Responses

  1. Alexa posts a short video which is distributed to the inbox streams of her followers.
  2. Ben thinks it's a good video. He indicates to Alexa and others that he "likes" the video.
  3. Charles posts a comment on the video. "This is hilarious!"
  4. Denise indicates that she "likes" Charles's comment.
  5. Edgar post a comment on the video: "This sucks! Boo!" He thinks better of the sentiment and deletes the comment.
  6. Felicia indicates that she "likes" the video. She watches again and realizes that Alexa is making some pretty mean jokes about another friend. She indicates that she doesn't, actually, "like" the video.
  7. Ginny shares the video with her own followers. "Check out this great video by my friend Alexa!"


Extensible activity types

  1. Helen tries a new social game called "Monkeyshines". She shares her social API credentials and endpoint information with the application.
  2. Helen plays Monkeyshines. In the game, she collects 100 bananas, which is a new personal high score.
  3. The game asks if she'd like to share this information with her social network. She agrees.
  4. Her followers on the social network are notified that Helen collected 100 bananas.
  5. Isaac looks at Helen's recent activities. He sees that she has posted several photos, shared a nacho recipe by a friend, and has collected 100 bananas.


Inbox

  1. Jake is bored at work. He checks his social inbox stream to see what his friends, family, and coworkers are up to.
  2. Jake sees in his social stream a note by Tammy about her new apartment. Tammy is his friend.
  3. Jake sees in his social stream a photo by Edith from her concert last night. Jake follows Edith but Edith doesn't know Jake. Edith has thousands of followers.
  4. Jake sees in his social stream a video from Damon. Damon and Jake are both in the "Boxing Fans" group. Damon posted the video to the group.
  5. Jake sees in his social stream a sound file from Carol. Carol is Jake's wife. The sound file is a reminder to stop for groceries after work. Carol posted the sound file only for Jake.
  6. Jake sees in his social stream that his friend Tammy has added a new friend, Denise. Jake remembers Denise from high school. Jake requests to add Denise as a friend, too.


Person tagging

  1. Eric sees a photo posted by Dora from a recent event
  2. Eric recognizes their mutual friend Cassie in the photo
  3. Eric tags Cassie in the photo with the specific location of Cassie's face in the photo
  4. Dora sees Eric's person-tag but realizes he tagged the wrong Cassie, so she corrects the tag to the correct Cassie
  5. Cassie sees the photo and decides she would rather not be tagged in a photo of her holding a bottle of beer, so she removes the tag


Location tagging

  1. Cassie receives a notification that she has been tagged in a photo posted by Dora
  2. Cassie views the photo and recognizes the photo was taken at Starbucks, so adds the location of the photo
  3. Dora sees that Cassie added the location, but notices she tagged the wrong Starbucks, so she updates the location to the correct Starbucks
  4. Dora later reflects on the photo and realizes she doesn't want to admit to having drank a coffee from Starbucks, so she removes the location tag from the photo


Answering a question

  1. Erica posts a question to a social collaboration platform.
  2. Julia sees the question and responds with a suggested solution.
  3. Elise sees both the original question and the response from Julia in her activity stream and recommends the answer provided by Julia.
  4. Erica gets an notified about activity on her question. She reads Julia's response and selects it as "answering" her question.


Browsing the Friendship Graph

  1. Samwise is looking for new contacts (for a surprise party, new business, your guess)
  2. Samwise is browsing his list of contacts.
  3. Alissa has previously allowed Samwise to see her list of contact.
  4. Samwise also browses the list of Alissa (his contact).


Two CEOs Follow Each other

  1. James meets Carly at a golf club. They are both CEOs. They can think of some good synergies between their companies.
  2. They exchange cards ( which contain their global identifiers tied to their Company Social Web Platform )
  3. Carly as she is driven home after the event enters James' identifier into her Social Web UI and finds the public information about James, his company, and others in her network who know him.
  4. Carly reads James' latest blog entries
  5. She is confident she has the right information, follows him, and send him a hello message.
  6. James the next day opens his Social Web Inbox. He finds Carly's message, the info on her public profile and the NASDAQ info about her company.
  7. James follows Carly back.


Follow a neighbourhood group

  1. Joe, Jane and their children move into a new house and Joe brings his personal server to the new house, and switches it on by plugging it into the wall and connecting it to the fibre optic cable.
  2. The server sets up the DNS so that all Joe's previous contents are now available at the same URLs as in his previous house, meaning that his social network is back online.
  3. One of Jane's friends notices their new geo-location over the web and introduces them to Jack, one of Joe's neighbours.
  4. Jack and Joe accept the friend of a friend (foaf) invitation and Jack comes by the next day to say hello.
  5. Jack adds the family to the neighbourhood group ( stored somewhere ), and sends Joe a hello message welcoming him to the group.
  6. Joe receives the hello message the next day, visits the group, and leaves an introductory message for his neighbours.
  7. On that group Jane discovers that there is a collective barbecue the next weekend and leaves time in the calendar for the family to go there with the family.
  8. After the barbecue Joe connects up directly with some of the neighbours he ended up in longer conversations with.
  9. These closer friend relations gives those neighbours more access to each others plans, allowing them for example to organise taking kids to school on a rotary basis.


Co-operation between NGOs

  1. Three NGOs are working in different ways on the topic of Global Warming (GW). Members meet at a conference at which they decide to co-operate on their research
  2. Each NGO adds the others NGOs GW group to their GW group.
  3. The members of each NGO can now see content posted by the others to their servers and can comment on it, etc, as if they formed part of the same NGO
  4. As they explore the topic they discover that their work is completed nicely with that work from a university and meteorological project with access to satellite data
  5. They add those two groups to their GW group and can now co-operate with those players on specific topics too, gaining access to scientific reports and data from the University, and historical as well as currentl data from the satellite


Product issue reports

  1. Each product a company makes has its own URL which can be read off the product. From that URL the user can find the history of the product, from creation to the present.
  2. Only the current buyer and the company has access to that page
  3. A user finds a problem with his product and goes to his Product page. There he can open a new bug report.
  4. He can upload pictures of the problem, descriptions, and discuss with the Technical Support Staff
  5. The Technical Support Staff or the User can add new people to the discussion, eg. technical experts, parts manufacturers, sales people, legal, etc...
  6. New members can then contribute to the discussion bringing their expertise to bear.


Group Coordination

  1. Jacky, Joe, Joan and Jim agree to meet in the city.
  2. While converging towards each other they can observe the progress of their peers.
  3. As Joan has found a nice cafe and proposes a new meeting point there
  4. The friends agree and adapt their routes
  5. Joe observes that Jacky is taking a very similar route and adapts his route to meet her earlier.
  6. The friends meet at the new meeting point.


General social network client

  1. Conchita is an iOS developer. She creates a native iOS social client.
  2. Denise downloads Conchita's application to her iPhone. She starts the program and shares her authentication credentials and the social API endpoints for her social network server.
  3. Conchita's application determines the version of the social API that the server implements. The application only uses API calls that are defined in that version.
  4. Denise can then do any of the tasks indicated by the above user stories that Conchita's software supports.


Developing a Smart client

  1. Conchita is an iOS and Android developer. She creates a native social client iFoaf that allows people to explore friends of friends networks across the world.
  2. She developed a version for blind people, one for people with sight problems, and one very elegant version.
  3. The application only consumes data published by the server and interacts using the Social Web API. This is what allows her to refine the UI needs for the particular groups of disabilities in question.


Using a Smart Client

  1. Jillian downloads iFoaf to her smart phone, starts the program, enters her identity, and authenticates herself to her home server. The client gets her profile data and initiates the application with data taken from her Social Web Server and her client
  2. The Application asks Jillian if she wishes to add people found in the smart phone address book to one of her already published groups or a new one. Denise publishes them to a new group, to categorise later
  3. As Jillian is an EFF advocate she travels a lot, and so do many of the people she is in contact with. So she often does not know what time it is for the person she wants to call. But she has convinced 50% of her friends to have their own home servers with Social Web compliant APIs.
  4. Jillian uses iFoaf to call people.
    • If the person she wishes to call publishes her time zone info, Jillian can know if it is advisable to call them.
    • Jillian always gets the latest phone number people are using, and never has out of date phone numbers
  5. As Jillian travels iFoaf can let her know what friends of hers happen to be in the same town. She can quickly message them to say hello.
  6. Any messages Jillian sends travels over an encrypted channel directly to her friends computer, so Jillian knows that her messages are never read by anyone else than their intended recipients.
  7. Jillian's server also allows traffic over Tor, to allow her to communicate with people in politically sensitive positions.


Dedicated hardware

  1. Clarence creates a new bathroom scale.
  2. Dianne buys one of Clarence's scales. She shares her authentication credentials and the social API endpoints for her social network server.
  3. Dianne weighs herself on her bathroom scale and reaches a new personal weight record. She presses a button on the scale to share the reading with her followers.
  4. Dianne's followers receive a notice that Dianne has reached a new personal weight record.


Social network analysis

  1. Abel provides a Web site that suggest new friends for social network users using triadic closure.
  2. Beatrice shares her authentication credentials and the social API endpoints for her social network server.
  3. Abel's software retrieves a list of all of Beatrice's friends.
  4. For each of Beatrice's friends, Abel's software retrieves that friend's list of friends.
  5. Abel's software calculates the count of incoming edges for all people in Beatrice's two-level social network.
  6. Abel's software shows Beatrice a list of the top 5 people sorted by incoming edge count that she may want to friend or follow.
  7. Beatrice notices that this is list is of her ex-boyfriends, and deletes her data from Abel's site so they don't stalk her


New social network service

  1. Noor creates a new video-sharing social network service.
  2. Noor implements the social API on her service.
  3. Noor puts instructions on how to provide credentials and social API endpoints to client software on her Web site.
  4. Zoe uses Noor's video-sharing service. She has a third-party client on her Android tablet. She also uses a friend-suggester Web application.


Integration : Adding recommendations to bespoke software

{simple facebook example - but I think it needs calling out as a 3rd party usable service}

  1. James maintains an application for managing architectural designs
  2. Maggie, a senior architect would like to recommend many of the better designs
  3. James uses an existing liking service which allows him to post any recommendations, to provide this
  4. This service also allows James to present existing likes for the design in question
  5. Maggie gets to like specific designs, and her followers see these as do viewers of these designs
  6. James achieves this with a simple inclusion on the associated web page, but could have chosen a more detailed integration if greater control was needed over the user interface


Integration : Adding comments to bespoke software

  1. Maria, an IT Architect, has been tasked with encouraging better collaboration on the development of her companies Industrial Processes
  2. As these processes are tightly controlled (though generally visible) an associated discussion and evangelisation capability is required
  3. Maria integrates with an existing comment capability to store and retrieve comments rather than redeveloping
  4. May-Ling sees the comment area with the Processes and suggests changes, as she herself does not have rights to update
  5. The process owner gets a notification that someone has commented on this Process
  6. Followers of both the Process owner and May-Ling will see this comment event
  7. Maria achieves this with a simple inclusion on the associated web page, but could have chosen a more detailed integration if greater control was needed over the user interface


Integration : New social capability with zero cost

  1. Hussam has developed a new lightweight dynamic content evaluation system that values content according to the the associated 'trending' of the keywords at various popular social sites at that point and time
  2. He can do this for any content as long as it provides textual content for him to work with
  3. Hussam registers his service with a Social Platform provider
  4. David manages a simple presentation-document management system that already uses the Social Platform to provide liking and commenting
  5. David selects to enable Hussams service for his system (using his application-admin capability on the Social Platform)
  6. Davids users now see an additional capability in the presentation management system that allows them to evaluate presentations for 'trendiness'
  7. Hussams evaluation system provides this using only the data that is made available to the Social Platform


Integration : Exposing Social data to an appropriate few

  1. Mark has integrated Commenting, Liking and Badging capabilities to his Sales-Lead management system with minimal effort
  2. Many of these Sales leads are confidential and Marks management system allows for the provision of appropriate access control
  3. The communication of this access control to the Social Platform means these restrictions are recognised wherever this content is used


Integration : Bringing tools together

  1. Lorenzo, Karen and Kazuko are working on a proposal for a revolutionary new silicon doping process.
  2. They bring a number of tools (research lookup, discussion, diagrams, feeds) together in a single place, limiting access to only themselves for now
  3. John and Siobhan have developed some of these tools which can work entirely independently, knowing only the 'place' (with appropriate name etc.) where their tool is being applied.

Note : This is very similar to the previous story, the main difference being the previous one is solely about the people, whereas this is about the named place. In practise they are likely to be combined.


Offering asparagus

  1. Farmer MacDonald advertises the availability of 100 cases of asparagus on his farm profile
  2. Alice demands 20 cases
  3. Bob demands 40 cases
  4. Farmer approves Alice's demand of 20
  5. Farmer replies to Bob's demand that he has only 20 cases left
  6. Bob approves modified demand with 20 cases


Demanding help with the harvest

  1. Farmer MacDonald advertises demand for 5 people helping with harvesting asparagus on given 10 days
  2. Alice offers help on 6 of those days
  3. Bob offers help on all 10 days
  4. Farmer approves Alice's offer of help on 6 days
  5. Farmer replies to Bob's offer that he still needs help only on 4 days
  6. Bob approves modified offer for 4 days


Adding regrets for next telecon

  • Kevin marks that he will not participate in next WG telecon
From: elf Pavlik


Assigning roles during meeting

  • Telecon starts
  • Ann assigns herself as a chair
  • Lloyd assigns himelf as a scribe


Reply in a discussion

  • Henry posts a reply to discussion started by Tantek
This story differs from #Responses story in a way that neither Henry or Tantek post on their personal walls! We talk about posting to a mailing-list, wiki talk page or facebook group. Please note that many people set facebook groups type to closed so that posts shared there do NOT show on their personal walls! - imagine very peculiar permathread (let's say httpRange-14 related issue) which you don't want to spam people who follow you. Pavlik elf (talk) 18:27, 18 February 2015 (UTC)


Respond to pool to choose meeting dates

  • Arnaud creates pool to pick dates for next f2f providing certain possible dates
  • elf replies to this pool picking few of the dates according to his availability


Creating new action for a product

  • Tantek creates new action 'review microformats' on Activity Streams 2.0 product using default due date
  • Tantek moves default due date a week later


Completing an action

  • Sandro completes action 'organize videoconf equipment for next f2f'
  • Sandro adds references (URI) of each piece of equipment tracked in university inventory system


Invited member request workflow

  • Michael requests joining WG as Invited Expert
  • Arnaud ok request
  • Tantek objects leaving comment
  • Evan ok request
  • Evan replies to comment from Tantek's objection
  • Tantek ok request overwriting his objection


Public Working Draft release workflow

  • James starts motion for releasing new version of AS2.0 public drafts
  • Harry ok it and request publishing from W3C webmaster
  • W3C webmaster runs validations and finds errors
  • James updates draft fixing validation errors
  • W3C webmaster publishes new drafts


Requesting telecon bridge

  • Larry requests telecon bridge for 6 people on Feb, 15th 2015 14:00UTC lasting 2 hours


Voting on accepting User Stories

  • Evan creates voting pool for a collection of User Stories, ending in two weeks
  • Erik votes on some of them
  • Aaaron also votes on some of proposed stories
  • Erik, after re-reading some stories adjusts his vote


Creating new grouping of User Stories

  • Tantek creates new grouping of User Stories called 'IndieWeb'
  • Tantek adds two of existing stories to that grouping
  • Tantek creates two more stories in a way that automatically adds them to this grouping
  • Tantek changes his mind and removes on of the previously added User Stories from this grouping


Blocking a User

  • Kat share some posts publically
  • Rachel comments negatively on Kat's posts
  • Kat blocks Rachel from commenting on her posts


Hiding Content from a User

  1. Sam is fed up of Joe's posts, but doesn't want to offend Joe
  2. Sam chooses to hide Joe's posts so they never appear, without blocking or unfollowing Joe


Hiding Content by Topic

  1. It's the World Cup and everyone in Sam's social feed is talking about football; Sam doesn't care about football
  2. Sam hides all content that mentions 'football'


Separation of Domain

  1. Nancy wants to join a political discussion group but is afraid her involvement could have negative effects on her other activities.
  2. Nancy selects to use a distinguished identity within this group that cannot be linked to other identities of her
  3. Bob who knows Nancy under her discussion and her family identities is not aware of the connection between the two.
  4. Nancy mentions her appearance at a given event in the discussion group.
  5. When later she discusses about the same event in her family domain, she is made aware of this before the mention is published. (Potential unintended inference)
  6. Nancy now selectively decides that Bob may know of the interconnection between the two identities, but will be informed, of Nancy's wish to keep them seperated in general.
  7. When Bob inadvertedly mentions Nancies appearance within the family domain, and is made aware of the indiscretion before his mention is published.
  8. Bob decides to respect Nancy's wish and rephrases his mention, leaving out the treacherous detail.


Close account

  1. Bob has been using the platform for a while and has done several posts and photo uploads
  2. Bob has a friend Alice who can see Bob's posts and photos he has shared with her
  3. Bob decides he doesn't like his account any more and uses the "Close account" feature
  4. Alice signs in and cannot any more see Bob's posts or photos since they have been removed
From: Jason Robinson
+1. This is a lot harder in a distributed system, though! --Evan Prodromou (talk) 15:58, 18 February 2015 (UTC)
+1. I think its a core functionality to being able to delete all posts/history. — Ben Roberts (talk) 15:10, 19 February 2015 (UTC)

Comment on content

  1. Alice publishes a post writing about how awesome Python is
  2. Bob likes PHP. He comments on the post by Alice highlighting how awesome PHP is
  3. George, following Alice, comments also highlighting the benefits of Ruby
  4. Bob later realizes PHP is bad and deletes his comment


Profile tags

  1. Bob signs up to the platform. He likes PHP and adds to his "Profile tags" the tag #PHP. Bob wants other people to see this information so he has it as public.
  2. George, who doesn't know Bob, is interested in PHP and searches for content relating to the tag #PHP
  3. George sees a list of people tagging themselves with #PHP and clicks the profile of Bob
  4. Bob later decides PHP is bad and removes the tag #PHP from his profile


Search content with hashtags

  1. Alice is interested in the W3C and uses the search by typing in #W3C
  2. Alice sees a #W3C hashtag stream listing content that other users have created containing the hashtag #W3C


Subscribe to hashtags

  1. Alice is interested in the W3C and uses the search by typing in #W3C
  2. Alice decides she likes W3C so much she clicks the "Subscribe" button
  3. Alice now sees the contents tagged with #W3C in her combined stream and in her "Followed hashtags" stream
  4. After a while Alice decides there are too many posts tagged with #W3C in her stream and unsubscribes from the #W3C hashtag


Mentioning other users

  1. Bob is writing a post about social networks and thinks his contact Alice would enjoy it too
  2. Bob uses the "Mentions" Alice in the post (using @+name notation)
  3. Alice gets a notification that she has been mentioned and visits the post
  4. Alice decides she doesn't want to be mentioned in this post and can click "Unmention" that removes the link to her profile from the post


Posting polls

  1. George has a dilemma - he is not sure if he should learn Python, PHP or Ruby. George creates a public poll asking his contacts which they would suggest
  2. George adds 3 answers to the poll, "Python", "PHP", "Ruby"
  3. George tags the poll with the hashtag #programming
  4. Alice who follows George sees the poll in her stream
  5. Bob who doesn't follow George sees the poll while searching for content relating to #programming
  6. Later George decides PHP is bad and removes the option to answer "PHP" in the poll


Answering polls

  1. George has posted a poll with the options "Python", "PHP" and "Ruby"
  2. Alice, who follows George, answers "Python"
  3. Bob, who does not follow George, but found the post using the hashtag search, answers "PHP"
  4. Bob later decides PHP is bad and changes his answer to "Ruby"
  5. Wendy, who follows George, likes JavaScript. She cannot answer Javascript since it is not an option in the poll. She writes a comment asking George to add it as an option
  6. George adds JavaScript as an option
  7. Wendy answers the JavaScript option in the poll


Reshare posts

  1. Bob has posted a public post relating to JavaScript
  2. Wendy likes JavaScript and reshares the post
  3. Wendy later decides the post was not very good and removes the reshare


Like content

  1. Alice posts a post relating to PHP
  2. Bob likes PHP so he likes Alice's post
  3. Bob later decides PHP is bad and removes the like


Participate in content

  1. Alice posts a post relating to PHP
  2. George is interested in the post and wants to get notified of changes, so he creates a participation by clicking the "Participate" button. This ensures he will be notified of new comments
  3. Bob likes PHP and comments on the post. He is now participating in the post and receives notifications
  4. Wendy thinks the post is a good one and likes it. She is now participating in the post and receives notifications
  5. Bob later decides PHP is bad and removes the comment from the post. He is no longer participating in the post
  6. George later thinks he is getting too many notifications from the post and removes his participation
  7. Wendy later thinks that the post is not good after all and removes the like on the post. She is no longer participating in it
  8. Alice posted the post so she is always participating in it


Content location tagging

  1. Bob is visiting Dublin. He likes it and wants his contacts to know he is posting from Dublin
  2. Bob clicks the "Add location" icon and his browser will attempt to retrieve his location
  3. Bob chooses "Dublin" from the list of locations suggested and posts the post
  4. Alice is following Bob and reads his post. She sees the post as "Posted from Dublin"
  5. Bob later decides Dublin is a bad place and removes the location from the post


Remove comments from my content

  1. Bob posts a post relating to PHP
  2. Alice hates PHP. She lets her opinions known to Bob as a comment in the post
  3. Bob likes PHP and finds the comment by Alice unwelcoming. He deletes the comment


Report content

  1. Alices hates PHP and posts a post relating to PHP using very foul language
  2. Bob finds the post distasteful and wants to report it. He clicks the report button
  3. The administrator who runs the server Alice is using to post receives a notification
  4. The administrator decides that the content should be removed and removes the post


Contest content report

  1. Kat posts a video containing a song she composed
  2. Bill is jealous of Kat and reports Kat's video for copyright violation
  3. Kat is alerted to Bill's claim and can respond
  4. Kat responds that Bill's claim is false
  5. The server administrator receives notifications and contacts Kat and Bill to ask for further evidience, to resolve the situation appropriately


Report a User

  1. Dan sends abusive messages to Pete, Liz, Jack and Jill
  2. Pete reports Dan to the site administrator
  3. Pete easily includes links to all of the abusive messages with the report
  4. Liz reports Dan to the site administrator
  5. Jack is hesitant about reporting Dan. Jack sees that Dan has already been reported by other users. Jack decides to support them by reporting Dan
  6. Jill reports individually each of Dan's abusive messages
  7. The site administrator receives notifications for each report
  8. The site administrator can easily see the connection between Jill's content reports and the other user reports
  9. The site administrator decides to suspend Dan's account and does so
  10. Dan creates a new account 'Dan2', and resumes abusing Pete, Liz, Jack and Jill
  11. Pete reports Dan2 and is able to indicate Dan2 is the same as Dan
  12. The site administrator receives notifications and acts accordingly


Invite friends to an event

  1. Quentin RSVP 'yes' to invitation for API Days Berlin 2015
  2. Quentin invites Jane, Jonas and Jill to that event
  3. Quentin realizes that Jill went for a honey moon so he cancels the invitation for her
  4. Jonas RSVP 'yes' to invitation and Quentin receives notification


Reshare friend's ridesharing demand

  1. Daniel posts on a wall of his online profile demand to share ride London -> Paris on 16-02-2015
  2. Gwen publishes an offer to share ride with 2 other people when she will drive London -> Paris on 16-02-2015
  3. Nadia re-shares Daniel's demand in two groups London Urban Gardeners and Paris Scuba Divers
  4. Gwen finds this re-share of Daniel's demand in Paris Scuba Divers group, and replies with a link to her offer


Invite another user

  1. Alice has a friend who is not yet using the platform. She thinks he would like it
  2. Alice uses the invite functionality to send an email invitation to Bob. In the invitation Alice specifies Bob should be automatically added once signed up to her Friends -contact list
  3. Bob signs up with the link provided and is able to see Alice's content in her Friends -list


Define visibility of contact lists

  1. Alice has a contact list called Friends. She allows these contacts to see who else is in this list
  2. Bob is in Alice's Friends -list. He can see who else is in the Friends -list
  3. Bob has a contact list called PHP Users. He does not want people in the list to see who else is in the list
  4. Alice is in Bob's list PHP Users. She cannot see who else is in the list


Private Sharing

  1. Ian wants to share a file with Jan
  2. Ian posts the file file to his site with it set to only show to Jan.
  3. Jan receives a notice that Ian has shared a file with her.
  4. Jan views the file and decides to leave a thank you comment on the file for Ian


Direct Messaging

  1. Kyle wants to tell Lisa something privately.
  2. Kyle sends her a message that no one else can view.
  3. Lisa is notified she has a message.
  4. Lisa reads the message and responds privately.


Contact Info

  1. Milo just moved and wants to share his new phone number and address.
  2. Milo views his Contact List and decides to share this information with only his "Close Friends" list which includes Olivia and Patrick.
  3. Olivia opens her contact list and sees that she has Milo's phone number.
  4. Patrick opens his contact list and sees that Milo updated his address and decides that this should overwrite the old address info from his contact list.
  5. Quinn opens her contact list but sees that she does not have Milo's phone number.
  6. Quinn requests Milo's contact info.
  7. Milo is notified that Quinn has requested access to his contact info.
  8. Milo decides to only share his phone number with Quinn and not his address.


Group Messaging

  1. Sergey wants to write Paula, Damien and Doreen about current issues.
  2. Sergey is answering to several individual messages from each one, merging several individual conversations.
  3. Sergey composes a message, selects the recipients and submits individually encrypted messages.
  4. Paula, Damien and Doreen receive a notification of such received message.
  5. Paula and Doreen write their answer together and send it together to Damien and Sergey. Both senders keep an individual copy of the sent message.
  6. Damien writes an answer to Paula and Doreen only.
  7. Paula answers Damien and Doreen, asking to make the message available to Sergey.
  8. Doreen supports this request.
  9. Damien gives his consent and adds Sergey to the messages audience.
  10. Sergey unpublishes his initial message.
  11. Paula, Damien and Doreen only have access to their answers and side conversation.


RSVP and Check-in to event

  1. Alice publishes an event.
  2. Bob promises to come to the event and sends a RSVP request.
  3. Alice confirms Bob's request.
  4. Bob is reminded of the event and has already another obligation. Bob removes his RSVP.
  5. Cécile promises to come to the event and sends a RSVP request.
  6. Alice confirms Cécile's request.
  7. Cécile checks-in at the event once it's happening to prove she took part.


Fork from and Request Merge of Remote Content

  1. Yung publishes a piece of text and asks for comments.
  2. Frank comments inline and subsumes his annotations below, too.
  3. Frank forks the text and makes some local changes, to support his arguments.
  4. Yung receives a notification of the fork, because their domains vouched for each other.
  5. Frank sends a Merge Request to Yung.
  6. Yung receives a notification of the Merge Request.
  7. Yung comments to the text changes inline and subsumes her arguments in the general comment stream, too.
  8. Frank receives a notification of her comments and refines some arguments.
  9. Yung receives a notification of the changes and accepts the Merge Request.


Using custom types of Activity

  1. Ben wants to use custom Activity type: Earned
  2. Ben defines Earned as specialization of a core type: Achieve
  3. Nina subscribes to Ben's stream with Achieve type of activities
  4. Nine also now also receives from her subscription Earned type of activities


Receiving earned Badge

  1. Sunny completes and online course 'Linked Data in Practice' at LD-Ninjas
  2. LD-Ninjas generates a Badge 'Linked Data Explorer' for Sunny
  3. Sunny accepts this Badge and stores it in her Personal Data Store


Displaying earned Badge

  1. Sunny joins W3C Credentials CG
  2. Sunny chooses to display 'Linked Data Explorer' Badge earned from LD-Ninjas in her group profile
  3. elf visits Sunny's profile at W3C Credentials CG and sees 'Linked Data Explorer' Badge


Photo sharing with event attendees

  1. Ben creates an event
  2. 10 people who have never connected before RSVP to the event, including Zak
  3. Afterwards Zak posts his photos from the event, and makes them visible only to people who RSVPed to Ben's event


Tagging a Post

  1. Bob posts some Poetry on his site.
  2. Charlie sees Bob's post and thinks it should be classified as under Poetry.
  3. Charlie tags the post as Poetry.
  4. Bob is notified of this suggestion and agrees to tag the post as Poetry.
  5. Bob adds the tag Poetry to several other posts.
  6. Dave visits Bob's site and views all posts tagged Poetry


Liking And Showing Likes

  1. Aurora publishes a post
  2. Buffy approves of the post so she "likes" it on her own site
  3. Aurora receives a notification that Buffy liked the post
  4. Aurora looks at the post and sees an increased count of likes
  5. Aurora looks at who liked her post, and sees Buffy in the list of likes
  6. later Buffy changes her mind so she removes the "like" from her own site
  7. Aurora's post shows a decreased count of likes
  8. Buffy looks at who liked Amber's post, and does not see herself listed there


RSVPs invitations comments to an event

Summary keywords: event, RSVP tracking/maybe/yes/no/delete, comment, invitation (or invite)/accept

  1. Cleopatra publishes a public event
  2. Dawn sees the event and is interested, so she saves the event / replies as tracking it
  3. Cleopatra is notified that Dawn is tracking the event
  4. Cleopatra looks at the event and sees an increased count of people who are tracking the event
  5. Cleopatra looks at who is tracking the event and sees Buffy in the list of trackers
  6. Dawn decides she might be able to make it, and changes her RSVP to a maybe
  7. Cleopatra is notified that Dawn might attend the event
  8. Cleopatra looks at the event and sees an increased count of people who are might attend (and decreased count of tracking)
  9. Cleopatra looks at who might attend the event and sees Buffy in the list of maybes
  10. Dawn invites her friend Eve to also consider going to the event
  11. Eve is notified of Dawn's invitation and excited about going with Dawn, immediately replies to invitation and event with RSVP yes
  12. Cleopatra is notified that Eve is attending the event
  13. Cleopatra looks at the event and sees an increased count of people who are attending
  14. Cleopatra looks at who will attend the event and sees Eve in the list of attendees
  15. Dawn is notified of Eve's RSVP yes in reply to her invitation
  16. Dawn views Eve's RSVP and sees that Eve also put a smiley :) in her RSVP
  17. Dawn commits to going to the event and changes her RSVP to yes
  18. Eve is notified that Dawn, the person that invited her, is attending the event
  19. Eve looks at the event and sees an increased count of people who are attending (and decreased count of maybes)
  20. Eve looks at who will attend the event and sees Dawn in the list of attendees
  21. Eve is excited to go to the event and posts a comment
  22. Eve looks at the event and sees that her comment has shown up on the event
  23. Cleopatra and Dawn are notified that Eve has commented on the event
  24. Dawn posts a like of Eve's comment
  25. Dawn looks at Eve's comment and sees herself and her like
  26. Dawn looks at Eve's comment on the event and sees herself and her like
  27. Eve realizes she has a conflict and changes her RSVP to no
  28. Eve looks at the event and sees a decreased count of people who are attending
  29. Eve looks at who has declined and sees herself in the list of declines
  30. Dawn is notified of Eve's updated RSVP to no in reply to her invitation
  31. Dawn does not want to go without Eve and changes her RSVP to no
  32. Dawn looks at the event and sees a decreased count of people who are attending
  33. Dawn looks at who has declined and sees herself and Eve in the list of declines
  34. Eve decides she does not want the event in her history, so she deletes her RSVP
  35. Eve looks at the event and sees a decreased count of people who are not attending
  36. Eve looks at who has declined and does not see herself in the list of declines
  37. Dawn comments on the event saying she maybe interested in similar events in the future
  38. Dawn looks at the event and sees her comment, and Eve's comment since she didn't delete it
  39. Dawn replies to Eve's comment and says maybe next time
  40. Eve is notified of Dawn's reply to her comment
  41. Eve decides to update her comment
  42. Dawn is notified of Eve's updated comment
  43. Eve decides to delete her comment instead
  44. Dawn still sees both her reply to Eve's comment, and the context of Eve's comment, both on Dawn's own site, because she chose to keep context of her replies.


Comments And Showing Comments

  1. Flora publishes a post
  2. Gemma comments on the post using her own site
  3. Flora receives a notification that Gemma commented on the post
  4. Flora looks at the post and sees an increased count of comments
  5. Flora looks at the comments on her post, and sees Gemma's comment
  6. later Gemma changes her mind so she deletes the comment
  7. Flora's post shows a decreased count of comments
  8. Gemma looks at the comments on Flora's post, and does not see her comment listed there


Share content with single individuals

  1. Bob posts a dirty joke and makes it visible only to Carl.
  2. Alice, which is following Bob, don't see the joke in her inbox stream, nor in Bob's wall


Profile visibility

  1. Alice creates a profile for her business as a paid "dominatrix".
  2. She makes this profile available to some of her selected customers (who do not have accounts on her server), but it cannot be seen by the boss at her day job at her church.


Chat rooms

  1. Jim creates a chatroom and provides access to Bill and Mary, neither of whom have accounts on Jim's server.


Creating web pages

  1. Bob create a webpage and makes it visible to Amelia.
  2. Ruth visits the webpage and gets permission denied.
  3. Amelia visits the webpage and can see it perfectly.


Moving of identities

  1. Bob's service provider (abc.com.z) shuts down abruptly leaving him in a lurch.
  2. He creates a new account at xyz.com.z from a thumb drive where his account was backed up.
  3. He sends a post to all his friends - who are still friends with him.
  4. He doesn't ahve to make friends with his friends all over again just because he changed servers.
  5. He can also still see the photo on Alice's server.
  6. Alice did nothing to change Bob's identity from abc.com.z to xyz.com.z on the photo - because it is visible to "Bob".