You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@annotator.apache.org by Oliver Sauter <ol...@worldbrain.io> on 2016/12/01 11:14:01 UTC

Re: Proposing a path

> On 30 Nov 2016, at 16:33, Benjamin Young <by...@bigbluehat.com> wrote:
> 
> Hi friends!
> 
> It's been quieter here than I (or the board report I need to write by the weekend) would like it to be. :)
> 
> I'd like to propose a path for us to take over the next 6 months to get this incubating project on its feet, collaborating, coding, and creating content. So. Here goes.
> 
> First, we build a simple highlighter demo for Grade A Fancy web browsers (i.e. the latest and greatest). 
> 
> The demo would:
>  - allow selection of text
>  - keep the highlight in localStorage as a Web Annotation Data Model document
>  - re-anchor the annotation (if possible) on page reload
I find this to be a good scope to go for - a minimal version that is capable of being integrated easily into other projects 
(not without a self-interest here, I assume that we would implement it into the WorldBrain tool in the future)

Question being, how would we store it in local storage? just the simple storage as is or also think about a db?
Soon I will publish the datamodel for storing the webpages and their content in the PouchDB.
We may also talk about how to integrate one into the other, also as a use case for other integrations.

> 
> We would use these libraries:
> - https://github.com/tilgovi/dom-anchor-text-quote
> - https://github.com/tilgovi/dom-anchor-text-position
> - https://github.com/tilgovi/dom-anchor-fragment
> 
> The demo would focus on the "drop in" script tag use case.
> 
> In the end, this would (deliberately) not do very much. :) The point being, we need to start somewhere, and this somewhere. ;)
> 
> The actions beyond this deliberately-dumb-demo include:
> - creating/contributing a Web Extension that uses this code (I have one to contribute)
> - creating/contributing a Web Annotation Protocol server that these annotations could be published (I've also got code ready to go for this...or we could rewrite in JS to keep things consistent)

Is there also other code we can reuse? Specifically UI compontents? Since Hypothesis now separated client from backend, we may could use their front end code and strip it down?


> - making this a useful enough demo to use across all apache.org sites--starting with our own of course
> 
> So. That's my minimal map. Discuss. ;)
> 
> Cheers!
> Benjamin
> 
> --
> http://bigbluehat.com/
> http://linkedin.com/in/benjaminyoung


Re: Proposing a path

Posted by Randall Leeds <ra...@gmail.com>.
On Thu, Dec 1, 2016 at 11:45 AM Benjamin Young <by...@bigbluehat.com>
wrote:

> The UI bits would be (as much as possible) saved for future work. The
> focus for this iteration would be something as simple as wrapping
> highlights in <mark> tags.
>
>
+1 to semantic markup

Here are a couple other ideas floating around from Hypothesis that never
made it to release:

Marks [1] is an alternative highlighter implementation that uses an SVG
overlay rather than surrounding the highlighted segment with markup.

The domannotations project [2] is an idea for how annotation activity might
broadcast DOM events, rather than exporting an `annotator` object to the
window.

Anyway, doing significant UI work often means choosing and adopting a UI
framework, which means tying ourselves to something in a really high churn
environment and limiting our usefulness to anyone who hasn't made the same
choice.

Trying to be a whole annotation workflow without choosing a framework is
how Annotator became a framework in the first place. The result was that no
one who was contributing (me and Nick) cared enough about it to get 2.0
released.

I'd like to see some work that is framework-less, leverages the platform
(clipboard, events, editing commands), and exports a sensible code
interface.

We couldn't easily consume UI from Hypothesis. It's a non-trivial Angular
application, and it's not Apache licensed. The pitch has to be that we'll
help maintain things that aren't their application, for mutual benefit.
Make it less work for them if they support us. If we produce anything
compelling, I'll even make the PRs to port the Hypothesis client to use our
work.

For instance, I wrote the core `anchor` implementation in the Hypothesis
client [3]. I contributed that under CLA that allows me to pull it out and
relicense it. It's just a little async, idempotent function to drive
selector resolution, but it's central to the application.

There's also really good ideas that went into the marker support of Atom
[4] that might be useful.


> The primary objective is to get us coding together. :) And output
> something useful as a foundation.j
>

+1

I am not really interested in saying anything about storage or style at
this time. These are the things that everyone has strong opinions about. I
want to solve the problems that people don't care about so that they can
focus on building their applications.

[1] https://github.com/nickstenning/marks

[2] https://github.com/nickstenning/domannotations

[3]
https://github.com/hypothesis/client/blob/master/h/static/scripts/annotator/guest.coffee#L172

[4] https://github.com/atom/atom/pull/9426

Re: Proposing a path

Posted by Benjamin Young <by...@bigbluehat.com>.
The UI bits would be (as much as possible) saved for future work. The focus for this iteration would be something as simple as wrapping highlights in <mark> tags.


The localStorage details (or whatever) would need to be worked out as we go, but the intention would be to make it "upgradeable" by future releases...so they don't get lost even by folks simply demo'ing.


The primary objective is to get us coding together. :) And output something useful as a foundation.j


Thanks for the thoughts, Oliver! Keep us posted as you drive forward with WorldBrain.io!

Benjamin


--

http://bigbluehat.com/

http://linkedin.com/in/benjaminyoung

________________________________
From: Oliver Sauter <ol...@worldbrain.io>
Sent: Thursday, December 1, 2016 6:14:01 AM
To: dev@annotator.incubator.apache.org
Subject: Re: Proposing a path

> On 30 Nov 2016, at 16:33, Benjamin Young <by...@bigbluehat.com> wrote:
>
> Hi friends!
>
> It's been quieter here than I (or the board report I need to write by the weekend) would like it to be. :)
>
> I'd like to propose a path for us to take over the next 6 months to get this incubating project on its feet, collaborating, coding, and creating content. So. Here goes.
>
> First, we build a simple highlighter demo for Grade A Fancy web browsers (i.e. the latest and greatest).
>
> The demo would:
>  - allow selection of text
>  - keep the highlight in localStorage as a Web Annotation Data Model document
>  - re-anchor the annotation (if possible) on page reload
I find this to be a good scope to go for - a minimal version that is capable of being integrated easily into other projects
(not without a self-interest here, I assume that we would implement it into the WorldBrain tool in the future)

Question being, how would we store it in local storage? just the simple storage as is or also think about a db?
Soon I will publish the datamodel for storing the webpages and their content in the PouchDB.
We may also talk about how to integrate one into the other, also as a use case for other integrations.

>
> We would use these libraries:
> - https://github.com/tilgovi/dom-anchor-text-quote
> - https://github.com/tilgovi/dom-anchor-text-position
> - https://github.com/tilgovi/dom-anchor-fragment
>
> The demo would focus on the "drop in" script tag use case.
>
> In the end, this would (deliberately) not do very much. :) The point being, we need to start somewhere, and this somewhere. ;)
>
> The actions beyond this deliberately-dumb-demo include:
> - creating/contributing a Web Extension that uses this code (I have one to contribute)
> - creating/contributing a Web Annotation Protocol server that these annotations could be published (I've also got code ready to go for this...or we could rewrite in JS to keep things consistent)

Is there also other code we can reuse? Specifically UI compontents? Since Hypothesis now separated client from backend, we may could use their front end code and strip it down?


> - making this a useful enough demo to use across all apache.org sites--starting with our own of course
>
> So. That's my minimal map. Discuss. ;)
>
> Cheers!
> Benjamin
>
> --
> http://bigbluehat.com/
> http://linkedin.com/in/benjaminyoung