On Thu, Dec 1, 2016 at 11:45 AM Benjamin Young <byo...@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

Reply via email to