Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Narratives / Threads / Trails #385

Open
csillag opened this issue Apr 18, 2013 · 19 comments
Open

Narratives / Threads / Trails #385

csillag opened this issue Apr 18, 2013 · 19 comments

Comments

@csillag
Copy link
Contributor

csillag commented Apr 18, 2013

It would be nice to have a way to build a sequence of annotations, and show them together. Would be especially useful together with #384.

The goal is to have a way to present a sequence of thoughts, quotes, whatever, that together tell a story, or illustrate a train of thought, or something like that.

Could also be used for presenting a reading list, or a manually created news feed.

This is somewhat similar to firehose ( #356 ) with configured filters, but not the same, because it's not generated on request, but stored in the DB, and we actually have to have a UI for building it.

For showing a narrative: we could have linkable narrative pages very similar to linkable annotations, with the following differences:

  • multiple annotations are shown, in the pre-determined order, not only one
  • replies are optional (user should be able to toggle them on and off)
  • maybe there could be really short text sections for connecting the annotations. (Showing text that is stored as part of the narrative.)

For building a narrative: we need a UI that supports drag-and-drop building and reordering. (We should probably show only a shortened form of the annotation, not the full text of body/quote). We also need some feature to edit the text segments connecting the annotations (if any).

@jtremback
Copy link
Contributor

Alternately, it might be good to look at how third party services offering this type of composition environment could integrate with hypothesis using the oa data model.

@csillag
Copy link
Contributor Author

csillag commented Apr 18, 2013

What third party services are you referring to? Could you please give me an example?

@csillag
Copy link
Contributor Author

csillag commented Apr 18, 2013

On thing I have forgotten to mention: we should also provide an API endpoint to retrieve the annotations belonging to a narrative in a raw, JSON form (like we do with single annotations), so that users who want to build their custom display UI can do that, too.

(I think Ian has mentioned that they might want to show the threads embedded in their pages.)

@jtremback
Copy link
Contributor

Yes, in terms of design, it might be good to focus on how hypothesis can display linked annotations and annotations that are part of a narrative in the sidebar interface. Obviously it will not be possible to display the full narrative format in the sidebar, but I may examine how the user can at least see that an annotation is in a narrative and "step through" the narrative.

@csillag
Copy link
Contributor Author

csillag commented Apr 18, 2013

I can imagine the following ways to present it:

  • API endpoint: get the raw data, let the user process/display it in any way he wants.
  • Separate page (like the standalone page of linkable annotations and the firehose)
  • In sidebar view, with "previous" / "next" buttons (where the buttons might actually take the user to a different host document). This depends on having the feature to jump to a specific annotation in sidebar view, which is already planned for an alternate mode of linkable annotations.)

@dwhly
Copy link
Member

dwhly commented Apr 18, 2013

I thought I'd just point out that the original design story for this was written in 1945. :)
http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/

Also inspired by @IanMulvany's talk at #ianno13 ...
http://iannotate.org/13/2_Mac_Mulvany_threads_ianno13.pdf

And storify.com of course, for instance:
http://storify.com/hypothes_is/i-annotate-2013/

@IanMulvany
Copy link

Awesome, am happy to provide thoughs/feedback, and later towards the summer some dev resources.

@jtremback
Copy link
Contributor

Is there any way to use a multi-target "annotation of annotations" to store
the fact that a group of annotations are linked in a trail?

@csillag
Copy link
Contributor Author

csillag commented Apr 18, 2013

@jtremback: I see no reason why not to.

But I would also check out other possible solutions, too. I am not yet convinced this should be an annotation, too. It could be, but I am not yet convinced this is necessary.

@csillag
Copy link
Contributor Author

csillag commented Apr 18, 2013

@dwhly: oh, the classics :)

Yes, that is probably the first known article proposing (among other things) full-on topic/argument mapping.

(And the connection of this proposed feature to those areas is certainly a part of the reasons why I am pushing this issue.:)

@csillag
Copy link
Contributor Author

csillag commented Apr 19, 2013

For further design input (from 1962), see also http://www.dougengelbart.org/pubs/augment-3906.html

@csillag
Copy link
Contributor Author

csillag commented Apr 19, 2013

Elaborating on the relationship between #386 ( web-of-ideas ) and the current proposition ( narratives ):

In the web-of-ideas, the connections between two adjacent items in the graph means that there is some relationship between them. (Association, or logical, or whatever.)

When building a narrative out of items, one will probably often travel along a continuous path in this graph, but this is not necesseraly always true.

