Ideas for IndieWeb-ifying Hypothes.is

I use Hypothes.is regularly as part of my daily workflow. I’m also very interested in being able to “own” the data I generate with the tool and being able to keep it on my own digital commonplace book (aka website). As part of this, I’d like to be able to receive notifications from people publicly annotating, highlighting, and replying to my content and potentially display those directly on either my website in the comments section or as marginalia.

I’d promised to do a quick outline for the kind gang at Hypothes.is to outline how to make their product could be a bit more open and support some additional web standards to make it more IndieWeb friendly as well as to work toward supporting the Webmention protocol to send notifications of annotations on a page. A few weeks ago at IndieWebCamp New Haven I decided to finally sketch out some of the pieces which should be relatively easy for them to implement into the product. Below are some of the recommendations and some examples of what needs to be done to implement them into their platform to allow it to better interact with other content on the web. This post is in reply to a few prior conversations about Webmention, but primarily pertains to Microformats which will help in creating those. [1] [2] [3] [4]

Overview

To my knowledge Hypothes.is generates a hash for each annotation it has in the system and generates two separate, but related URLs for them. As an example, here are the two URLs for a response Jon Udell made on my website recently:

The first URL is where a stand-alone copy of the annotation lives on the web, separate from the content it is related to. screen capture of the content at URL https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow The second URL resolves to the page on which the annotation was made and both will automatically open up Hypothesis’ side drawer UI to the annotation in question and will–on most browsers–auto-scroll down the page to show the point at which the annotation was made. Essentially this second URL shows the annotation in-situ in conjunction with the Hypothes.is user interface. I’ll note that they can also have some human readable trailing data in the URL that indicates the site on which the annotation was made like so: https://hyp.is/_tLJyA-cEemE-qPndyfQow/boffosocko.com/?p=55708991. However, in practice, one could remove or replace the boffosocko.com and trailing portion with any other URL and the correct page will still resolve.

It is great that they make the first URL available with the relevant data. This in itself is very IndieWeb friendly to have each annotation in the system have its own stand-alone URL. Sadly all the data on this particular page seems to be rendered using JavaScript rather than being raw HTML. (See also js;dr.) This makes the page human readable, but makes it much more difficult for machines to read or parse these pages. I’d recommend three simple things to make Hypothes.is more (Indie)Web friendly:

  1. Render the annotation on the first URL example in full HTML instead of JavaScript;
  2. Add the appropriate microformats classes on those pages;
  3. Add the canonical URL for the page on which the annotation is in reference to either instead of or in addition to the Hypothes.is prefixed URL which already appears on these pages. Webmention functioning properly will require this canonical URL to exist on the page to be able to send notifications and have them be received properly.

These things would make these pages more easily and usefully parseable on the open web. If/when Hypothes.is may support Webmention (aka web notifications) then all of these prerequisite pieces will already be in place. In the erstwhile, even without Hypothes.is running code to support sending Webmentions, users could force manual Webmentions using services like Telegraph, mention-tech.appspot, or even personal endpoints generated on individual posts (see the one below) or on custom endpoint pages like mine on WordPress. Aaron Parecki’s article Sending your First Webmention from Scratch is a useful tutorial for those with little experience with Microformats or Webmention.

Types of Annotations and Microformats Markup

To my knowledge there are three distinct types of annotations that might occur which may need slightly different microformats mark up depending on the type. These are:

  1. Unassigned page notes (or sometimes orphaned page notes): For all intents and purposes are the equivalent of bookmarks (and are used this way by many) though they go by a different name within the service.
  2. Highlights of particular passages: In IndieWeb parlance, these are roughly equivalent to quotations of content.
  3. Highlights and annotations of particular passages: In IndieWeb terms these again are quotes of content which also have what might be considered a reply or comment to that segment of quoted text. Alternately the annotation itself might be considered a note related to what was highlighted, but I suspect from a UI and semantic viewpoint, treating these as replies is probably more apropos in the majority of cases.

Each of these can obviously have one or more potential tags as well. Some of the examples below include the p-category microformats for how these would logically appear. Using the example URL above and several others for the other cases, I’ll provide some example HTML with proper microformats classes to make doing the mark up easier. I’ve created some minimal versions of text and mark up, though Hypothes.is obviously includes much more HTML (and a variety of divs for CSS purposes. While some of the mark up is a bit wonky, particularly with respect to adding the hyp.is and the original posts’ canonical URLs, it could be somewhat better with some additional reworking of the presentation, but I wanted to change as little as possible of their present UI. For the minimal examples, I’ve stripped out the native Hypothes.is classes and only included the semantic microformats. Because microformats are only meant for semantic mark up, the developers should keep in mind it is good practice NOT to use these classes for CSS styling.

Page note with no annotations (bookmarks)

Example from https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow (but without the annotation portion)


<div class="h-entry">
    <a class="p-author h-card" href="https://hypothes.is/users/judell">judell</a>
    Public on <https://hyp.is/_tLJyA-cEemE-qPndyfQow/boffosocko.com/?p=55708991>"Chris Aldrich on the IndieWeb"</a> (<a class="u-bookmark-of" href="https://boffosocko.com/?p=55708991">boffosocko.com</a>)
    <time class="dt-published" datetime="2019-01-11 18:052:00" title="Friday, Jan 11, 2019, 6:52 PM"><a href="https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow" target="_blank" rel="noopener">Jan 11</a></time>
    
<div class="p-category">tag-name1</div>
 
<div class="p-category">tag-name2</div>
 
<div class="p-category">tag-name3</div>
</div>

Page note with an annotation

(aka a reply, but could alternately be marked up as above as a bookmark) Example from https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow


<div class="h-entry">
    <a class="p-author h-card" href="https://hypothes.is/users/judell">judell</a>
    Public on <https://hyp.is/_tLJyA-cEemE-qPndyfQow/boffosocko.com/?p=55708991>"Chris Aldrich on the IndieWeb"</a> (<a class="u-in-reply-to" href="https://boffosocko.com/?p=55708991">boffosocko.com</a>)
    <time class="dt-published" datetime="2019-01-11 18:052:00" title="Friday, Jan 11, 2019, 6:52 PM"><a href="https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow" target="_blank" rel="noopener">Jan 11</a></time>
    
<div class="e-content">
        
<p>This is web thinking in action.</p>
<p>https://blog.jonudell.net/2011/01/24/seven-ways-to-think-like-the-web/</p>
<p>Well done!</p>

    </div>

    
<div class="p-category">tag-name</div>
</div>

Highlights (aka quotes)

Example from https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow


<div class="h-entry">
    <a class="p-author h-card" href="https://hypothes.is/users/judell">judell</a>
    Public on <a href="https://hyp.is/gBZPQucmEeaPBQvYzSRo-Q/www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/">"As We May Think"</a> (<a class="u-quotation-of h-cite" href="https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/">www.theatlantic.com</a>)
    <time class="dt-published" datetime="2017-04-30 08:40:00" title="Sunday, Apr 30, 2017, 08:40 AM"><a href="https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow" target="_blank" rel="noopener">Apr 30, 2017</a></time>
    
<blockquote>First he runs through an encyclopedia, finds an interesting but sketchy article, leaves it projected. Next, in a history, he finds another pertinent item, and ties the two together.</blockquote>

    
<div class="p-category">IAnnotate2017</div>
</div>

Annotations (replies)

Example from https://hypothes.is/a/9JrX5lf9RraeLKKn9WwmMQ


<div class="h-entry">
    <a class="p-author h-card" href="https://hypothes.is/users/jeremydean">jeremydean</a>
    Public on <a href="https://hyp.is/9JrX5lf9RraeLKKn9WwmMQ/www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/">"As We May Think"</a> (<a class="u-in-reply-to" href="https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/">www.theatlantic.com</a>)
    <time class="dt-published" datetime="2015-09-02 15:11:00" title="Wednesday, Sep 2, 2015, 03:11 PM"><a href="https://hypothes.is/a/_tLJyA-cEemE-qPndyfQow" target="_blank" rel="noopener">Sep 2, 2015</a></time>
    
<blockquote class="p-in-reply-to h-cite">This has not been a scientist's war; it has been a war in which all have had a part.
<blockquote>
    
   
<div class="e-content">
        
<p>It kind of blows me mind that the end of WWII is the context for these early dreams of the Internet. Is it the hope experienced in patriotic collaboration toward technological innovation? That's what Bush seems to acknowledge explicitly. It's a techno-militaristic union that haunts us to this day (#prism). But I wonder too if it's the precarious of knowledge, or perhaps the destructiveness of knowledge, that also inspires Bush…</p>

    </div>

    
<div class="p-category">tag-name</div>
</div>

I’ll also note that there’s the potential of a reply on Hypothes.is to a prior reply to a canonical URL source. In that case it could be either marked up as a reply to the “parent” on Hypothesis and/or a reply to the canonical source URL, or even both so that webmentions could be sent further upstream. (My experience in this is more limited, not having dealt with it personally in the past.) Once these pieces are implemented, they can be tested against a variety of microformats parsers to ensure they’re outputting the correct (and properly nested) information. I often find that pin13 is a pretty solid modern and up-to-date choice for this.

Additional resources with examples

I’ll also leave the caveat here, that while I’ve got a stronger grasp of Microformats than the average bear, that the above examples may have some subtle quirks that others may catch or which could be improved upon. I find that the Microformats web chat can be a good source for helps from some of the world’s best experts in the area. (Other methods for engaging in chat via IRC, Slack, etc. can be utilized as well.)

If Dan, Jon, or any of the gang has questions about any of this, I’m happy to chat via phone, video conference, or other to help get them going.

🔖 Highly: Highlight to share.

Bookmarked Highly (Highly)
Highlight the web to share the important parts.

Signing up for yet-another-silo. This one has some slick-looking UI and lots of social and sharing integrations. Their shares to Twitter look interesting, but I really wish there were some better ways to share so well to my own website. Sadly, unlike Hypothes.is, it doesn’t have any annotation functionality. I didn’t find my Twitter colleagues like Jon Udell, Nate Angell, or Jeremy Dean on the service through their Twitter integration set up.

After a cursory look, I’m worried what their funding and monetization plans are and where my data will be in just a few years. While it’s certainly pretty, I far prefer the functionality (and community) that Hypothes.is offers, so I’m not moving any time soon. Definitely worth taking a look at for some of its UI features and interactions and future functionality.

👓 Adaptable lizards illustrate key evolutionary process proposed a century ago | Science Daily

Read Adaptable lizards illustrate key evolutionary process proposed a century ago (ScienceDaily)
The 'Baldwin effect' has now been demonstrated at the genetic level in a population of dark-colored lizards adapted to live on a lava flow in the desert.

Highlights, Quotes, Annotations, & Marginalia

One explanation has been that many of an animal’s traits are not fixed, but can change during its lifetime. This “phenotypic plasticity” enables individual animals to alter their appearance or behavior enough to survive in a new environment. Eventually, new adaptations promoting survival arise in the population through genetic changes and natural selection, which acts on the population over generations. This is known as the “Baldwin effect” after the psychologist James Mark Baldwin, who presented the idea in a landmark paper published in 1896.  

September 11, 2018 at 08:57AM

Journal article available at: https://www.cell.com/current-biology/pdfExtended/S0960-9822(18)30899-6

An Outline for Using Hypothesis for Owning your Annotations and Highlights

I was taken with Ian O’Byrne’s righteous excitement in his video the other day over the realization that he could potentially own his online annotations using Hypothesis, that I thought I’d take a moment to outline a few methods I’ve used.

There are certainly variations of ways for attempting to own one’s own annotations using Hypothesis and syndicating them to one’s website (via a PESOS workflow), but I thought I’d outline the quickest version I’m aware of that requires little to no programming or code, but also allows some relatively pretty results. While some of the portions below are WordPress specific, there’s certainly no reason they couldn’t be implemented for other systems.

Saving individual annotations one at a time

Here’s an easy method for taking each individual annotation you create on Hypothesis and quickly porting it to your site:

Create an IFTTT.com recipe to port your Hypothesis RSS feed into WordPress posts. Generally chose an “If RSS, then WordPress” setup and use the following data to build the recipe:

  • Input feed: https://hypothes.is/stream.atom?user=username (change username to your user name)
  • Optional title: 📑 {{EntryTitle}}
  • Body: {{EntryContent}} from {{EntryUrl}} <br />{{EntryPublished}}
  • Categories: Highlight (use whatever categories you prefer, but be aware they’ll apply to all your future posts from this feed)
  • Tags: hypothes.is
  • Post status (optional): I set mine to “Draft” so I have the option to keep it privately or to publish it publicly at a later date.

Modify any of the above fields as necessary for your needs. IFTTT.com usually polls your feed every 10-15 minutes. You can usually pretty quickly take this data and turn it into your post kind of preference–suggestions include read, bookmark, like, favorite, or even reply. Add additional categories, tags, or other metadata as necessary for easier searching at a later time.

Here’s an example of one on my website that uses this method. I’ve obviously created a custom highlight post kind of my own for more specific presentation as well as microformats markup.

A highlight from Hypothesis posted on my own website using some customized code to create a “Highlight post” using the Post Kinds Plugin.

Aggregating lots of annotations on a single page

If you do a lot of annotations on Hypothesis and prefer to create a bookmark or read post that aggregates all of your annotations on a given post, the quickest way I’ve seen on WordPress to export your data is to use the Hypothesis Aggregator plugin [GitHub].

  • Create a tag “key” for a particular article by creating an acronym from the article title followed by the date and then the author’s initials. This will allow you to quickly conglomerate all the annotations for a particular article or web page. As an example for this article I’d use: OUHOAH062218CA. In addition to any other necessary tags, I’ll tag each of my annotations on the particular article with this somewhat random, yet specific key for which there are unlikely to be any other similar tags in my account.
  • Create a bookmark, read, reply or other post kind to which you’ll attach your annotations. I often use a bookmarklet for speed here.
  • Use the Hypothesis Aggregator’s short code for your tag and username to pull your annotations for the particular tag. It will look like this:
    [hypothesis user = 'username' tags = 'tagname']

    If you’re clever, you could include this shortcode in the body of your IFTTT recipe (if you’re using drafts) and simply change the tag name to the appropriate one to save half a step or need to remember the shortcode format each time.

If you’re worried that Hypothes.is may eventually shut down, the plugin quits working (leaving you with ugly short codes in your post) or all of the above, you can add the following steps as a quick work-around.

  • Input the shortcode as above, click on the “Preview” button in WordPress’s Publish meta box which will open a new window and let you view your post.
  • Copy the preview of the annotations you’d like to keep in your post and paste them over your shortcode in the Visual editor tab on your draft post. (This will maintain the simple HTML formatting tags, which you can also edit or supplement if you like.)
  • I also strip out the additional unnecessary data from Hypothesis Aggregator about the article it’s from as well as the line about who created the annotation which isn’t necessary as my post will implicitly have that data. Depending on how you make your post (i.e. not using the Post Kinds Plugin), you may want to keep it.

As Greg McVerry kindly points out, Jon Udell has created a simple web-tool for inputting a few bits of data about a set of annotations to export them variously in HTML, CSV, or JSON format. If you’re not a developer and don’t want to fuss with Hypothesis’ API, this is also a reasonably solid method of quickly exporting subsections of your annotations and cutting and pasting them onto your website. It does export a lot more data that one might want for their site and could require some additional clean up, particularly in HTML format.

Perhaps with some elbow grease and coding skill, sometime in the future, we’ll have a simple way to implement a POSSE workflow that will allow you to post your annotations to your own website and syndicate them to services like Hypothesis. In the erstwhile, hopefully this will help close a little of the data gap for those using their websites as their commonplace books or digital notebooks.

Some thoughts on highlights and marginalia with examples

Earlier today I created a read post with some highlights and marginalia related to a post by Ian O’Bryne. In addition to posting it and the data for my own purposes, I’m also did it as a manual test of sorts, particularly since it seemed apropos in reply to Ian’s particular post. I thought I’d take a stab at continuing to refine my work at owning and controlling my own highlights, notes, and annotations on the web. I suspect that being able to better support this will also help to bring more self-publishing and its benefits to the halls of academe.

At present I’m relying on a PESOS solution to post on another site and syndicate a copy back to my own site. I’ve used Hypothesis, in large part for their fantastic UI and as well for the data transfer portion (via RSS and even API options), to own the highlights and marginalia I’ve made on the original on Ian’s site. Since he’s syndicated a copy of his original to Medium.com, I suppose I could syndicate copies of my data there as well, but I’m saving myself the additional manual pain for the moment.

Rather than send a dozen+ webmentions to Ian, I’ve bundling everything up in one post. He’ll receive it and it would default to display as a read post though I suspect he may switch it to a reply post for display on his own site. For his own use case, as inferred from his discussion about self-publishing and peer-review within the academy, it might be more useful for him to have received the dozen webmentions. I’m half tempted to have done all the annotations as stand alone posts (much the way they were done within Hypothesis as I read) and use some sort of custom microformats mark up for the highlights and annotations (something along the lines of u-highlight-of and u-annotation-of). At present however, I’ve got some UI concerns about doing so.

One problem is that, on my site, I’d be adding 14 different individual posts, which are all related to one particular piece of external content. Some would be standard replies while others would be highlights and the remainder annotations. Unless there’s some particular reason to do so, compiling them into one post on my site seems to be the most logical thing to do from my perspective and that of my potential readers. I’ll note that I would distinguish annotations as being similar to comments/replies, but semantically they’re meant more for my sake than for the receiving site’s sake. It might be beneficial for the receiving site to accept and display them (preferably in-line) though I could see sites defaulting to considering them vanilla mentions as a fallback.  Perhaps there’s a better way of marking everything up so that my site can bundle the related details into a single post, but still allow the receiving site to log the 14 different reactions and display them appropriately? One needs to not only think about how one’s own site looks, but potentially how others might like to receive the data to display it appropriately on their sites if they’d like as well. As an example, I hope Ian edits out my annotations of his typos if he chooses to display my read post as a comment.

One might take some clues from Hypothesis which has multiple views for their highlights and marginalia. They have a standalone view for each individual highlight/annotation with its own tag structure. They’ve also got views that target highlights/annotation in situ. While looking at an original document, one can easily scroll up and down through the entire page’s highlights and annotations. One piece of functionality I do wish they would make easier is to filter out a view of just my annotations on the particular page (and give it a URL), or provide an easier way to conglomerate just my annotations. To accomplish a bit of this I’ll typically create a custom tag for a particular page so that I can use Hypothesis’ search functionality to display them all on one page with a single URL. Sadly this isn’t perfect because it could be gamed from the outside–something which might be done in a classroom setting using open annotations rather than having a particular group for annotating. I’ll also note in passing that Hypothesis provides RSS and Atom feeds in a variety of ways so that one could quickly utilize services like IFTTT.com or Zapier to save all of their personal highlights and annotations to their website. I suspect I’ll get around to documenting this in the near future for those interested in the specifics.

Another reservation is that there currently isn’t yet a simple or standard way of marking up highlights or marginalia, much less displaying them specifically within the WordPress ecosystem. As I don’t believe Ian’s site is currently as fragmentions friendly as mine, I’m using links on the date/time stamp for each highlight/annotation which uses Hypothesis’ internal functionality to open a copy of the annotated page and automatically scroll down to the fragment as mentioned before. I could potentially see people choosing to either facepile highlights and/or marginalia, wanting to display them in-line within their text, or possibly display them as standalone comments in their comments section. I could also see people wanting to be able to choose between these options based on the particular portions or potentially senders. Some of my own notes are really set up as replies, but the CSS I’m using physically adds the word “Annotation”–I’ll have to remedy this in a future version.

The other benefit of these date/time stamped Hypothesis links is that I can mark them up with the microformat u-syndication class for the future as well. Perhaps someone might implement backfeed of comments until and unless Hypothesis implements webmentions? For fun, some of my annotations on Hypothesis also have links back to my copy as well. In any case, there are links on both copies pointing at each other, so one can switch from one to the other.

I could imagine a world in which it would be nice if I could use a service like Hypothesis as a micropub client and compose my highlights/marginalia there and micropub it to my own site, which then in turn sends webmentions to the marked up site. This could be a potential godsend to researchers/academics using Hypothesis to aggregate their research into their own personal online (potentially open) notebooks. In addition to adding bookmark functionality, I could see some of these be killer features in the Omnibear browser extension, Quill, or similar micropub clients.

I could also see a use-case for adding highlight and annotation kinds to the Post Kinds plugin for accomplishing some of this. In particular it would be nice to have a quick and easy user interface for creating these types of content (especially via bookmarklet), though again this path also relies on doing individual posts instead of a single post or potentially a collection of posts. A side benefit would be in having individual tags for each highlight or marginal note, which is something Hypothesis provides. Of course let’s not forget the quote post kind already exists, though I’ll have to think through the implications of that versus a slightly different semantic version of the two, at least in the ways I would potentially use them. I’ll note that some blogs (Colin Walker and Eddie Hinkle come to mind) have a front page that display today’s posts (or the n-most recent); perhaps I could leverage this to create a collection post of highlights and marginalia (keyed off of the original URL) to make collection posts that fit into my various streams of content. I’m also aware of a series plugin that David Shanske is using which aggregates content like this, though I’m not quite sure this is the right solution for the problem.

Eventually with some additional manual experimentation and though in doing this, I’ll get around to adding some pieces and additional functionality to the site. I’m still also interested in adding in some of the receipt/display functionalities I’ve seen from Kartik Prabhu which are also related to some of this discussion.

Is anyone else contemplating this sort of use case? I’m curious what your thoughts are. What other UI examples exist in the space? How would you like these kinds of reactions to look on your site?

There’s been some recent revival of chat about fragmentions and the fragmentioner within the IndieWeb community which enable the ability to more easily highlight and annotate individual portions of a web page and target them directly via URL.

This caused me to take a look at where the conversations on webmentions went within the Hypothesis project. Unless they’re hiding offline or somewhere else, it would appear that they’ve stalled, though I have a feeling that it could be an interesting notification method for Hypothesis to indicate to a site that it’s been highlighted or annotated. Also given that the Webmention spec is a W3C recommendation as of January 2017 compared to its status in 2014 when the topic was last brought up on the GitHub repo.

As a result of the above, if they’re free, I’d love to extend an invitation to Dan Whaley (t), Jon Udell (t), Jeremy Dean (t), Nate Angell (t), or anyone else working on the Hypothes.is project to join us in Portland this June 26-27 for the annual IndieWebSummit / IndieWebCamp.  I highly suspect there will be some heavy interest in the topics of open ways of annotating, highlighting, and notifying websites as well as UI/UX discussion around this area which we can all continue to expand and improve upon. And naturally there are sure to be a broad area of other topics at the summit that will be of interest in addition to these.

Thanks to Kartik Prabhu’s work, I’ve finally updated the fragmentioner on my website, so it’s easier to highlight subsections of my website and share them with others.

As part of Bryan Alexander’s online book club, I’ve recalled that GoodReads.com allows users with linked Amazon accounts to make their Kindle highlights and notes publicly available. Though I expect that I’ll post most/all of them here on my site over time, I thought I’d still add a link to my highlights and annotations for Weapons for Math Destruction here and use this as a reminder to others in the group who might want to take advantage of this functionality as well.

Details on the functionality can be found at Share Your Kindle Notes and Highlights with Your Friends (Beta).

🔖 dokieli

Bookmarked dokie.li (dokie.li)
dokieli is a clientside editor for decentralised article publishing, annotations and social interactions.

dokieli envisions research results, analysis and data all being produced interactively on the Web and seamlessly linked to and from articles. Through annotations and notifications, the academic process of peer-review can be open, transparent and decentralised for researchers.

Reply to Web Annotations are Now a W3C Standard, Paving the Way for Decentralized Annotation Infrastructure

Replied to Web Annotations are Now a W3C Standard, Paving the Way for Decentralized Annotation Infrastructure by Sarah Gooding (WordPress Tavern)
Web annotations became a W3C standard last week but the world hardly noticed. For years, most conversations on the web have happened in the form of comments. Annotations are different in that they usually reference specific parts of a document and add context. They are often critical or explanatory in nature.

Hypothesis Aggregator

Be careful with this plugin on newer versions of WordPress >4.7 as the shortcode was throwing a fatal error on pages on which it appeared.

p.s.: First!

Kris Shaffer, the plugin’s author

Here’s his original post announcing the plugin. #

Web annotation seems to promote more critical thinking and collaboration but it’s doubtful that it would ever fully replace commenting systems.

But why not mix annotations and comments together the way some in the IndieWeb have done?! A few people are using the new W3C recommendation spec for Webmention along with fragmentions to send a version of comments-marginalia-annotations to sites that accept them and have the ability to display them!

A good example of this is Kartik Prabhu’s website which does this somewhat like Medium does. One can write their response to a sub-section of his post on their own website, and using webmention (yes, there’s a WordPress plugin for that) send him the response. It then shows up on his site as a quote bubble next to the appropriate section which can then be opened and viewed by future readers.

Example: https://kartikprabhu.com/articles/marginalia

For those interested, Kartik has open sourced some of the code to help accomplish this.

While annotation systems have the ability to overlay one’s site, there’s certainly room for serious abuse as a result. (See an example at https://indieweb.org/annotation#Criticism.) It would be nice if annotation systems were required to use something like webmentions (or even older trackback/pingbacks) to indicate that a site had been mentioned elsewhere, this way, even if the publisher wasn’t responsible for moderating the resulting comments, they could at least be aware of possible attacks on their work/site/page. #

Read posts nearly perfected!

Hoorah, hooray!

In a project which I started just before IndieWebCamp LA in November, I’ve moved a big step closer to perfecting my “Read” posts!

Thanks in large part to WordPressPressForward, friends and help on the IndieWeb site too numerous to count, and a little bit of elbow grease, I can now receive and read RSS feeds in my own website UI (farewell Feedly), bookmark posts I want to read later (so long Pocket, Instagram, Delicious and Pinboard), mark them as read when done, archive them on my site (and hopefully on the Internet Archive as well) for future reference, highlight and annotate them (I still love you hypothes.is, but…), and even syndicate (POSSE) them automatically (with emoji) to silos like Facebook, Twitter (with Twitter Cards), Tumblr, Flipboard, LinkedIn, Pinterest, StumbleUpon, Reddit, and Delicious among others.

Syndicated copies in the silos when clicked will ping my site for a second and then automatically redirect to the canonical URL for the original content to give the credit to the originating author/site. And best of all, I can still receive comments, likes, and other responses from the siloed copies via webmention to stay in the loop on the conversations they generate without leaving my site.

Here’s an example of a syndicated post to Twitter:

I’m now more resistant to a larger number of social media silos disappearing with my data. Huzzah!

What’s next?

 

PressForward and Hypothes.is Work Great Together

I’ve just noticed that the metadata PressForward scrapes is enough to allow highlights and marginalia from Hypothes.is on the original web page to also appear in my copy on my own website! How awesome is that?

Example: http://boffosocko.com/2017/01/19/obamas-secret-to-surviving-the-white-house-years-books-the-new-york-times/

#ownallthethings

Reply to Ben Hanowell about Hypothes.is, Fragmentions, and Annotations

Replied to a tweet by Brash EquilibriumBrash Equilibrium (Twitter)
@ChrisAldrich is this the fragmentions plugin along with @hypothes_is or just the latter? Link to instructions por favor!!!!

Hypothes.is’ reply will get you most of the way, but I’ll add some additional thoughts below.

There are a couple of fragmentions plugins in the WordPress repository. I use and recommend WP Fragmention. Mostly it comes down to supporting a chunk of javascript that is the brainchild of Kevin Marks.

For Hypothes.is, I use the plugin referenced in the tweet above, but I’ve also been using Hypothes.is Aggregator by Kris Shaffer. I will note that the latter broke for me recently (possibly with the upgrade to WP 4.7, but I’ve filed a ticket and hopefully it’ll get sorted shortly). Shaffer’s plugin also makes using and posting with Hypothes.is’ Chrome extension more useful and interesting to me, since I can own copies of my highlights/annotations on my own website.

I’m hoping that sometime soon that Hypothes.is highlights and annotations on pages will also support sending webmentions so that when someone annotates one of my pages that I’ll receive a notification about it, almost as if it were a comment. If you’re interested in this sort of thing, Kartik Prabhu has a fantastic write up and some code on mixing marginalia and webmentions which I’m hoping to implement sometime soon myself.

If you need any help with any of the above, I (and surely others) are happy to help you via IndieWeb Chat.

Notes, Highlights, and Marginalia: From E-books to Online

Notes on an outlined workflow for sharing notes, highlights, and annotations from ebooks online.

For several years now, I’ve been meaning to do something more interesting with the notes, highlights, and marginalia from the various books I read. In particular, I’ve specifically been meaning to do it for the non-fiction I read for research, and even more so for e-books, which tend to have slightly more extract-able notes given their electronic nature. This fits in to the way in which I use this site as a commonplace book as well as the IndieWeb philosophy to own all of one’s own data.[1]

Over the past month or so, I’ve been experimenting with some fiction to see what works and what doesn’t in terms of a workflow for status updates around reading books, writing book reviews, and then extracting and depositing notes, highlights, and marginalia online. I’ve now got a relatively quick and painless workflow for exporting the book related data from my Amazon Kindle and importing it into the site with some modest markup and CSS for display. I’m sure the workflow will continue to evolve (and further automate) somewhat over the coming months, but I’m reasonably happy with where things stand.

The fact that the Amazon Kindle allows for relatively easy highlighting and annotation in e-books is excellent, but having the ability to sync to a laptop and do a one click export of all of that data, is incredibly helpful. Adding some simple CSS to the pre-formatted output gives me a reasonable base upon which to build for future writing/thinking about the material. In experimenting, I’m also coming to realize that simply owning the data isn’t enough, but now I’m driven to help make that data more directly useful to me and potentially to others.

As part of my experimenting, I’ve just uploaded some notes, highlights, and annotations for David Christian’s excellent text Maps of Time: An Introduction to Big History[2] which I read back in 2011/12. While I’ve read several of the references which I marked up in that text, I’ll have to continue evolving a workflow for doing all the related follow up (and further thinking and writing) on the reading I’ve done in the past.

I’m still reminded me of Rick Kurtzman’s sage advice to me when I was a young pisher at CAA in 1999: “If you read a script and don’t tell anyone about it, you shouldn’t have wasted the time having read it in the first place.” His point was that if you don’t try to pass along the knowledge you found by reading, you may as well give up. Even if the thing was terrible, at least say that as a minimum. In a digitally connected era, we no longer need to rely on nearly illegible scrawl in the margins to pollinate the world at a snail’s pace.[4] Take those notes, marginalia, highlights, and meta data and release it into the world. The fact that this dovetails perfectly with Cesar Hidalgo’s thesis in Why Information Grows: The Evolution of Order, from Atoms to Economies,[3] furthers my belief in having a better process for what I’m attempting here.

Hopefully in the coming months, I’ll be able to add similar data to several other books I’ve read and reviewed here on the site.

If anyone has any thoughts, tips, tricks for creating/automating this type of workflow/presentation, I’d love to hear them in the comments!

Footnotes

[1]
“Own your data,” IndieWeb. [Online]. Available: http://indieweb.org/own_your_data. [Accessed: 24-Oct-2016]
[2]
D. Christian and W. McNeill H., Maps of Time: An Introduction to Big History, 2nd ed. University of California Press, 2011.
[3]
C. Hidalgo, Why Information Grows: The Evolution of Order, from Atoms to Economies, 1st ed. Basic Books, 2015.
[4]
O. Gingerich, The Book Nobody Read: Chasing the Revolutions of Nicolaus Copernicus. Bloomsbury Publishing USA, 2004.