A couple of weeks ago, we quietly released a new feature here at hypothes.is: the ability to annotate websites and PDFs in groups. Previously, all annotations created using hypothes.is were either public or private (“only me”). Now you can create a hypothes.is group and invite others to join you in annotating a text or set of texts amongst yourselves–here’s a tutorial to get you started.
Our mission here at Hypothesis is to enable a conversation over the world’s knowledge. So far that’s been a public conversation. But some conversations need to flourish in private spaces. You’ve always been able to create private annotations that only you can see but, until today, not annotations visible only to a group. That’s what we’re launching today, it’s already transformed our own experience of annotation, and we’re confident it will do the same for you.
It works very simply. At the top of the sidebar you’ll find a new view control set to Public. That’s your default group. The dropdown menu has, initially, one option: New group.
I get a LOT of value out of using Hypothes.is, but one of my favorite parts is having the RSS feeds of about a dozen interesting peoples’ H feeds piped into my reader. I get not only interesting things to read, but highlights and annotations of the best of it all.
The general format for feeds to subscribe to is
https://hypothes.is/stream.atom?user=XYZ. As an example my personal feed is at https://hypothes.is/stream.atom?user=chrisaldrich. Some of my other favorites are judell, actualham, nateangell, mpelzel, mrkrndvs, jgmac1106, and jeremydean.
(By the way, you can do a similar thing for tag topics like:
I wish that the system had some more social features to make discovery and following of friends and colleagues easier, but doing it the hard way sort of makes it that much more valuable.
Who are you following there? Which other interesting Hypothes.is users should I be following? Do let me know.
I read quite a bit of material online. I save “bookmarks” of all of it on my personal website, sometimes with some additional notes and sometimes even with more explicit annotations. One of the things I feel like I’m missing from my browser, browser extensions, and/or social feed reader is a social layer overlay that could indicate that people in my social network(s) have read or interacted directly with that page (presuming they make that data openly available.)
One of the things I’d love to see pop up out of the discovery explorations of the IndieWeb or some of the social readers in the space is the ability to uncover some of this social reading information. Toward this end I thought I’d collect some user interface examples of things that border on this sort of data to make the brainstorming and building of such functionality easier in the near future.
If I’m missing useful examples or you’d like to add additional thoughts, please feel free to comment below.
Examples of social reading user interface for discovery
I don’t often search for reading material directly, but Google has a related bit of UI indicating that I’ve visited a website before. I sort of wish it had the ability to surface the fact that I’ve previously read or bookmarked an article or provided data about people in my social network who’ve done similarly within the browser interface for a particular article (without the search.) If a browser could use data from my personal website in the background to indicate that I’ve interacted with it before (and provide those links, notes, etc.), that would be awesome!
I’ll note here that because of the way I bookmark or post reads on my own website, my site often ranks reasonably well for those things.
In some cases, others who are posting about those things (reading, commenting, bookmarking, liking, etc.) in my social network also show up in these sorts of searches. How cool would it be to have a social reader that could display this sort of social data based on people it knows I’m following?
Hypothes.is is a great open source highlighting, annotation, and bookmarking tool with a browser extension that shows an indicator of how many annotations appear on the page. In my experience, higher numbers often indicate some interesting and engaging material. I do wish that it had a follower/following model that could indicate my social sphere has annotated a page. I also wouldn’t mind if their extension “bug” in the browser bar had another indicator in the other corner to indicate that I had previously annotated a page!
It doesn’t do it until after-the-fact, but Reading.am has a pop up overlay through its browser extension. It adds me to the list of people who’ve read an article, but it also indicates others in the network and those I’m following who have also read it (sometimes along with annotations about their thoughts).
What I wouldn’t give to see that pop up in the corner before I’ve read it!
Nuzzel is one of my favorite tools. I input my Twitter account as well as some custom lists and it surfaces articles that people in my Twitter network have been tweeting about. As a result, it’s one of the best discovery tools out there for solid longer form content. Rarely do I read content coming out of Nuzzel and feel robbed. Because of how it works, it’s automatically showing those people in my network and some of what they’ve thought about it. I love this contextualization.
Naturally sites for much longer form content will use social network data about interest, reviews, and interaction to a much greater extent since there is a larger investment of time involved. Thus social signaling can be more valuable in this context. A great example here is of Goodreads which shows me those in my network who are interested in reading a particular book or who have written reviews or given ratings.
Are there other examples I’m missing? Are you aware of similar discovery related tools for reading that leverage social network data?
Another Hypothes.is test. This time let’s throw a via.hypothes.is-based link (which seems to be the only way to and shove it all in) into an iframe! What will be orphaned? What will be native? Will annotating the iframed version push the annotations back to the original, will they show up as orphaned, or will they show up on the parent page of the iframe, or all of the above?
I also wonder if we could use fragments to target specific portions of pages like this for blockquoting/highlighting and still manage to get the full frame and Hypothes.is interface? Let’s give that a go too shall we? Would it be apropos to do a fragment quote from Fragmentions for Better Highlighting and Direct References on the Web?
Shazam!! That worked rather well didn’t it? And we can customize the size of the iframe container to catch all of the quote rather well on desktop at least. Sadly, most people’s sites don’t support fragmentions or have fragmentioner code running. It might also look like our fragment is causing my main page to scroll down to the portion of the highlighted text in the iframe. Wonder how to get around that bit of silliness?
And now our test is done.
How to provide better credit on the web using the standard rel=“canonical” by looking at an example from the Open Learner Patchbook
A couple of weeks back, I noticed and began following Cassie Nooyen when I became aware of her at the Domains 2019 conference which I followed fairly closely online.
She was a presenter and wrote a couple of nice follow up pieces about her experiences on her website. I bookmarked one of them to read later, and then two days later I came across this tweet by Terry Green, who had also apparently noticed her post:
I really hope this new post of the Open Learner Patchbook comes across the feed of lots of learners who haven’t experienced a Domain of One’s Own program before.
Patch Twenty Five – My Domain, My Place To Grow
— Terry Greene (@greeneterry) June 21, 2019
This means that there are now at least two full copies of Cassie’s post online:
- Original: https://techbar.crnooyen.knight.domains/blog/what-having-a-domain-for-a-year-has-taught-me/
- Copy: http://openlearnerpatchbook.org/technology/patch-twenty-five-my-domain-my-place-to-grow/
While I didn’t see a Creative Commons notice on Cassie’s original or any mention of permissions or even a link to the source of the original on the copy on the Open Patchbook, I don’t doubt that Terry asked Cassie for permission to post a copy of her work on his site. I’ll also suspect that it may have been the case that Cassie might not have wanted any attention drawn to herself or her post on her site and may have eschewed a link to it. I will note that the Open Patchbook did have a link to her Twitter presence as a means of credit. (I’ll still maintain that people should be preferring links to their own domain over Twitter for credits like these–take back your power!)
Even with these crediting caveats aside, there’s a subtle technical piece hiding here relating to search engines and search engine optimization that many in the Domain of One’s Own space may not realize exists, or if they do they may not be sure how to fix. This technical subtlety is that search engines attempt to assign proper credit too. As a result there’s a very high chance that Open Patchbook could rank higher in search for Cassie’s own post than Cassie’s original. As researchers and educators we’d obviously vastly prefer the original to get the credit. So what’s going on here?
Search engines use a web standard known as rel=“canonical”, a microformat which is most often found in the HTML
<header> of a web page. If we view the current source of the copy on the Open Learner Patchbook, we’ll see the following:
<link rel="canonical" href="http://openlearnerpatchbook.org/technology/patch-twenty-five-my-domain-my-place-to-grow/" />
According to the Microformats wiki:
rel=“canonical”to a hyperlink, a page indicates that the destination of that hyperlink should be considered the preferred or definitive version of the current page. This helps search engines avoid duplicate content, and is useful for deciding how to link to a page when citing it.
In the case of our example of Cassie’s post, search engines will treat the two pages as completely separate, but will suspect that one is a duplicate of the other. This could have dramatic consequences for one or the other sites in which search engines will choose one to prefer over the other, and, in some cases, search engines may penalize one site for having duplicate content and not stating that fact (in their metadata). Typically this would have more drastic and averse consequences for Cassie’s original in comparison with an institutional site.
How do we fix the injustice of this metadata?
There are a variety of ways, but I’ll focus on several in the WordPress space.
WordPress core has built-in functionality that should set the permalink for a particular page as the canonical one. This is why the Open Patchbook page displays the incorrect canonical link. Since most people are likely to already have an SEO related plugin installed on their site and almost all of them have this capability, this is likely the quickest and easiest method for being able to change canonical links for pages and posts. Two popular choices for this are Yoast and All in One SEO which have simple settings for inputting and saving alternate canonical URLs. Yoast documents the steps pretty well, so I’ll provide an example using All in One SEO:
- If not done already, click the checkbox for canonical URLs in the “General Settings” section for the plugin generally found at
- For the post (or page) in question, within the All in One SEO metabox in the admin interface (pictured) put the full URL of the original posts’ location.
- (Re-)publish the post.
If you’re using another SEO plugin, it likely handles canonical URLs similarly, so check their documentation.
For aggregation websites, like the Open Learner Patchbook, there’s also another solid option for not only setting the canonical URL, but for more quickly copying the original post as well. In these cases I love PressForward, a WordPress plugin from the Roy Rosenzweig Center for History and New Media which was designed with the education space in mind. The plugin allows one to quickly gather, organize, and republish content from other places on the web. It does so in a smart and ethical way and provides ample opportunity for providing appropriate citations as well as, for our purposes, setting the original URL as the canonical one. Because PressForward is such a powerful and diverse tool (as well as a built-in feed reader for your WordPress website), I’ll refer users to their excellent documentations.
Another useful reason I’ll mention for using rel-canonical mark up is that I’ve seen cases in which using it will allow other web standards-based tools like Hypothes.is to match pages for highlights and annotations. I suspect that if the Open Patchwork page did have the canonical link specified that any annotations made on it with Hypothes.is should mirror properly on the original as well (and vice-versa).
I also suspect that there are some valuable uses of this sort of small metadata-based mark up within the Open Educational Resources (OER) space.
In short, when copying and reposting content from an original source online, it’s both courteous and useful to mark the copy as such by putting a tag onto the URL of the original to provide it with the full credit as the canonical source.
A test of some highlighting functionality with respect to rel-canonical mark up. I’m going to blockquote a passage of an original elsewhere on the web with a Hypothes.is annotation/highlight on it to see if the annotation will properly transclude it.
I’m using the following general markup to make this happen:
<blockquote><link rel="canonical" href="https://www.example.com/annotated_URL"> Text of the thing which was previously annotated. </blockquote>
Let’s give it a whirl:
This summer marks the one-year anniversary of acquiring my domain through St. Norbert’s “Domain of One’s Own” program Knight Domains. I have learned a few important lessons over the past year about what having your own domain can mean.
The first issue that I never really thought about was the security and privacy on my domain. A few months after having my domain, I realized that if you searched my name, my domain was one of the first things that popped up. I was excited about this, but I soon realized that this meant everything I blogged about was very much in the open. This meant all of my pictures and also every person I have mentioned. I made the decision to only use first names when talking about others and the things we have done together. This way, I can protect their privacy in such an open space. With social media you have some control over who can see your post based on who “friends” or “follows you”; on a domain, this is not as much of a luxury. Originally, I thought my domain would be something I only shared with close friends and family, like a social media page, but understanding how many people have the opportunity to see it really shocked me and pushed me to think about the bigger picture of security and safety for me and those around me.
—Cassie Nooyens in What Having a Domain for a year has Taught Me
Unfortunately, however, I’m noticing that if I quote multiple sources this way (at least in my Chrome browser), only the last quoted block of text transcludes the Hypothes.is annotations. Based on prior experiments using rel-canonical mark up I’ve noticed this behavior, but I suspect it’s simply the fact that the rel-canonical appears on the page and matches one original. It would be awesome if such a rel-canonical link which was nested into any number of blockquote tags would cause the annotations from the originals
Perhaps Jon Udell and friends could shed some light on this and or make some tweaks so that blockquoting multiple sources within the same page could also allow the annotations on those quoted passages to be transcluded onto them?
Separately, I’m a tad worried that any annotations now made on my original could also be mistakenly pushed back to the quoted pages because of the matching rel-canonical without anything taking into account the nested portions of the page or the blockquoted pieces. I’ll make a test on a word or phrase like “security and privacy” to see if this is the case. We’ll all notice that of course this test fails by seeing the highlight on Cassie’s original. Oh well…
So the question becomes, is there a way within the annotation spec to allow us to write simple HTML documents that blockquote portions of other texts in such a way that we can bring over the annotations of those other texts (or allow annotating them on our original page and have them pushed back to the original) within the blockquoted portions, yet still not interfere with annotating our own original document? Ideally what other HTML tags could/should this work on? Further could this be common? Generally useful? Or simply just a unique edge case with wishful thinking made from this pet example? Perhaps there’s a better way to implement it than my just having thrown in the random link on a whim? Am I misguidedly attempting to do something that already exists?
Hypothes.is doesn’t have a social media-like follow functionality baked into the system, but there are a few methods to follow interesting people. My favorite, and possibly the simplest, is to add
https://hypothes.is/stream.atom?user=abcxyz as a feed into my feed reader where
abcxyz is the username of the person I’d like to follow.
So to subscribe to my Hypothes.is feed you’d add https://hypothes.is/stream.atom?user=chrisaldrich to your reader.
Of course, the catch then is to find/discover interesting people to follow this way. Besides some of the usual interesting subjects like Jon Udell, Jeremy Dean, Remi Kalir, et al. Who else should I be following?
Ideally by following interesting readers, you’ll find not only good things to read for yourself, but you’ll also have a good idea which are the best parts as well as what your friends think of those parts. The fact that someone is bothering to highlight or annotate something is a very strong indicator that they’ve got some skin in the game and the article is likely worth reading.
Custom CSS, alerts and more
A Massively Collaborative Open U.S. History Textbook
Apparently one of the most annotated texts within Hypothes.is
I was looking at tools to pull annotations out of Kindle the other day and ran across Readwise again. Part of its functionality pulls highlights and annotations out of Kindle and then it has some UI that uses the idea of spaced repetition to have you regularly review what you’ve previously read and highlighted and presumably wanted to remember or use in the future.
Of course this is very similar to other spaced repetition/flash card applications like Mnemosyne, Anki, or language apps like Memrise and Duolingo among many others. I also seem to recall that Amazon once had some UI like this built into their Kindle Notebook, but I’m not finding it at the moment, but I know they’ve changed that UI sometime in the last two years–perhaps it’s gone?
Given the number of learners who are using Hypothes.is, wouldn’t it be a fantastic bit of functionality if Hypothes.is had a spaced repetition UI that would allow students to easily go back and review over their prior highlights and annotations?! Presumably this could be targeted for quizzes and tests, but honestly as a lifelong learner I very frequently love using tools like Timehop or even my website’s built-in “On this day” functionality to look back over bits and pieces of things I’ve done in the past, which also includes my annotations, since I’m keeping copies of them on my website as well.
Naturally such a UI should be able to search or sort by tag, date range, or even by source(s) so that a student could more easily wrangle a particular number of sources over which they wanted to review their material–particularly as over months, years, or decades one could build up a huge library of annotations. If, as a student, I was tagging my material by class course number subject area or something similar (like edu522, for example) I could then easily dump that into such a UI and be able to do spaced repetition studying for that subject area. Masters, Ph.D. students, and even the professoriate might appreciate it for occasional spaced repetition to be nudged or reminded of ideas they’d had in the past, but which may need rekindling to put into a thesis or potential future papers.
The more I think about this, the more I’d love to see it in Hypothes.is. If it’s not something the main team takes on, perhaps it could be an add-on for a group like Remi Kalir’s who have done some interesting work with the API to create Crowdlaaers.
I’m planning to use import/export manually with tools like Anki to do some testing this coming weekend… I wonder what open sourced code may already exist that I could simply plug my Hypothes.is data into? Hmm…
Boy, what I wouldn’t give to have a digital, searchable copy of every book or article I’d highlighted or annotated since I was 14! Even my handwritten commonplace books from those eras are difficult to read and search through.
The Chronicle of Higher Education recently published an article entitled “The Fall, and Rise, of Reading” arguing, in part, that digital annotation can restore discipline to college students’ reading habits (annotate it with us at that Hypothesis-enabled link). While we agree, at Hypothesis we are less concerned with whether students have read — reading compliance — than in how they read, with how their reading and annotating practices inform other skills like critical thinking and writing.
Last fall, we shared a research project on the impact of Hypothesis annotation in teaching reading and writing. That group has since conducted their research, presented at the Conference on College Composition and Communication, and is in the process of writing up their findings and conclusions for publication. Since then we’ve learned about or been involved with several other research projects looking at the role of annotation in the teaching of composition and literature. Next Thursday, we will host a webinar bringing together scholars doing this research in conversation.
Join our free webinar, 12–1pm PT/3–4pm ET on Thursday 9 May 2019, focusing on current and future research about how annotation is being used in the English and composition disciplines, and what research shows — or could show — about the impact digital, collaborative annotation can have on student success.
Hosted by Hypothesis Director of Education Jeremy Dean, you will hear from multiple scholars about their research and outcomes:
- Alan Reid, Assistant Professor, English, Coastal Carolina University
- Julie Sievers, Director of Teaching, Learning, and Scholarship, Southwestern University
- Michelle Sprouse, English and Education PhD Candidate, University of Michigan
- Noel Brathwaite, Assistant Professor of English, SUNY Farmingdale
There will also be time for presenters and attendees to discuss questions and future research directions together.
I’m in for this… I was just talking to a composition teacher the other day and wondering exactly how one would use Hypothes.is in such a setting.
As I’m thinking about bookclubs and Hypothes.is, I sort of wish that Ruined by Design was either online or in .pdf format so that I could use a Hypothes.is group to highlight/annotate my copy with their tool for my bookclub. I’m curious if there are any non-academic bookclubs using it in the wild?
Obviously it’s great for reading native digital content, material in the public domain, or Creative Commons content, but how could one work on participatory annotations for more restricted copyright material? Is there a Hypothes.is plugin for the Kindle, Kindle apps, or other e-readers that may work with copyright material?