For example, for dramatical purposes, one might decide to build a narrative that starts with alternating between several seemingly unrelated "story lines" of items, which will only converge at a later point. That would still be a valid narrative, even thought some of the items placed at adjacent positions (in the sequence) might not have any intrinsic connection to each other. (So might not have any connection in the web-of-ideas.)

So the difference between the web-of-ideas and narratives is not only 2D vs 1D; web-of-ideas tries to represent the full data set, with all the connections, and when viewing it, the users is free to explore the graph in any way he wants to, whereas a narrative is more like a "guided tour", where the user is shown a specific sub-set of items in a specific, pre-determined order.

@csillag
Copy link
Contributor Author

csillag commented Sep 19, 2013

I would like to tackle this in the not too distant future.

Most of what is required for this is already in place, and we have have also made significant progress with other (stream-based) access modes.

What needs to be done is this:

  • Come up with a data format for this, and a way to store this in our DB. We can either store narratives as uber-annotations, which are annotations whemselves, but the body contains a mixture of text and links to other annotations, or we can simply add a new object type for this. Since these narratives are more likely to be published as separate, independent articles (as opposed to being layered upon existing documents, like usual annotations), I would vote for the second option.
  • Implement the UI for building these narratives. If we implement embeddable annotations (see Embedded view of annotations (for other websites) #141) and Hypothes.is flavored Markdown (see Hypothes.is Flavored Markdown #763) for easily embedding those annotations in the text, then the UI required to build a narrative can be as simple as a big text box for entering the text in V1. (For added bonus, we might want to provide (real-time) preview.) In V2, we might want to add a way to search for annotations/highlights to embed (maybe in the sidebar), so that the user doesn't have to look up the IDs in a separate browser tab.
  • Build a standalone displayer page. (Again, if we have embeddable annotations and Hypothes.is Flavored Markdown, then this is trivial.)
  • Assign a URL route; something like https://hypothes.is/n/id

... and we are done.

And with this, we could take a big step toward becoming a full-fledged, independent publication platform. Something which I would very much like to see...

(But of course, narratives should be embeddable, too, just like usual annotations, so there should be nothing stopping anybody from publishing a Hypothes.is-powered narrative article at any other side, either.)

@csillag
Copy link
Contributor Author

csillag commented Sep 19, 2013

To re-cap the idea:

The current situation

Lots of documents are constructed like this:

  • There is a set of primary source documents
  • Someone wants to say something about the source documents, so
  • he starts to write a new article,
  • which is made up mostly from quotes copied from the primary documents, and some comments and conclusions intertwined between the quotes.
  • He then publishes this article as a new document somewhere on the net.

New proposal

I would like to redefine this process.

Case 1 is when the user has something short to add. This case is already handled by simply creating an annotation, or a set of annotations for the source documents, which will be visible there.

Case 2 is when he has some longer story to tell. This is what narratives are there for. Using narratives, the current process would be replaced by this:

  • There is a set of primary source documents.
  • Someone wants to say something about the source documents, so
  • he starts to build a new narrative,
  • for which he creates a bunch of highlights over the primary source documents, and maybe a couple of annotations, too.
  • He then builds the narrative inside our system, by embedding highlights/annotations from the source documents, and maybe adding some comments between them.
  • He then publishes this narrative, and it becomes accessible on our server, and can be read as a separate article.
  • A link to the new narrative should probably be added as either as a comment to the original source documents, or as a reply to the referenced highlights.

I think it would be great to write articles this way. (Well, maybe not as great as the web-of-ideas method (see #386), but still way more useful than the current method.)

@csillag
Copy link
Contributor Author

csillag commented Sep 19, 2013

Just more final note. IIRC, @IanMulvany has actually asked for this feature, back at #ianno13, so there is at least some proof that this is not pure lunacy.

@tilgovi
Copy link
Contributor

tilgovi commented Mar 7, 2014

Closing in favor of hypothesis/hypothesis.github.io#4

@tilgovi tilgovi closed this as completed Mar 7, 2014
@csillag
Copy link
Contributor Author

csillag commented Mar 10, 2014

Closing in favor of hypothesis/hypothesis.github.io#4

Uhmm... no, this is a related, but separate concern. I'm migrating this one to the other repo, too

@csillag
Copy link
Contributor Author

csillag commented Mar 10, 2014

OK, migrated to hypothesis/vision#14.
(Sorry, it's a bit noisy to migrate all those comments manually, but I can't find an automatic way, and I really don't feel like squashing everything together.)

@ajpeddakotla
Copy link

Reopening as this is a good feature idea and the vision repo issue is closed(ing)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants