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.

Following Virtually Connecting

Followed Virtually Connecting (http://virtuallyconnecting.org/)

logo for Virtually Connecting featuring what looks like the Earth, but the landmasses are faces looking at each other and the globe is wearing headphones

Enhancing the virtual event experience

The purpose of Virtually Connecting is to enliven virtual participation in academic conferences, widening access to a fuller conference experience for those who cannot be physically present at conferences. We are a community of volunteers and it is always free to participate.

Using emerging technologies, we connect onsite conference presenters and attendees with virtual participants in small groups. This allows virtual conference participants to meet and talk with conference presenters and attendees in what often feels like those great spontaneous hallway conversations, something not usually possible for a virtual experience. There is only room for 10 in each session but we record and, whenever possible, live stream, to allow additional virtual attendees to participate in the discussion by listening and asking questions via Twitter.

Following Association for Learning Technology

Followed Association for Learning Technology (alt.ac.uk)

ALT logo

The Association for Learning Technology (ALT) represents individual and organisational Members from all sectors and parts of the UK. Our Membership includes practitioners, researchers and policy makers with an interest in Learning Technology. Our community grows more diverse as Learning Technology has become recognised as a fundamental part of learning, teaching and assessment.

Our charitable objective is "to advance education through increasing, exploring and disseminating knowledge in the field of Learning Technology for the benefit of the general public". We have led professionalisation in Learning Technology since 1993.

How we define Learning Technology

We define Learning Technology as the broad range of communication, information and related technologies that can be used to support learning, teaching and assessment. Our community is made up of people who are actively involved in understanding, managing, researching, supporting or enabling learning with the use of Learning Technology. We believe that you don't need to be called 'Learning Technologist' to be one.

What we value and what we do

Our current strategy sets out our aims for 2017-2020:

Increasing the impact of Learning Technology for the wider community, strengthening recognition and representation for the Membership at a national level and leading professionalisation for individual Learning Technology professionals in a broad range of roles.

You can explore the strategy slides, download the full text in PDF or Google docs. Visual content is available on Flickr.

👓 Attorneys General Sue Trump Administration Over School Nutrition Rollbacks | The Salt | NPR

Read Attorneys General Sue Trump Administration Over School Nutrition Rollbacks by Allison AubreyAllison Aubrey (The Salt | NPR )

A coalition of state attorneys general is suing the Trump administration for weakening the federal nutrition standards for school meals that are fed to about 30 million children across the country.

"Over a million children in New York — especially those in low-income communities and communities of color — depend on the meals served daily by their schools to be healthy, nutritious, and prepare them for learning," New York Attorney General Letitia James said in a statement announcing the lawsuit. Joining James in the lawsuit are the attorneys general of California, the District of Columbia, Illinois, Minnesota, New Mexico and Vermont.

🎧 Economic Ripples: Hospital Closure Hurts A Town’s Ability To Attract Retirees | NPR

Listened to Economic Ripples: Hospital Closure Hurts A Town's Ability To Attract Retirees by Blake Farmer from NPR | Nashville Public Radio

When a rural community loses its hospital, health care becomes harder to come by in an instant. But a hospital closure also shocks a small town's economy. It shuts down one of its largest employers. It scares off heavy industry that needs an emergency room nearby. And in one Tennessee town, a lost hospital means lost hope of attracting more retirees.

Here’s a great example of why pure capitalist competition doesn’t work in areas like health care and education in large swathes of America. Small communities like this one often have only one option of a hospital to go to, and often they don’t even have that. And many health care issues don’t allow for direct competition and choice because they are emergent and one can only go to the closest provider with their fingers crossed.

Thoughts on open notebooks, research, and social media

I remember thinking over a decade ago how valuable it would be if researchers kept open notebooks (aka digital commonplace books) like the one Kimberly Hirsh outlines in her article Dissertating in the Open: Keeping a Public Research Notebook. I’d give my right arm to have a dozen people in research areas I’m interested in doing this very thing!

The best I could hope for back in 2008, and part of why I created the @JohnsHopkins Twitter handle, was that researchers would discover Twitter and be doing the types of things that some of the Johns Hopkins professors outlined in this recent article The Promise and Peril of Academia Wading into Twitter are now finally doing. It seems sad that it has taken over a decade and this article is really only highlighting the bleeding edge of the broader academic scene now. While what they’re doing is a great start, I think they really aren’t going far enough. They aren’t doing their audiences as much service  as they could because there’s only so much that Twitter allows in terms of depth of ideas and expressiveness. It would be far better if they were doing this sort of work from their own websites and more directly interacting with their colleagues on the open web. The only value that Twitter is giving them is a veneer of reach to a broader audience, but they’re also opening themselves up to bigger attacks as is described in the article.

In addition to Kimberly’s example, another related area of potential innovation would be moving the journal clubs run by many research groups and labs online and opening them up. Want to open up science?  Then let’s really do it!  By bookmarking a variety of articles on their own websites, various members could be aggregated to contribute to a larger group, which could then use their own websites with protocols like Webmention or even simple tools like Hypothes.is to guide and participate in larger online conversations to move science communication along at an even faster pace. Greg McVerry and I have experimented in taking some of these tools into the classroom in the past.

If you think about it, arXiv and other preprint servers are really just journal clubs writ large. The problem is that they’re only communicating in one direction by aggregating the initial content, but they’re dramatically failing their audiences in that they aren’t facilitating or aggregating any open discussion around that content. As a result, the largest portion of their true value is still locked away in the individual brains of their readers rather than as commentary or even sentence level highlights and annotations on particular pieces out in the open. Often is the time that I’ll tweet about an interesting article only to receive a (lucky) reply that the results have been debunked, yet that information is almost never disclosed in or around the journal article (especially online) where it certainly belongs. Academic publishers are not only gouging us financially by siloing their content, they’re failing us far worse than most realize.

Another idea: Can’t get a journal of negative results to publish your latest research failure? Why not post a note or article on your own website to help out future researchers? (or even demonstrate to your students that not everything always works out?)

Naturally having aggregation services like indieweb.xyz, building planets, using OPML subscriptions, or the coming wave of feed readers could make a lot of these things easier, but we’re already right on the cusp for people who are willing to take a shot for doing this type of research online on their own websites and out in the open.

Want to try out some of the above? I’m happy to help (gratis) researchers who’d like to experiment in the area to get themselves set up. Just send me a note or give me a call.

🔖 ETUG 25 Call for Proposals now open

Bookmarked ETUG 25 Call for Proposals now open by Clint Lalonde (etug.ca)
The Call for Proposals for the 25th anniversary ETUG conference is now open until April 5, 2019.
Share your knowledge, projects and ideas with the BC post-secondary education technology community at TRU in Kamloops, BC on June 20 & 21st. Program Theme & Topics Our overarching confe...

Brief thoughts on receiving read posts

I’ve been posting “read” posts/notes/links–reads, for simplicity– to my own website for a while to indicate articles and material which I’ve spent the time to read online (and oftentimes even offline). While I automatically send notifications (via webmentions or trackbacks/pingbacks) to notify the original articles, few sites know how to receive them and even less actively display them.

It’s only in the last few weeks that my site has actively begun receiving these read posts, and I have to say it’s a really lovely and heartwarming experience. While my site gets several hundreds of hits per day, and even comments, likes and other interactions, there’s just something additionally comforting in knowing that someone took the time to read some of my material and posted that fact to their own website as a reminder to themselves as well as a signal to others.

Mentally there’s a much larger value in receiving these than likes or tweets with links from Twitter, in part because there’s a larger indicator of “work” behind these signals. They’re not simply an indicator that “I saw the headline of this thing somewhere and shared it because the friction of doing so was ridiculously low”, but they represent a lot of additional time, effort, and energy and thus are a stronger and more valuable signal (both to me and hopefully to others.)

I suppose I’ll eventually need to preface that these are especially interesting to me now when I’m only getting small numbers of them from particular people who I know are deeply engaging with specific portions of my past work. I can also imagine a day when these too may become spam-like, and I (or others) are inundated with them. But for now I’ll just revel in their joyous, little warmth.

It’s interesting from my website’s administrative interface to see the path individuals are taking through my thoughts and which topics they may find interesting. I don’t think that many (any?) social media silos provide these types of views which may actually help to spark future conversations based on our shared interests.

Of course I must also admit that, as nice as these read notifications have been, they actually pale in comparison to the rest of the work that the particular sender has been doing in replicating large portions of the sorts of things I’m doing on and with my website.  I hope all of our work, experimenting, and writing is infectious and will help others out in the future.

Bookmarked Paperpile: Modern reference and PDF management (paperpile.com)

Manage your research library right in your browser

  • Save time with a smart, intuitive interface
  • Access your PDFs from anywhere
  • Format citations within Google Docs

… and much more

I know I’ve run across this tool in the past, sometime just after it launched. I remember thinking it was interesting, but it was missing some things for me. Perhaps it’s worth another look to see how it has evolved and what it entails now?

In some sense it does a lot of what I’ve been using Calibre for and is not too dissimilar to Zotero and Mendeley, though obviously all with some slightly different offerings.

hat tip: Kimberly Hirsh for reminding me about it.

📺 IndieWebCamp New Haven | YouTube

Watched IndieWebCamp New Haven 2019 from YouTube

Introductions and Keynote: Connected Learning & the IndieWeb by Kimberly Hirsh
at Southern Connecticut State University, Davis Hall, 501 Crescent Avenue, 06515 New Haven, Connecticut.

I had joined a tad late this morning and only watched the YouTube stream instead of joining the Google Hangout channel.

I wanted to rewatch the entire opening to see Kimberly Hirsh’s keynote a second time. I almost feel bad that she gave it remotely so that she couldn’t experience the direct feedback and adulation of people watching it live. Of course the benefit of a streamed version is that I got to watch it bleary-eyed in my pajamas (because of the time difference between New Haven and Los Angeles) and it will live on for others to watch and enjoy long into the future.

Congratulations Kimberly! And thanks again for taking the time to talk to all of us.

👓 IWCNHV19 Keynote: Connected Learning & the IndieWeb | Kimberly Hirsh

Read IWCNHV19 Keynote: Connected Learning & the IndieWeb by Kimberly HirshKimberly Hirsh (kimberlyhirsh.com)
Where are we going? Who am I? What is Connected Learning? How can the IndieWeb support Connected Learning?
Replied to a tweet by Laura GibbsLaura Gibbs (Twitter)
I’m curious if you use Inoreader’s OPML subscription functionality at all? It’s kind of like Twitter lists in a sense, but a lot more open and distributed.

Much like your version piped into an LMS, it could be used used to create a planet of all of the participants in a course, but set up in such a way that only one person needs to create and maintain an OPML file that everyone else can use instead of needing to manually find and subscribe to a bunch of feeds or worry about missing out on that one feed of the student who joined the course two weeks late.

As an example, here’s an OPML file on my own website (through my following page) of all the educators I’m following who are tangentially involved in the IndieWeb movement. If you subscribe to the OPML file in Inoreader, when I update it with additional feeds, you get all the changes synced automatically.

I’d be interested to see exactly how you’re using Inoreader–particularly the off-label methods. Have you written up any of the details anywhere? It looks like you’re using tags in Inoreader and piping those details back to the LMS so that you can filter portions of the class content?

I recently documented some of my personal use here: Using Inoreader as an IndieWeb feed reader. A big portion of it is about being able to use Inoreader to interact within its interface, but also have those interactions reflected on my own website (aka digital commonplace book) which sends notifications to the original content on the web instead of just leaving it siloed within Inoreader.