541 Matching Annotations
  1. Jun 2016
    1. To what extent can social media function as a space of democratic participation?

      So wild to be considering this question while we use Hypothesis! Does using this social annotation app make the reading process more dialogic? More democratic? More communal? More empowering? Does it enable readers to contribute back instead of just consume?

  2. May 2016
    1. are visible

      these annotations are visible to everyone, everywhere, everytime.

  3. Apr 2016
    1. Here’s the URL of annotations tagged wikipedia: https://hypothes.is/stream?q=tag:%27wikipedia%27 (Actually that doesn’t seem to work yet, but I’d love to see this become a next-gen delicious with all the taggy goodness.)

      I would love to see a worthy successor to delicious. Is hypothesis it?

    1. The editor of News Genius joined in with snarky and hostile comments.

      Funny how frequently this terms comes up, when talking about Genius. The difference between annotation platforms is significantly a matter of usage. Usage of Genius has a lot to do with snarky comments made by “the smart kid at the back of the class”. My perception of Hypothesis is that it’s much more oriented towards diversifying voices. But that has less to do with technical features of the platform than with the community adopting it.

  4. Mar 2016
    1. somewhere between close reading and distributed commentary

      In my wishlist to Jon Udell (still in draft), these two modes can be separate phases with Hypothesis. But in reverse order. First pass is the distributed commentary about the whole piece, similar to social bookmarking and potentially affording a very cursory look (or even just a glance at a headline). It says: “Hey, please read this and tell me what you think!” The second pass could be the deep reading, with one’s personal comments visible, but not influenced by other comments. Then comes the “fun part”, which is also a form of distributed commentary, but is much more conversational. “Distributed” might not be as appropriate, though. At least in computer lingo.

    1. Webinars

      This webinar, "The Literary Anthology in the Age of Web Annotation," has some of my thinking on the relationship between web annotation and open pedagogy: https://hypothes.is/blog/the-lit-anthology-in-the-age-of-web-annotation/

    1. youths with BPD were hypothesized to have reduced callosal growth in posterior regions.
    2. We hypothesized that (1) posterior callosal volumes would be reduced in youths with BPD given that these structures are rapidly maturing during childhood and adolescence and as a result may be more vulnerable during this time of significant brain myelination and pruning, particularly around the time of illness onset; (2) consistent with the hypothesized role of the prefrontal cortex in mood dysregulation and cognitive abnormalities in BPD (Soares and Mann 1997; Wilder-Willis et al. 2001), genual volume was expected to be abnormal (i.e., smaller) in youths with BPD; and (3) consistent with Brambilla and colleagues’ findings, there would be an absence of typical age-related changes in specific callosal volumes in youths with BPD (Brambilla et al. 2003).
  5. Feb 2016
    1. because of feelings of belonging and obligation to the community.
    2. “lurkers” who passively consume content.

      More via/direct linking on social media will allow this type of behavior.

    3. Content organization refers to features that require little effort from the user and that help fellow users receive useful information about the content. These features include the “like” button and options such as ratings (star ratings or a numerical scale) or tagging content with user-suggested keywords.

      Hypothes.is lacks this first step in the ladder. We don't have a like button. Tagging doesn't seem as easy as it could be.

      Maybe when we rethink page level notes, we might prioritize calling user to action there: tag the text; maybe offer a broad statement/description.

  6. Jan 2016
    1. match_main(text, pattern, loc) => location Given a text to search, a pattern to search for and an expected location in the text near which to find the pattern, return the location which matches closest. The function will search for the best match based on both the number of character errors between the pattern and the potential match, as well as the distance between the expected location and the potential match.

      This is the core function currently used by the dom-anchor-text-quote library to handle fuzzy anchoring of annotations.

    1. This might be useful for achieving consistency after automated translation of CoffeeScript to ES6

    1. Access to data should be seamless across repositories. This will require standards-based tools and metadatathat ensure interoperability and enable use for a variety of purposes.

      Open standards written into recommendations.

  7. Dec 2015
    1. A shorter, cuter, and more appropriate distinguishing tag for hypothesis micro-blog-posts just occurred to me: "hyp" -- short for hypothesis, and reminiscent of both "hype" and "hip". :)

    1. This is a test.

      Just seeing what happens when I annotate a page that's loaded from a local server.

    1. While not disputing the expressive power of the written word to communicate complex ideas, our foundational assumption is that scholarly communication by means of semantically enhanced media-rich digital publishing is likely to have a greater impact than communication in traditional print media or electronic facsimiles of printed works.
  8. Nov 2015
    1. The free plan of ngrok allows only a single concurrent tunnel to be opened. Even though BroswerStack and Sauce Labs provide their own tunneling solution, we decided to go with ngrok, in order to provide a more generic solution. We happily upgraded to the $25/month business account following our excellent experience with the free account.
  9. Oct 2015
    1. It’s known that Angular becomes slower with around 2,000 bindings due to the process behind dirty-checking. The less we can add to this limit the better, as bindings can add up without us really noticing it!

      From some preliminary testing it looks like we get close to hitting the 2000 watch count on the /stream view - which explains the lag.

    1. In version 1.4, bindToController gets even more powerful. When having an isolated scope with properties to be bound to a controller, we always define those properties on the scope definition and bindToController is set to true. In 1.4 however, we can move all our property binding definitions to bindToController and make it an object literal.

      This starts to look a lot like propTypes, except without runtime type checking.

    1. Note that we currently are using a universal selector reset in reset.scss in H which changes the default box-sizing model.

    1. So rather than waiting further we decided to instrument the existing web interface — not a terribly elegant or reliable solution but it works for now.

      Sigh, it looks like we'll need to do something similar for H in order to automate the Firefox extension build process unless APIs are ready soon.

    1. Why might evolution have outfitted us with such an ability? Biologists have offered several hypotheses. I’m especially fond of the “valuable relationship” hypothesis, espoused by de Waal and many other primatologists. It goes like this: Animals reconcile because it repairs important relationships that have been damaged by aggression. By forgiving and repairing relationships, our ancestors were in a better position to glean the benefits of cooperation between group members—which, in turn, increased their evolutionary fitness.
  10. Sep 2015
    1. After some research, I found karma-ng-html2js-preprocessor, a npm package that does the above, all from the karma configuration

      This is used in the H app, or at least referenced in package.json

    1. IcoMoon was also the first to solve a big problem with icon fonts: Compatibility with screen readers. By using the Private Use Area of Unicode, this problem was solved and almost every other icon font started to use the same encoding.
    1. The configuration file itself can be treated as an extension if it contains a setup() function.

      This can be used to embed H in readthedocs pages

    1. The project also adheres closely to the Google Python Style Guide.

      The style guides moved to GitHub. Links should be updated

      JavaScript - http://google.github.io/styleguide/javascriptguide.xml Python - http://google.github.io/styleguide/pyguide.html

    2. We use a combination of [JSHint](http://jshint.com) and [JSCS](http://jscs.info) for helping confirm code style conformance.

      Couple of minor links to fix.

    3. Please stick to strict, 80-column line limits except for small exceptions that would still be readable if they were truncated. Eliminate trailing whitespace wherever possible.

      The .editorconfig file doesn't have rules for this at the moment, though they could be added

    1. Copy your extension’s ID from the chrome://extensions page. Chrome generates this ID the first time you install the extension and will reuse it each time your rebuild or reinstall the extension

      Need to check whether this is actually still necessary or not. The extension ID can be fixed in the manifest to avoid the need for this dance.

    1. Add a node symlink. This is needed because the node binary from Ubuntu is called nodejs but many packages will try to run it as node:

      Might be worth recommending installation of Node from nodejs' website instead.

    2. Please consult the administration documentation for more information on accessing the admin dashboard.

      Should be a link to appropriate admin docs

    3. Once installed, running nsqd in its default configuration should suffice for integration with h in a development environment

      Running make dev currently succeeds with no warnings or errors if nsqd is not running.

      How do I verify that H is able to communicate with nsqd?

    4. The h project uses ElasticSearch (v1.0 or later) as its principal data store for annotation data, and requires the ElasticSearch ICU Analysis plugin to be installed

      Sounds obvious, but should have a note here about making sure that ES is actually running.

    5. Using the bookmarklet or otherwise embedding the application may not be possible on sites accessed via HTTPS due to browser policy restricting the inclusion of non-SSL content.

      I think this is out of date?

    6. If you don’t have your h/node_modules/.bin directory on your PATH then you’ll get errors because the Node modules you’ve installed can’t be found (for example: Program file not found: uglifyjs). To add the Node modules to your PATH:

      This isn't something you would normally expect to need to do with a node project. Any gulpfiles, Makefiles or other tools should usually reference the binary in ./node_modules/.bin directly. Any particular reason for this?

    1. If you want to annotate a site that’s served over https then you’ll need to serve h over https as well, otherwise the browser will refuse to launch h and give a mixed-content warning.

      Might be a good idea to make this the default recommendation since so much web content is served via HTTPS nowadays.

    1. Implementation of the mix-blend-mode property is more complex than background-blend-mode so it is taking a bit more time, but don’t let that get you down. Blend modes will be here soon

      Where possible, using multiply blending would avoid highlights making the underlying text less readable in PDFs where the <span> created by H does not actually contain the visible text of the element

  11. Aug 2015
    1. But if a URL link is for a quotation the problem disappears. Readers follow the link to the top of the sources, copy a few words of the quoted passage into the Control+F search box, and go directly to the passage cited.
    2. Using URL referencing of the kind I employ in this blog, or other innovative methods, readers should be able to go directly (in a single click and in real time) to the specific part of the full text of source that is being cited
    1. Have you seen the ContentMine project at all? I met Peter Murray Rust at a Mozilla science event a couple of months ago and the use case he discussed sounded quite similar to this - mining large numbers of papers for facts.

    1. This may be caused by a reduction in data points, or that thedifferences in risk characteristics of the various DRGs within most MDCscoincide with a metropolitan-rural divide

      This is glorious!

    Tags

    Annotators

  12. May 2015
    1. To achieve this, Climate Feedback—less an organization at this point than an amorphous gathering of climate scientists, oceanographers, and atmosperic physicists—is making use of a browser plugin from the nonprofit Hypothes.is to annotate climate journalism on the Web.
    1. What killed the annotated web was a lack of interest. Few could be bothered to download and install the plug-in
    1. I've been spending a lot of time lately learning how to use Selenium WebDriver, the premier automation toolkit for functional testing of Web software.

      A /lot/ of time. But it's turning out to be well spent.

    1. Other element would receive the click:

      This is the Tumblr z-index issue: fix in the pipeline.

    2. http://blogs.law.harvard.edu/copyrightx/files/2014/01/Understanding-Judicial-Opinions.pdf

      Works interactively. Revisit, maybe adjust script timing.

    3. http://www.newyorker.com/magazine/2015/05/18/tomorrows-advance-man

      We have big problems here, revisit after the engine overhaul.

    4. 00: https://www.facebook.com/WestEndFarmersMarketSantaRosa 00: https://via.hypothes.is/https://www.facebook.com/WestEndFarmersMarketSantaRosa

      App receives 1 anno from api, but it does not anchor.

      Also H icons are busted in Facebook.

    5. https://medium.com/@jedsundwall/how-do-we-stay-sane-57b4078974fb

      Results flash then don't anchor.

    6. 03: https://via.hypothes.is/https://medium.com/@jedsundwall/how-do-we-stay-sane-57b4078974fb
    7. 00: http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.04.0104:entry=ajax-bio-1 03: https://via.hypothes.is/http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.04.0104:entry=ajax-bio-1

      With 100s of annotations, script not waiting long enough. So, an H performance issue.

    8. 00: http://www.bbc.co.uk/news/uk-scotland-glasgow-west-26243567 00: https://via.hypothes.is/http://www.bbc.co.uk/news/uk-scotland-glasgow-west-26243567 04: https://hypothes.is/stream?q=uri:http%3A//www.bbc.co.uk/news/uk-scotland-glasgow-west-26243567 04: https://hypothes.is/api/search?uri=http%3A//www.bbc.co.uk/news/uk-scotland-glasgow-west-26243567
    9. https://via.hypothes.is/http://www.autostraddle.com/the-new-yorkers-skewed-history-of-trans-exclusionary-radical-feminism-ignores-actual-trans-women-247642/

      Error 1000 Ray ID: 1e70d2a751550d7f • 2015-05-15 18:14:30 UTC

      DNS points to prohibited IP

      What happened?

      You've requested a page on a website (www.autostraddle.com) that is on the CloudFlare network. Unfortunately, it is resolving to an IP address that is creating a conflict within CloudFlare's system.

    10. 01: https://hypothes.is/stream?q=uri:http%3A//blog.jonudell.net 01: https://hypothes.is/api/search?uri=http%3A//blog.jonudell.net

      Anomaly?

    1. He and his colleagues are keenly interested in the ability to annotate scholarship online, he says; Mellon has made serious investments in annotation tools and the development of open annotation standards by the university community and projects like Hypothes.is, which just received a two-year, $752,000 grant from the foundation to look into digital annotation in humanities and social-science scholarship.
  13. Apr 2015
    1. hypothesis.js

      hypothesis.js is injected into the page by embed.js using either the browser's plugin API or (in the case of the bookmarklet) the DOM API. (embed.js was in turn injected by the browser plugin or bookmarklet).

      hypothesis.js is the "bootstrap" code that connects up and starts the various components of the Hypothesis app.

    2. app: jQuery('link[type="application/annotator+html"]').attr('href'),

      Here we find the <link rel="sidebar" ... that embed.js injected into the page. We pass it into the constructor method of Annotator.Host below.

    3. window.annotator = new Klass(document.body, options);

      Calling the Annotator.Host construct, passing an options object including our sidebar link.

    4. Annotator.noConflict().$.noConflict(true);

      Having created our Annotator instance and added our custom plugins etc to it, we inject Annotator into the page.

    1. layout.app_inject_urls

      app_inject_urls is the list of scripts and stylesheets that we're going to inject into the page. This comes from layouts.py, which in turn gets it from assets.yaml.

      Most importantly these URLs to be injected include a minified version of hypothesis.js.

    2. var baseUrl = document.createElement('link'); baseUrl.rel = 'sidebar'; baseUrl.href = '{{ app_uri or request.resource_url(context, 'app.html') }}'; baseUrl.type = 'application/annotator+html'; document.head.appendChild(baseUrl);

      Finally, we inject a <link rel="sidebar" type="application/annotator+html" href=".../app.html"> into the <head> of the document. This is the HTML page for the contents of the sidebar/iframe. This link will be picked up by hypothesis.js later.

    3. if (resources.length) { var url = resources.shift(); var ext = url.split('?')[0].split('.').pop(); var fn = (ext === 'css' ? injectStylesheet : injectScript); fn(url, next); }

      This loop is where we actually call injectScript() or injectStylesheet() on each of the resource URLs defined above.

    4. var injectScript = inject.script || function injectScript(src, fn) {

      And we do the same thing for injecting scripts as we did for injecting stylesheets - we either use the function passed in by the browser plugin, or when called by the bookmarklet we fall back on the DOM API.

    5. var injectStylesheet = inject.stylesheet || function injectStylesheet(href, fn) {

      hypothesisInstall() will use the inject.stylesheet() function passed in to it to inject stylesheets into the page or, if no function was passed in, it'll fallback on the default function defined inline here.

      The default method just uses the DOM's appendChild() method, but this method may fail if the site we're trying to annotate uses the Content Security Policy.

      That's why when we're using one of the browser plugins rather than the bookmarklet, we pass in the browser API's method for injecting a stylesheet instead.

      This is why the bookmarklet doesn't currently work on GitHub, for example, but the Chrome plugin does.

    6. embed.js

      embed.js is responsible for "embedding" the different components of the Hypothesis frontend application into the page.

      First, either bookmarklet.js or one of the browser plugins injects a <script> tag to embed.js into the page, then embed.js runs.

      This way the code in embed.js is shared across all bookmarklets and browser plugins, and the bookmarklets and plugins themselves have very little code.

    1. app.appendTo(@frame)

      And we inject our <iframe> into ... the frame? (@frame is a <div> that wraps our <iframe>, it's defined and injected into the page in guest.coffee).

    2. app = $('<iframe></iframe>') .attr('name', 'hyp_sidebar_frame') .attr('seamless', '') .attr('src', src)

      Finally, this is where we create the <iframe> element that is the Hypothesis sidebar!

    1. embed = document.createElement('script'); embed.setAttribute('src', embedUrl); document.body.appendChild(embed);

      Here we construct the actual <script> element, set its src URL, and inject it into the page using the DOM's appendChild() method.

    2. var embedUrl = '{{request.resource_url(context, "embed.js")}}';

      The whole job of the bookmarket is to inject a <script src=".../embed.js"> element into the current page. The src URL of this script element points to embed.js, another Pyramid template rendered by the server-side Hypothesis app.

    3. bookmarklet.js

      bookmarklet.js is the Pyramid template (rendered by our server-side Pyramid app) for the Hypothesis bookmarklet. This little bit of JavaScript (after being rendered by Pyramid) is what the user actually drags to their bookmarks bar as a bookmarklet.

  14. Mar 2015
  15. Feb 2015
    1. A "non-transparent proxy" is a proxy that modifies the request or response in order to provide some added service to the user agent, such as group annotation services, media type transformation, protocol reduction, or anonymity filtering.

      Hey look!!1! "group annotation services"!

      Here's one: http://via.hypothes.is/

    1. Questions

      Sorry cannot read the questions in full as I cannot get my sidebar to collapse. I cannot speak for developers but from my perspective the page-based group seems a good starter because it seems more straight forward and is less likely to change in the future but still shows off a hint of the full capabilities of hypothesis.

    2. Draft UX

      The mock ups are great. The copyright notice on the bottom of the annotations that the "Annotations can be used freely by anyone for any purpose" sort of defeats the idea of private readership of groups.

    3. If you have the link you can participa

      Still not convinced that sharing a link will be secure enough for the initial audience of lawyers, educators, researchers that you had in your user stories. Would having the link illicitly allow you to view the annotations without being detected.

    4. Both are private to participants

      This seems a sensible first step as a sort of soft launch but the capability of future progression to groups with limitations on annotators yet public readership will need to be considered in development.

    5. administrators

      Will be an important part of groups if groups are to to become important in establishing credibility or reputation in publicly visible groups with a limitations on annotators.

    6. Annotations show in stream

      Is this stream the annotations in the sidebar or a stream that is independent of the sidebar. This independent stream will be important for inter-page groups if used by say research or educational groups..

    1. I have not explained this part well. It is important so I will try again. In my opinion the way groups are set up is crucial to the development of reputation for annotators on Hypothesis. Annotators’ reputations will be strongly related to the Groups they belong. Trusted groups will need to have private annotator membership that is extended by invitation only but these groups need to be able to choose between public or private readership. Other groups will have different requirements for annotators and readers in terms of the public, private, link mix. Bridge

  16. Dec 2014
    1. Trying to embed something in here from the atlantic article

      <iframe width="640" height="360" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" src="&lt;a href=" http:="" <a="" href="http://www.theatlantic.com" target="_blank" rel="nofollow noopener">www.theatlantic.com="" video="" iframe="" 384088="" "="" target="_blank" rel="nofollow noopener">http://www.theatlantic.com/video/iframe/384088/"></iframe> OK, that didn't work. How about a YouTube vid? <iframe width="640" height="360" src="//&lt;a href=" http:="" <a="" href="http://www.youtube.com" target="_blank" rel="nofollow noopener">www.youtube.com="" embed="" VX07m-wahOg"="" target="_blank" rel="nofollow noopener">www.youtube.com/embed/VX07m-wahOg" frameborder="0" allowfullscreen=""></iframe> OK, not embeds work so far. Not even images. Inserting images using the image url just gives you a link. Was hoping for the actual image.

  17. May 2014
  18. Apr 2014
  19. Feb 2014
    1. If the Riemann hypothesis is true, Im tn = 0 for all n, and the function f(u), constructed from the primes, has a discrete spectrum; that is, the support of its Fourier transform is discrete. If the Riemann hypothesis is false, this is not the case. The frequencies tn are reminiscent of the decomposition of a musical sound into its constituent harmonics. Therefore there is a sense in which we can give a one-line nontechnical statement of the Riemann hypothesis: "The primes have music in them."

      The frequencies are reminiscent of the decomposition of a musical sound into its constituent harmonics; the primes have music in them.

    1. For example, imagine you are annotating the second page of a New York Times article. You probably want to see your annotation when you are looking at the article later as a single page, right? Or perhaps you've annotated the HTML for a PLOS ONE article. Wouldn't you like to see those annotations when you are looking at the PDF version of the same article? If annotations were only associated with the URL you happened to be looking at in your browser then the scenarios above would not work, because the documents being annotated all have different URLs.

      Publisher Best Practices is a great idea that I would like to see codified in the authoring and publishing tools to make the practices commonplace by default.

      I would like to mix PBP with other techniques, though, for richer connection between source and rendering-- I have some source mapping ideas that make it possible to keep annotations linked even as the original source is edited over time.

    1. As far as I know, the major concerns of Zotero are: Storing and searching items in a library Assigning user-supplied metadata to these items Exporting the metada in some common bibliogaphic formats Additional, it appears Zotero allows to store notes. So what's the relationship to h? To the extent notes in Zotero can accommodate the richness of an annotation, it could be a storage backend for h. Notes are page-level annotations, at least. We could allow Zotero users with existing libraries to import their notes as annotations.

      The question "So what's the relationship to h?" is a good one here; in particular, where does h end and other services/apps begin? I have quite a few thoughts in this area, including possible h spin-off companies, but my first interest in thinking about integrating it with other services is more from a strategic engineering perspective: what are the best places to focus h development so that it fits that composable unix-y philosophy of "do one thing well"; and I translate that thinking from tool to person... how can h help me do one thing well? As an end-user, even though I am admittedly a power-user with a lot of tools, I actually want to use as few tools as possible. The browser-extension part of h is the single most important part of the project from my end-user perspective-- the back-end infrastructure is there to support the browser-extension doing one thing well.

      The one thing I want h to do for me that I can't do with any other tool that I know of is to allow me to rapidly track my reading and thinking and note-taking habits together. I want to be able to quickly select multiple portions of text and apply commentary and tags to the text within particular activity-based or goal-based contexts. The last part of that thought is the essential element I need that is missing. Speeding up the text selection would be very helpful in making it a tool I want to use on a daily basis for everything I do, but the contexts feature is what will make h a killer app for me.

  20. Oct 2013
    1. Modern science has proved that the fundamental traits of every individual are indelibly stamped in the shape of his body, head, face and hands—an X-ray by which you can read the characteristics of any person on sight.

      Ma première annotation partagée publiquement!