I’m sure I’ve seen other versions, but Jon Udell has at least one example of some annotations on his own website like yours too.
When it comes to the “conversation” side of what you’re looking for, I think the biggest piece you’re really missing and which some on the Hypothes.is side (except perhaps for Nate who may have a stronger grasp of their value after the recent IndiewWeb Summit) are apt to miss is that Hypothes.is doesn’t support sending webmentions. Presently you’re putting your data out there in a one-sided manner and Hypothes.is isn’t pushing the other side or any of the follow up back to you. As a result it’s operating as a social silo the same way that sites like Facebook and Twitter do. Based on their GitHub repository, I know that they’ve considered webmentions in the past, but apparently it got put on a back burner and hasn’t been revisited.
Ideally they’d want to have webmentions work in two places. It would be great if they could send webmentions of annotations/highlights to the original page itself, so that the site owner is aware that their content is being marked up or used in this manner. This also means that Hypothes.is could be used as a full-blown and simple commenting system as well so that those who aren’t using their own sites to write replies could use Hypothes.is as an alternative. The second thing it might want to do is to send webmentions, particularly for replies, to the original page as well as to any URLs that are mentioned in the comment thread which appears on Hypothes.is. This would mean that you’d want to add the permalink to your post back to the copy you put on Hypothes.is so that you and your website stay in the loop on the entirety of the conversation. In many senses, this is just mirroring what is going on in threaded Twitter conversations that get mirrored back to your WordPress website. [I’ll note that I think I’ve got the last of the moving pieces for this Twitter/WordPress workflow properly linked up in the past week.] Since Twitter doesn’t support webmentions itself, Brid.gy is handling that part for you, but in Hypothes.is’ case you don’t have any of the details coming back for allowing you to display the discussion on your site except by doing so manually. Doing it manually for extended conversations is going to become painful over time.
From an IndieWeb perspective, you’re primarily implementing a PESOS workflow in which you post first on Hypothes.is and then send a copy of it to your own website. Naturally it would be better if you were posting all the details on your own website and using the Hypothes.is API to syndicate your copy there for additional public conversation outside of the readership of your website. Unfortunately building the infrastructure to do this is obviously quite daunting. Since they’ve got an API, you might be able to bootstrap something webmention-like onto it, but for your purposes it would obviously be easier if they had direct webmention support.
It would also be wonderful if Hypothes.is supported the micropub specification as well. Then you could ideally log into the system as your website and any annotations you made could be automatically be published to your website for later storage, display, or other use. In some sense, this is what I’m anticipating by making explicit standalone annotation and highlight post kinds on my website. In practice, however, like you, I’d prefer to have a read, like, or bookmark-type of post that aggregates all of my highlights, annotations, and marginalia of a particular piece for easier future use as well as the additional context this provides. I suspect that if I had the additional tag within the Hypothesis Aggregator plugin for WordPress that would let me specify the particular URL of an individual article, I would have most of the front side PESOS functionality we’re all looking for. The rest will require either webmention or a lot more work.
I may have mentioned it before, but in case you hadn’t found it I’ve got a handful of posts on annotations, many of which include some Hypothes.is functionality.
Not itemized in that list (yet?) are some experiments I’d done with the Rory Rosenzweig Center’s PressForward plugin for WordPress. It allowed me to use a simple browser bookmarklet to save a webpage’s content to my personal website with a rel=”canonical” tag for the page pointing at the original page. (Here’s a good example.) Because of the way the canonical set up works within Hypothes.is, I noticed that annotations I (and others) made on the original were also mirrored and available on my website as well. In my case, because PressForward was copying the entirety of the article for me, I used the <mark> HTML tag to make the highlights on my page, but with Hypothes.is enabled, it also shows the other public annotations as well. (Use of the title attribute adds some additional functionality when the mark tagged text is hovered over in most browsers.)
In another example, I annotated a copy of one of Audrey Watters’ articles (after she’d disabled the ability for Hypothesis to work on her site, but before she changed the Creative Commons licensing on her website). But here I added my annotations essentially as pull-quotes off to the side and syndicated copies to Hypothes.is by annotating the copy on my website. If you visit Audrey’s original, you’ll see that you cannot enable Hypothesis on it, but if you’re using the Chrome extension it will correctly indicate that there are five annotations on the page (from my alternate copy which indicates hers is the rel=”canonical”).
In any case, thanks again for your examples and documenting your explorations. I suspect as time goes by we’ll find a more IndieWeb-centric method for doing exactly what you’ve got in mind in an even easier fashion. Often doing things manually for a while will help you better define what you want and that will also make automating it later a lot easier.
Separately, I maintain a following page which, similar to a blogroll, is a list of sites I’m following along with OPML of the full list or subcategories. Thus if you want to subscribe to the IndieWeb OPML list, it’s there for you. (Even more fun if you’re using functionality like OPML subscriptions as they’re done in Inoreader, so that when I update my list, yours automatically does too.)
If you’re interested in recreating portions of some of this I’ve tried to document a lot of it (for WordPress at least) at https://boffosocko.com/research/indieweb/.
While there is some implication in the event pages, I don’t know if some people were expecting the sessions and planning to play out the way they did (or if they knew what to expect on that front at all, particularly in chatting with people in the early morning registration/breakfast part of the day).
It was certainly more productive for me to think about and post some of the things I wanted to accomplish pre-camp. (It also helped to have your reminder a month or more ago about what I might build before even going to the summit.)
Having additional time to know what the scheduling process looks like, if nothing else, gives people a bit more time to think about what they want to get out of the conference and propose some additional ideas without being under the short time crunch. This is particularly apropos when the morning presentations may have run long and the conference is already a few minutes off track and we’re eating into valuable session time otherwise. I would suspect that helping to get the session ideas flowing sooner than later may also help the idea and creative processes, and even more so for participants who may need a bit more time to organize their thoughts and communicate them as they’d like.
I definitely liked the process of having beginners go first and then letting people advocate for particular ideas thereafter. This worked particularly well for an established event and one with so many people. It might be helpful to pre-select one potentially popular proposal from an older hand to go first though, to provide an example of the process for those who are new to it, and in particular those who might be quiet, shy, or not be the type to raise their hands and advocate in front of such a large group. In fact, given this, another option is to allow people to propose sessions and then allow advocation across the board, but for beginners first followed by everyone thereafter. This may also encourage better thought out initial proposals as well.
Thanks again for all your hard work and preparation Tantek!
I’ve written a lot about this in the past, and I’ll try to include some links to content/posts as I respond to the prompts. This is a bit long as I get into the weeds, so consider yourself warned.
And now…let’s get to it…
Highlights, Quotes, & Marginalia
Having a domain is important to me as I research, develop, and teach.
example of a domain as thinking out loud or thought spaces
blogging as thinking
This should be a space where you can create the identity that you want to have. You can write yourself into existence.
I like this sentiment. Had René Descartes been born a bit later might he have said “Blogeō, ergo sum”?
Most of this work is focused on collaboration, transparency, and working/thinking in the open.
The plan is to use the site to share surveys, interviews, and researcher notes.
teachers hid their Facebook accounts for fear of being fired.
The sound of this to me know reminds me of the type of suppression of thought that might have occurred in the middle ages. Of course open thought and discussion is important for teachers the same way it is for every other person. However there are a few potential counterexamples where open discussion of truly abhorrent ideas can run afoul of community mores. Case in point:
- Florida public school teacher has a white nationalist podcast | Huffington Post
- Forida teacher says her racist podcast was satire | New York Times
personal learning network perhaps marking it up with <abbr> tags would be useful here?
I feel like this culture in academia may be changing.
academia is built on the premise (IMHO) of getting a good idea, parlaying that into a job and tenure, and waiting for death. I’ve had a lot of colleagues and acquaintances ask why I would bother blogging. Ask why I share all of this content online. Ask why I’m not afraid that someone is going to steal my ideas.
Though all too true, this is just a painful statement for me. The entirety of our modern world is contingent upon the creation of ideas, their improvement and evolution, and their spreading. In an academic world where attribution of ideas is paramount, why wouldn’t one publish quickly and immediately on one’s own site (or anywhere else they might for that matter keeping in mind that it’s almost trivially easy to self-publish it on one’s own website nearly instantaneously)?
Early areas of science were held back by the need to communicate by handwriting letters as the primary means of communication. Books eventually came, but the research involved and even the printing process could take decades. Now the primary means of science communication is via large (often corporate owned) journals, but even this process may take a year or more of research and then a year or more to publish and get the idea out. Why not write the ideas up and put them out on your own website and collect more immediate collaborators? Funding is already in such a sorry state that generally, even an idea alone, will not get the ball rolling.
I’m reminded of the gospel song “This little light of mine” whose popular lyrics include:
“Hide it under a bushel? No! / I’m gonna let it shine” and
“Don’t let Satan blow it out, / I’m gonna let it shine”
I’m starting to worry that academia in conjunction with large corporate publishing interests are acting the role of Satan in the song which could easily be applied to ideas as well as to my little light.
Senior colleagues indicate that I should not have to balance out publishing in “traditional, peer-reviewed publications” as well as open, online spaces.
Do your colleagues who read your work, annotate it, and comment on it not count as peer-review? Am I wasting my time by annotating all of this? 🙂 (I don’t think so…)
or at least they pretend
I don’t think we’re pretending. I know I’m not!
Let me know when you’re done and we’ll see about helping you distribute it in .epub and .mobi formats as e-books as well.
This is due to a natural human reaction to “Google” someone before we meet them for the first time. Before we show up to teach a class, take a class, interview for a job, go on a date…we’ve been reviewed online. Other people use the trail of breadcrumbs that we’ve left behind to make judgements about us. The question/challenge is that this trail of breadcrumbs is usually incomplete, and locked up in various silos. You may have bits of your identity in Facebook or Twitter, while you have other parts locked up in Instagram, Snapchat, or LinkedIn. What do these incomplete pieces say about you? Furthermore, are they getting the entire picture of you when they uncover certain details? Can they look back to see what else you’re interested in? Can they see how you think all of these interests fit together…or they seeing the tail end of a feverish bout of sharing cat pics?
I can’t help but think that doing this is a form of cultural anthropology being practiced contemporaneously. Which is more likely: someone a 100 years from now delving into my life via my personal website that aggregated everything or scholars attempting to piece it all back together from hundreds of other sites? Even with advanced AI techniques, I think the former is far more likely.
Of course I also think about what @Undine is posting about cats on Twitter or perhaps following #marginaliamonday and cats, and they’re at least taking things to a whole new level of scholarship.
Guide to highlight colors
Yellow–general highlights and highlights which don’t fit under another category below
Orange–Vocabulary word; interesting and/or rare word
Green–Reference to read
Red–Example to work through
true. (Hint: on your admin dashboard visit:
/wp-admin/plugin-editor.php?file=indieweb-post-kinds%2Fincludes%2Fclass-kind-taxonomy.php&plugin=indieweb-post-kinds%2Findieweb-post-kinds.php). Then save the file. There’s already a reasonable template built into the plugin, so you shouldn’t need to make your own.
The plugin will generally import a “featured image” if one is available on the page you’re bookmarking, but it doesn’t yet have functionality for showing it yet. I often I add one manually myself by cutting and pasting the URL for the photo the plugin returns and put it into the External URL featured image plugin. (Eventually when Post Kinds handles featured images, I should be able to turn the plugin off so it doesn’t duplicate the data.)
Depending on your infrastructure, you could potentially leverage the old Link Manager within WordPress which provided OPML outputs as well as outputs arranged by category. This would prevent you from needing to rebuild the side-files unless you’re doing that already.
Certainly having multiple WordPress installs can be a headache, though it will obviously work. I know some IndieWeb tech related to syndicating to various silos and using services like Brid.gy for backfeed will be hard to do when using more than two domains and targeting a single silo presence, so it’s not only a maintenance tax, but you might not have the flexibility you’d like if you syndicate content in multiple locations.
Another option is to use the same WordPress install to run multiple websites, which is also a possibility. Or you could also run a multi-site installation and go that route. This at least would cut down on needing to maintain and update multiple sites one at a time.
Possibly the best option, however, is to know that you can custom theme any and every page generated within your website. This isn’t done quite as often as it may take a bit more upfront development work and knowledge of how WordPress works internally as well as how to tweak your theme. The easiest thing to do is to create custom templates for each of the particular pages you want to change. When WordPress tries to build a page it relies on a nested hierarchy of templates potentially available within your theme. It starts at the top and stops when it finds one available and then uses that template. By targeting the particular page you’re making (by a variety of means) you can have direct control over what your page will look like. The nice part is if you’ve got templates from other themes, you can use those as a guide and include their CSS files to get the exact look and feel you want.
Now that you know it exists as an option, there are a huge variety of resources on the web that you can consult to begin tinkering. Below are a few potentially useful ones:
- A Detailed Guide To A Custom WordPress Page Templates
- Creating Custom Page Templates in WordPress
- How to Create a Custom Page in WordPress
- Page Templates (documentation from WordPress Developer)
- Taxonomy Templates (documentation from WordPress Developer)
I suspect even for those without a development background, one could do a bit of reading followed by some judicious cutting and pasting to get some reasonable results. I’m far from an expert in this area myself, but I was recently able to create a sort of landing page template for my podcast recently by creating a custom page that displays when the archive page for my ‘podcast’ category is rendered. Essentially I copied the archive template from my theme, added a bit of detail about the podcast just above the part where it renders the reverse chronological order of the category posts (I did this in simple raw HTML, without any ‘real’ coding), gave the file a new name
category-podcast.php so it would trigger when
/category/podcast/ is the URL, put it into my child theme (so it wouldn’t be overwritten if I update my theme), and voila–a landing page for the podcast!
If you’re not much of a developer/tinkerer, you could likely ask your departmental, divisional, or institutional web developer, someone at a local WordPress meetup or maybe a Homebrew Website Club to help you out a bit. I think once you’ve done it once with even some simple changes like I did on one page, you’ll have the gist of it and the sky is the limit for every other page on your site.
I suspect some of the most interesting parts may be more closed off to you (or possibly more difficult) because in your particular case it looks like you’re being hosted on WordPress.com rather than self-hosting your own site directly. For the richest experience you’d ideally like to be able to install some of the IndieWeb for WordPress plugins like Webmentions, Semantic Linkbacks, Post Kinds, and potentially others. This can be done on WordPress.com, but typically involves a higher level of paid account for the most flexibility.
For crossposting your content to micro.blog, that portion is fairly simple as you can decide on any variety of post formats (standard, aside, status, images, etc.), post kinds, categories, or even tags and translate those pieces into RSS feeds your WordPress installation is already creating (most often just by adding /feed/ to the end of common URLs for these items). Then you can plug those particular feeds into your micro.blog account and you’re good to go for feeding content out easily without any additional work. Personally I’m using the Post Kinds plugin to create a finer-grained set of content so that I can better pick and choose what gets syndicated out to other sites.
From within micro.blog, on your accounts tab you can enter any number of incoming feeds to your account. Here’s a list of some of the feeds (from two of my websites one using WordPress and the other using Known) that are going to my account there:
As a small example, if you were using the status post format on your site, you should be able to add
https://dancohen.org/type/status/feed/ to your feed list on micro.blog and then only those status updates would feed across to the micro.blog community.
I also bookmarked a useful meta-post a few weeks back that has a nice section on using micro.blog with WordPress. And there are also many nice resources on the IndieWeb wiki for micro.blog and how people are integrating it into their workflows.
For crossposting to Twitter there are a multitude of options depending on your need as well as your expertise and patience to set things up and the control you’d like to have over how your Tweets display.
Since micro.blog supports the Webmention protocol, if your site also has Webmentions set up, you can get responses to your crossposts to micro.blog to show up back on your site as native (moderate-able) comments. You can do much the same thing with Twitter and use your website as a Twitter “client” to post to Twitter as well as have the replies and responses from Twitter come back to your posts using webmention in conjunction with the brid.gy website.
I’ve been playing around in these areas for quite a while and am happy to help point you to particular resources depending on your level of ability/need. If you (or anyone else in the thread as well) would like, we can also arrange a conference call/Google hangout (I’m based in Los Angeles) and walk through the steps one at a time to get you set up if you like (gratis, naturally). Besides, it’s probably the least I could do to pay you back for a small fraction of your work on things like PressForward, Zotero, and DPLA that I’ve gotten so much value out of.
Because of the power of these methods and their applicability to education, there are an ever-growing number of us working on the issue/question of scaling this up to spread across larger classrooms and even institutions. I’m sure you saw Greg McVerry’s reply about some upcoming potential events (as well as how he’s receiving comments back from Twitter via webmention, if you scroll down that page). I hope you might join us all. The next big event is the IndieWeb Summit in Portland at the end of June. If you’re not able to make it in person, there should be some useful ways to attend big portions remotely via video as well as live chat, which is actually active 24/7/365.
As is sometimes said: I have made this longer than usual because I have not had time to make it shorter. At least I wasn’t hampered by Twitter’s character constraints by posting it on my own site first.
I remember lurking for over a year and a half before dipping a toe in for the first time myself. Everyone I’ve met has been so kind, thoughtful, supportive, and helpful that I now regret having let so much time pass before jumping in with both feet.
Since it looks like you’re playing in the WordPress world, feel free to drop into the #WordPress channel (or any of the others for that matter) anytime to ask questions, help others solve problems (we can always use help with UX/UI, and themes especially), talk about what itches you’re working on, or even just to say “hi”. If you haven’t yet, I’m sure you’ll enjoy meeting some of the WP regulars including pfefferle (Germany), GWG (New York), miklb (Florida), snarfed (San Francisco), jgmac1106 (Connecticut), jeremycherfas (Rome), and me: chrisaldrich (Los Angeles).
I hope that the most overwhelming part isn’t getting to know the community, but the sheer number of things that are becoming possible to do with one’s website that weren’t as easily possible just a few years ago. My biggest problem reading the chat logs usually comes in the form of saying, “That sounds/looks cool, I want that too!” about 8 times a day. My best advice for “eating the whole whale” is to do it one bite at a time.
I’ll also personally extend an invitation to the upcoming IndieWeb Summit in Portland at the end of the month. If you can’t make it in person, there should be enough support to allow a lot of direct participation via chat and live streaming video–it’s not quite as much fun as attending in person, but you can participate to a level higher than most conferences typically allow.