Skip to content

Use Cases and User Stories

rgrp edited this page Aug 12, 2011 · 4 revisions

Use cases

  1. Critiquing a document (e.g. revising a license or text)
  2. Discussing a document (to develop understanding)
  3. Adding critical notes to a document

User Stories

Gradually being transferred to this spreadsheet. ([T] indicates items that have been transferred to spreadsheet)

  1. Create, read and update annotations inline on the document - HH [T]
  2. Purge annotations - HH [T]
  3. Authorization for annotations -- only user (or sysadmin) can edit/delete versus free-for-all. Also for classes - either have the ability to add specific people to a group who can edit (more work for the page admin, but more explicit), or have an unguessable edit link which is distinct from a read link (like google docs when you share to edit versus read). Edit permissions should be revokable (though i wouldn't conside the latter a huge immediate priority). [DONE] [T]
  4. Identity for authors of annotations -- ie. authors are identified and stored in the annotation system [DONE] [T]
  5. List recent annotations (by document and overall) [DONE] [T]
  6. pretty print (with annotations) [T]
  7. Threaded annotations (discussion thread) - H [Put on hold -> L] [T]
  8. Rate annotations (or just "like"/vote up/down) - L [moved into toolbar - No 8 Github]
  9. Tag annotations
  10. Display annotations by tag
  11. limit displayed annotations by user
  12. search annotations
  13. Access to annotation data - this would let us build the dashboard as a separate module - H (for P2PU)
  14. Provide installation instructions / package - this doesn't need to be a one-click installer, but a set of instructions on how to set up a self-hosted platform. [Documentation - H]
  15. A "embed annotation" widget? I don't know if this is possible - but would be fantastic if a user with the right permissions could drop this into a blog post to turn the post into an annotatable document without having to worry about server. Rather than bringing their documents to us (or to commentit) - the widget would bring annotator to them.

Bigger features

Dashboard

For p2pu courses, I imagine course coordinators would love the ability to display metrics about different users. This relates to 8b above (show annotations for specific users), but for assessment, it would be nice to have a dashboard that shows number of annotations by user, by time (probably a graph here would be awesome).

Browser Extension/Annotate any page [Bookmarklet]

Currently if i understood the docs correctly you do need to be able to inject the annotator into the page, which means, in general, you need to be in charge of the page to annotate it. It would be nice to be able to annotate any page. You could then imagine course participants writing, say a blog post, and their peers annotating it with feedback.

Markup.io does this nicely, but it's very coarse. But it's a really neat tool and their workflow could make sense for something like this. From a UI standpoint, some combination between that and those url shortener sites that display sort of like a control bar at the top of the page and then the "real" page in some kind of iframe could be cool. That plus a browser extension that you click to generate that page (again, like Markup.io) would be slick.

Export

The ability to export annotation data to json or csv for arbitrary archiving or visualization would be great for p2pu metrics especialy, but also just for posterity and extensiblity. Could consider giving each annotation page an activity stream via RSS which publishes comments in a conveniently consumable fashion as well.

Transfer annotations between versions of a document

Other User Stories

Permissions and Editing

User comes to a page:

  1. They cannot see annotations for which they do no have read permission
  2. Then cannot see options to edit or delete annotations on which they do not have relevant permission
  3. When creating an annotation, if logged in, they can set 'anyone can edit', 'anyone can read' checkboxes which set relevant permissions.