Social Reading User Interface for Discovery

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

Google

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!

Screen capture for Google search of Kevin Marks with a highlight indicating that I've visited this page in the recent past
Screen capture for Google search of Kevin Marks with a highlight indicating that I’ve visited his page several times in the past. Given the March 2017 date, it’s obvious that the screen shot is from a browser and account I don’t use often.

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.

On a search for an article by Aaron Parecki, my own post indicating that I’ve read it in the past ranks second right under the original.

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

A search for a great article by Matthias Ott shows that both I and several of my friends (indicated by red arrows superimposed on the search query) have read, bookmarked, or commented on it too.

Hypothes.is

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!

Screen capture of Vannevar Bush’s article As We May Think in The Atlantic with a Hypothes.is browser extension bug indicating that there are 329 annotations on the page.

Reading.am

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!

Reading.am’s social layer creates a yellow colored pop up list in the upper right of the browser indicating who else has read the article as well as showing some of their notes on it. Unfortunately it doesn’t pop up until after you’ve marked the item as read.

Nuzzel

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.

Nuzzel’s interface shows the title and an excerpt of an article and also includes the avatars, names, network, and commentary of one’s friends that interacted with the piece. In this example it’s relatively obvious that one reader influenced several others who retweeted it because of her.

Goodreads

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.

A slightly excerpted/modified screen capture of the Goodreads page for Melanie Mitchell’s book Complexity that indicates several in my social network are also interested in reading it.

Are there other examples I’m missing? Are you aware of similar discovery related tools for reading that leverage social network data?

Domains, power, the commons, credit, SEO, and some code implications

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:

But I was surprised to see the link in the tweet points to a different post in the Open Learner Patchbook, which is an interesting site in and of itself.

This means that there are now at least two full copies of Cassie’s post online:

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:

By adding 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 /wp-admin/admin.php?page=all-in-one-seo-pack%2Faioseop_class.php.
  • 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.

Screenshot of the AIOSEO metabox with the field for the Canonical URL outlined in red

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.

An annotation example for Hypothes.is using <blockquote> markup to maintain annotations on quoted passages

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.

SECURITY

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?

Domains 2019 Reflections from Afar

My OPML Domains Project

Not being able to attend Domains 2019 in person, I was bound and determined to attend as much of it as I could manage remotely. A lot of this revolved around following the hashtag for the conference, watching the Virtually Connecting sessions, interacting online, and starting to watch the archived videos after-the-fact. Even with all of this, for a while I had been meaning to flesh out my ability to follow the domains (aka websites) of other attendees and people in the space. Currently the easiest way (for me) to do this is via RSS with a feed reader, so I began collecting feeds of those from the Twitter list of Domains ’17 and Domains ’19 attendees as well as others in the education-related space who tweet about A Domain of One’s Own or IndieWeb. In some sense, I would be doing some additional aggregation work on expanding my blogroll, or, as I call it now, my following page since it’s much too large and diverse to fit into a sidebar on my website.

For some brief background, my following page is built on some old functionality in WordPress core that has since been hidden. I’m using the old Links Manager for collecting links and feeds of people, projects, groups, and institutions. This link manager creates standard OPML files, which WordPress can break up by categories, that can easily be imported/exported into most standard feed readers. Even better, some feed readers like Inoreader, support OPML subscriptions, so one could subscribe to my OPML file, and any time I update it in the future with new subscriptions, your feed reader would automatically update to follow those as well. I use this functionality in my own Inoreader account, so that any new subscriptions I add to my own site are simply synced to my feed reader without needing to be separately added or updated.

The best part of creating such a list and publishing it in a standard format is that you, dear reader, don’t need to spend the several hours I did to find, curate, and compile the list to recreate it for yourself, but you can now download it, modify it if necessary, and have a copy for yourself in just a few minutes. (Toward that end, I’m also happy to update it or make additions if others think it’s missing anyone interesting in the space–feedback, questions, and comments are heartily encouraged.) You can see a human-readable version of the list at this link, or find the computer parse-able/feed reader subscribe-able link here.

To make it explicit, I’ll also note that these lists also help me to keep up with people and changes in the timeframe between conferences.

Anecdotal Domains observations

In executing this OPML project I noticed some interesting things about the Domains community at large (or at least those who are avid enough to travel and attend in person or actively engage online). I’ll lay these out below. Perhaps at a future date, I’ll do a more explicit capture of the data with some analysis.

The largest majority of sites I came across were, unsurprisingly, WordPress-based, which made it much easier to find RSS feeds to read/consume material. I could simply take a domain name and add /feed/ to the end of the URL, and voilà, a relatively quick follow!

There are a lot of people whose sites didn’t have obvious links to their feeds. To me this is a desperate tragedy for the open web. We’re already behind the eight ball compared to social media and corporate controlled sites, why make it harder for people to read/consume our content from our own domains? And as if to add insult to injury, the places on one’s website where an RSS feed link/icon would typically live were instead populated by links to corporate social media like Facebook, Twitter, and Instagram. In a few cases I also saw legacy links to Google+ which ended service and disappeared from the web along with a tremendous number of online identities and personal data on April 2, 2019. (Here’s a reminder to remove those if you’ve forgotten.) For those who are also facing this problem, there’s a fantastic service called SubToMe that has a universal follow button that can be installed or which works well with a browser bookmarklet and a wide variety of feed readers.

I was thrilled to see a few people were using interesting alternate content management systems/site generators like WithKnown and Grav. There were  also several people who had branched out to static site generators (sites without a database). This sort of plurality is a great thing for the community and competition in the space for sites, design, user experience, etc. is awesome. It’s thrilling to see people in the Domains space taking advantage of alternate options, experimenting with them, and using them in the wild.

I’ll note that I did see a few poor souls who were using Wix. I know there was at least one warning about Wix at the conference, but in case it wasn’t stated explicitly, Wix does not support exporting data, which makes any potential future migration of sites difficult. Definitely don’t use it for any extended writing, as cutting and pasting more than a few simple static pages becomes onerous. To make matters worse, Wix doesn’t offer any sort of back up service, so if they chose to shut your site off for any reason, you’d be completely out of luck. No back up + no export = I couldn’t recommend using.

If your account or any of your services are cancelled, it may result in loss of content and data. You are responsible to back up your data and materials. —Wix Terms of Use

I also noticed a few people had generic domain names that they didn’t really own (and not even in the sense of rental ownership). Here I’m talking about domain names of the form username.domainsproject.com. While I’m glad that they have a domain that they can use and generally control, it’s not one that they can truly exert full ownership over. (They just can’t pick it up and take it with them.) Even if they could export/import their data to another service or even a different content management system, all their old links would immediately disappear from the web. In the case of students, while it’s nice that their school may provide this space, it is more problematic for data portability and longevity on the web that they’ll eventually lose that institutional domain name when they graduate. On the other hand, if you have something like yourname.com as your digital home, you can export/import, change content management services, hosting companies, etc. and all your content will still resolve and you’ll be imminently more find-able by your friends and colleagues. This choice is essentially the internet equivalent of changing cellular providers from Sprint to AT&T but taking your phone number with you–you may change providers, but people will still know where to find you without being any the wiser about your service provider changes. I think that for allowing students and faculty the ability to more easily move their content and their sites, Domains projects should require individual custom domains.

If you don’t own/control your physical domain name, you’re prone to lose a lot of value built up in your permalinks. I’m also reminded of here of the situation encountered by faculty who move from one university to another. (Congratulations by the way to Martha Burtis on the pending move to Plymouth State. You’ll notice she won’t face this problem.)  There’s also the situation of Matthew Green, a security researcher at Johns Hopkins whose institutional website was taken down by his university when the National Security Agency flagged an apparent issue. Fortunately in his case, he had his own separate domain name and content on an external server and his institutional account was just a mirrored copy of his own domain.

If you’ve got it, flaunt it.
—Mel Brooks from The Producers (1968), obviously with the it being a referent to A Domain of One’s Own.

Also during my project, I noted that quite a lot of people don’t list their own personal/professional domains within their Twitter or other social media profiles. This seems a glaring omission particularly for at least one whose Twitter bio creatively and proactively claims that they’re an avid proponent of A Domain of One’s Own.

And finally there were a small–but still reasonable–number of people within the community for whom I couldn’t find their domain at all! A small number assuredly are new to the space or exploring it, and so I’d give a pass, but I was honestly shocked that some just didn’t.

(Caveat: I’ll freely admit that the value of Domains is that one has ultimate control including the right not to have or use one or even to have a private, hidden, and completely locked down one, just the way that Dalton chose not to walk in the conformity scene in The Dead Poet’s Society. But even with this in mind, how can we ethically recommend this pathway to students, friends, and colleagues if we’re not willing to participate ourselves?)

Too much Twitter & a challenge for the next Domains Conference

One of the things that shocked me most at a working conference about the idea of A Domain of One’s Own within education where there was more than significant time given to the ideas of privacy, tracking, and surveillance, was the extent that nearly everyone present gave up their identity, authority, and digital autonomy to Twitter, a company which actively represents almost every version of the poor ethics, surveillance, tracking, and design choices we all abhor within the edtech space.

Why weren’t people proactively using their own domains to communicate instead? Why weren’t their notes, observations, highlights, bookmarks, likes, reposts, etc. posted to their own websites? Isn’t that part of what we’re in all this for?!

One of the shining examples from Domains 2019 that I caught as it was occurring was John Stewart’s site where he was aggregating talk titles, abstracts, notes, and other details relevant to himself and his practice. He then published them in the open and syndicated the copies to Twitter where the rest of the conversation seemed to be happening. His living notebook– or digital commmonplace book if you will–is of immense value not only to him, but to all who are able to access it. But you may ask, “Chris, didn’t you notice them on Twitter first?” In fact, I did not! I caught them because I was following the live feed of some of the researchers, educators, and technologists I follow in my feed reader using the OPML files mentioned above. I would submit, especially as a remote participant/follower of the conversation, that his individual posts were worth 50 or more individual tweets. Just the additional context they contained made them proverbially worth their weight in gold.

Perhaps for the next conference, we might build a planet or site that could aggregate all the feeds of people’s domains using their categories/tags or other means to create our own version of the Twitter stream? Alternately, by that time, I suspect that work on some of the new IndieWeb readers will have solidified to allow people to read feeds and interact with that content directly and immediately in much the way Twitter works now except that all the interaction will occur on our own domains.

As educators, one of the most valuable things we can and should do is model appropriate behavior for students. I think it’s high time that when attending a professional conference about A Domain of One’s Own that we all ought to be actively doing it using our own domains. Maybe we could even quit putting our Twitter handles on our slides, and just put our domain names on them instead?

Of course, I wouldn’t and couldn’t suggest or even ask others to do this if I weren’t willing and able to do it myself.  So as a trial and proof of concept, I’ve actively posted all my interactions related to Domains 2019 that I was interested in to my own website using the tag Domains 2019.  At that URL, you’ll find all the things I liked and bookmarked, as well as the bits of conversation on Twitter and others’ sites that I’ve commented on or replied to. All of it originated on my own domain, and, when it appeared on Twitter, it was syndicated only secondarily so that others would see it since that was where the conversation was generally being aggregated. You can almost go back and recreate my entire Domains 2019 experience in real time by following my posts, notes, and details on my personal website.

So, next time around can we make an attempt to dump Twitter!? The technology for pulling it off certainly already exists, and is reasonably well-supported by WordPress, WithKnown, Grav, and even some of the static site generators I noticed in my brief survey above. (Wix obviously doesn’t even come close…)

I’m more than happy to help people build and flesh out the infrastructure necessary to try to make the jump. Even if just a few of us began doing it, we could serve as that all-important model for others as well as for our students and other constituencies. With a bit of help and effort before the next Domains Conference, I’ll bet we could collectively pull it off. I think many of us are either well- or even over-versed in the toxicities and surveillance underpinnings of social media, learning management systems, and other digital products in the edtech space, but now we ought to attempt a move away from it with an infrastructure that is our own–our Domains.

From Following Posts and Blogrolls (Following Pages) with OPML to Microsub Servers and Readers

I’m still tinkering away at pathways for following people (and websites) on the open web (in my case within WordPress). I’m doing it with an eye toward making some of the UI and infrastructure easier in light of the current fleet of Microsub servers and readers that will enable easier social reading without the centralized reliance on services like Facebook, Twitter, Instagram, Snapchat, Medium, LinkedIn, et al.

If you haven’t been following along, here are some relevant pieces for background:

Generally I’ve been adding data into my Following Page (aka blogroll on steroids) using the old WordPress Links Manager pseudo-manually. (There’s also a way to bulk import to it via OPML, using the WordPress Tools Menu or via /wp-admin/import.php?import=opml). The old Links Manager functionality in WordPress had a bookmarklet to add links to it quickly, though it currently only seems to add a minimal set–typically just the URL and the page title. Perhaps someone with stronger JavaScript skills than I possess could improve on it or integrate/leverage some of David Shanske’s Parse This work into such a bookmark to pull more data out of pages (via Microformats, Schema.org, Open Graph Protocol, or Dublin Core meta) to pre-fill the Links Manager with more metadata including page feeds, which I now understand Parse This does in the past month or so. (If more than one feed is found, they could be added in comma separated form to the “Notes” section and the user could cut/paste the appropriate one into the feed section.) Since I spent some significant time trying to find/dig up that old bookmarklet, I’ll mention that it can be found in the Restore Lost Functionality plugin (along with many other goodies) and a related version also exists in the Link Library plugin, though on a small test I found it only pulled in the URL.

Since it wasn’t completely intuitive to find, I’ll include the JavaScript snippet for the Links Manager bookmarklet below, though note that the URL hard coded into it is for example.com, so change that part if you’re modifying for your own use. (I haven’t tested it, but it may require the Press This plugin which replaces some of the functionality that was taken out of WordPress core in version 4.9. It will certainly require one to enable using the Links Manager either via code or via plugin.)

javascript:void(linkmanpopup=window.open('https://exanple.com/wp-admin/link-add.php?action=popup&linkurl='+escape(location.href)+'&name='+escape(document.title),'LinkManager','scrollbars=yes,width=750,height=550,left=15,top=15,status=yes,resizable=yes'));linkmanpopup.focus();window.focus();linkmanpopup.focus();

Since I’ve been digging around a bit, I’ll note that Yannick Lefebvre’s Link Library plugin seems to have a similar sort of functionality to Links Manager and adds in the ability to add a variety of additional data fields including tags, which Ton Zijlstra mentions he would like (and I wouldn’t mind either). Unfortunately I’m not seeing any OPML functionality in the plugin, so it wins at doing display (with a huge variety of settings) for a stand-alone blogroll, but it may fail at the data portability for doing the additional OPML portion we’ve been looking at. Of course I’m happy to be corrected, but I don’t see anything in the documentation or a cursory glance at the code.

In the most ideal world, I’d love to be able to use the Post Kinds Plugin to create follow posts (see my examples). This plugin is already able to generally use bookmarklet functionality to pull in a variety of meta data using the Parse This code which is also built into Post Kinds.

It would be nice if these follow posts would also copy their data into the Links Manager (to keep things DRY), so that the blogroll and the OPML files are automatically updated all at once. (Barring Post Kinds transferring the data, it would be nice to have an improved bookmarklet for pulling data into the Links Manager piece directly.)

Naturally having the ability for these OPML files be readable/usable by Jack Jamieson’s forthcoming Yarns Microsub Server for WordPress (for use with social readers) would be phenomenal. (I believe there are already one or two OPML to h-feed converters for Microsub in the wild.) All of this would be a nice end -to-end solution for quickly and easily following people (or sites) with a variety of feeds and feed types (RSS, Atom, JSONfeed, h-feed).

An additional refinement of the blogroll display portion would be to have that page display as an h-feed of h-entries each including properly marked up h-cards with appropriate microformats and discoverable RSS feeds to make it easier for other sites to find and use that data. (This may be a more IndieWeb-based method of displaying such a page compared with the OPML spec.) I’ll also note that the Links Manager uses v1 of the OPML spec and it would potentially be nice to have an update on that as well for newer discovery tools/methods like Dave Winer’s Share Your OPML Subscription list, which I’m noting seems to be down/not functioning at the moment.

Quickly making watch posts on my website

I was reading about how Cathie LeBlanc sometimes felt overwhelmed about logging the movies she’d recently seen:

I have to be better about posting my movie “reviews” more quickly. I get overwhelmed thinking that I need to write something about the movie when really the whole point of me doing these reviews is just to record what movies I’ve seen. So this month, I’m writing very little about each of these viewings.

I always had this problem too and finding quick and easy ways of posting them before I forgot became part of the solution. I’m not sure I’ve fully documented what I’ve been doing, but it’s slowly changed over time, so I thought I’d take a moment to write down some of the faster methods I use or have used.

One can always use the WordPress mobile posting app, bookmarklets in conjunction with Post Kinds, or even posting via email, but it usually takes a few minutes and can distract from conversations and family/friends when they’re around. Generally I’m looking to immediately capture the title of the film/tv show, the date/time stamp, and maybe the location. Later on, when I’ve got a few extra minutes, I’ll come back and optionally add details/context like poster art, cast, crew, etc. and a mini review with a rating. The method you use will depend on what kind of display you want and how much detail you’d like. At the end of the day, do what works best for you.

Checkin Method

I’m a relatively avid user of the Swarm app (fka Foursquare), so I’ll often take a photo of the movie poster, ticket, theater/other while I’m at the theater and then quickly checkin on my phone. Swarm typically has some interface to indicate which movie I’m seeing when I check into movie theaters. Otherwise it’s pretty easy to manually type things in while I’m waiting for the show to start. Once the movie is over I can discretely can go back to the checkin and add a few quick comments and a rating without disturbing the rest of the party, otherwise I’ll revisit it later.

To get this all on my website I’ve set up the Micropub plugin and configured OwnYourSwarm (for public/private posting–you choose), and the service takes care of posting all the data for me as a checkin so that I don’t forget. In the end it’s usually less than 10 seconds, and I’ve got the data I need as it happens.

Traditional PESOS watch method using IFTTT

This alternate PESOS method can be done using popular services like IMDb.com or Letterboxd.com and relies on using RSS feeds from them to pipe content to my site using IFTTT.com. (Other silo services may be able to do this as well.) Most often I send the URLs of movies/tv shows of what I watch from IMDb to my Reading.am account which has an RSS feed to trigger IFTTT.com that, in turn, creates a draft post on my website. (If only IMDB.com had a usable RSS feed, I could skip the Reading.am account. Typically I’ll search for the movie on IMDb, share that from my browser to may email client and email it to a custom Reading.am email address that autoposts it to my Reading.am account.) Later I can peek in on it, add a mini-review and rating if I like, and publish publicly or not. Letterboxd can be used similarly, but it has the added benefit of having a rating system built in so it can send that data as well.

Hopefully they’ll resolve with a logged in account, so here are the two IFTTT.com recipes I’m using as reference:

(If you can’t access the recipes to recreate your own, let me know, and I’ll manually delineate all the relevant settings.)

Both methods will work without it, but I’m also using the Post Kinds plugin to create explicit watch posts which have a nice contextual presentation which I kind of like. It also has the ability to parse URLs to create the context quickly, so if you put in an IMDb or Letterboxd URL, it will fetch artwork, cast, description, etc. automatically and there’s no need to cut/paste.

Examples

To get some idea, here are some interesting examples of these methods.

If others have better/faster methods, I’d love to hear them or see them documented. Perhaps one day someone (or maybe even IMDb or Letterboxd) will build a custom Micropub client specifically for watch posts (something akin to Teacup for food/drink or Indiebookclub for reading) that will automatically poll the data related to a film/television title and post it to one’s site?

<details> tags, Fragment URLs, and the HTML spec

A few weeks ago I read a post by Jamie Tanna on Using <details> tags for HTML-only UI toggles.

I thought it was a pretty slick use of HTML to create some really simple and broadly useful UI.

Then earlier today I noticed that Jeremy Keith has recently switched to using this on his personal site in the comments section to provide toggles for his various webmention types including shares, likes, bookmarks, etc. But this is where I’m noticing a quirky UI issue that isn’t as web friendly as it could be. Jeremy and others (including myself own my own site) will often provide ID tags so that one can give permalinks to the individual comments using fragments of the form:

https://adactio.com/journal/15050#comment70567 or
https://adactio.com/journal/15050#comment71896

But here’s where the UI problem lies. The first fragment URL only resolves to the page instead of the specific bookmark hiding behind a  <details> tag whereas the second fragment URL resolves to the page and automatically scrolls down to a comment by DominoPivot. It does this in both Chrome and FireFox and I would presume operates similarly in other browsers.

I suspect that most users would expect/prefer that the fragment URL should automatically expand the <details> tag and scroll down the page to that ID  or fragment as well.

Perhaps Jamie, Jeremy, Tantek, Kevin or others may have some trickery to make this happen? Otherwise, do we need to start digging into specs and browsers to get them to better support this sort of fragment related functionality?  Perhaps it’s this section of the HTML spec, the URL of which has such a fragment and therefor scrolls down properly if you click on it? (Meta pun intended.)

Lurking, Twitter, The Commons, and Private Posts

Lurking

Yesterday I was catching up on chat logs and ran across a stub for lurking on the IndieWeb wiki. I cleaned up the formatting a bit and added some additional material. Later Ton Zijlstra dropped a link to his excellent article from 2004 on the topic: Lurking and Social Networks (though honestly, I first came by the link courtesy of our good friend Jeremy Cherfas who added it to the wiki page).

Lurking is the quiet watching/listening that what many people of the web do in chat rooms in order to begin gauging culture, learning jargon or lingo, and other community norms or unspoken principles before diving in to interact on a more direct level with other participants.

While the word lurking can have a very negative connotation, online it often has a much more positive one, especially in regard to the health and civility of the commons. Rather than rehash what Ton has done an excellent job of doing, I won’t go into the heavy details and history of online lurking, but instead, let’s take a look at where it isn’t in today’s social media landscape.

Twitter

Since 2004, Twitter and a slew of other social media has popped up on the scene and changed many of our prior behaviors concerning lurking. In particular, Twitter’s interface has made it far easier to either like/favorite a post or retweet it.

In comparison the the preceding era of the blogosphere represented by Tons’ post, Twitter has allowed people to send simple notifications back and forth about each others’ posts indicating a lower bar of interaction than writing a thoughtful and measured comment. Now instead of not knowing about dozens, hundreds, or thousands of lurkers, a (micro)blogger would more quickly know who many more of their readers were because they were liking or resharing their content. Naturally there are still many more potential lurkers who don’t interact with one’s posts this way, but these interactions in some way are like adding fuel to the fire and prompt the writer to continue posting because they’re getting some feedback that indicates they’ve got an audience. Twitter has dramatically lowered the bar for lurkers and made it more socially acceptable for them to make themselves known.

A mid-century imagining of a Twitter company sign on the side of a commercial building, but aged to the point that the sign is rusted, broken, and decaying from neglect
Twitter image from the collection Social Decay by Andrei Lacatsu

Of course, not all is rosy and happy in Twitterland as a result of this lowering the social bar. Because it’s so easy to follow almost anyone and interact with them, naturally everyone does. This means that while before one may have lurked a blog for weeks or months before posting a response of any sort, people are now regularly replying to complete strangers without an resistance whatsoever. While this can be valuable and helpful in many instances, oftentimes it comes off as rudely as if one butted into the private conversation of strangers at a public gathering. At the farther end of the spectrum, it’s also much easier for trolls to tag and target unsuspecting victims. As a result, we have the dumpster fire that Twitter has become in the past several years for many of its users.

The problem for the continued health of the commons is how can we maintain a bar for online lurking, but still provide some feedback? How can we keep people from shouting and yelling at passer-by from their proverbial front porches or vice-versa? How might we encourage more positive lurking online before directly jumping into a conversation? 

Read Posts and Private Posts

For several years now, as a part of the IndieWeb movement, I’ve been more directly controlling my online identity and owning my content by using my own domain name and my own website (boffosocko.com). While I still use Twitter, I’m generally only reading content from it via a feed reader. When I post to or interact with it, I’m always publishing my content on my own website first and syndicating a copy to Twitter for those who don’t own their online identities or content and (sadly) rely on Twitter to do that for them. 

Within this setting, since roughly late 2016, I’ve been posting almost all of what I read online or in books, magazines, or newspapers on my own website. These read posts include some context and are often simply composed of the title of the article, the author, the outlet, a summary/synopsis/or first paragraph or two to remind me what the piece was about, and occasionally a comment or two or ten I had on the piece.

screencapture of a read post on my website
An example read post with context from my website at https://boffosocko.com/2019/06/02/lurking-and-social-networks-ton-zijlstra/

In tandem with these posts, I’m also sending webmentions to the websites of those pieces. These (experimental) read webmentions are simply notifications to the originating site that I’ve read their piece. In our prior framing of lurking or Twitter, I’m sending them the simplest notification I can think of to say, “I’m here lurking. I’m reading or looking at your work.”

I’m not saying that I liked it, favorited it, disliked it, bookmarked it, commented on it,  or anything else, but simply that I read it, I consumed it, I spent the time to interact with it. But in contrast with Ton’s older method of looking at server logs to see what kind of traffic his posts are getting, he can see exactly who I am and visit my website in return if he chooses. (Ton’s old method of sifting through those logs was certainly not a fun experience and the data was usually relatively anonymous and useless.) These newer read notifications could potentially give him a much richer idea of who his (lurking) audience actually is. Then when someone shows up with a comment or reply, it’s not completely from out of the dark: they’ve previously indicated that they’re at least somewhat aware of the context of a potentially broader conversation on his site.

These read notifications are semantically different from likes, favorites, or even bookmarks on other platforms. In fact many platforms like Twitter, which has moved from “stars” (with the semantic idea of a favorite) to “hearts” (with the semantic idea of a like), have so few indicators of reaction to a post that the actual meaning of them has been desperately blurred. Personally I’ll use Twitter’s like functionality variously to mean: “I’m bookmarking this (or the linked article within it) for reading later”, “I like this post”, “I’ve read this post”, or even “I’m acknowledging receipt of your reply to me”. That’s just too much meaning to pack into a silly little heart icon.

Because I’m using my own website over which I have complete control, I can make it do a better job of unpacking some of this semantic tom-foolery. I’ve written about it a bit in the past if you care to see some of the details: Thoughts on linkblogs, bookmarks, reads, likes, favorites, follows, and related links. See also: the read-posts tag on this site.

If they choose, some website owners display these read post notifications in one or more ways. Some sites like Aaron Parecki’s or Jeremy Keith’s will show my interactions as bookmarks. Others, primarily WordPress-based websites that support Webmention (via plugin), will actually show these interactions in their comment sections under the heading “Read” and display my photo/avatar as an indicator that I’ve interacted with that post. In the case of read posts on which I’ve written one or more comments, the receiving site also has the option of showing my interaction not as a read/bookmark intent, but could also show my comments as a reply to their post. I’ve written a bit about this and its potential for large news outlets before in Webmentions: Enabling Better Communication on the Internet for A List Apart. There are also some older legacy sites that might show my interactions as a trackback or pingback, but these seem few and far between these days, particularly as those systems are major targets for spam and the Webmention protocol has a richer interaction/display model.

screencaputure showing how Jeremy Keith displays my read post as a bookmark. The relevant section reads: "# Bookmarked by Chris Aldrich on Thursday, April 11th, 2019 at 1:31pm"
How Jeremy Keith displays shares, likes, and bookmarks (including my read post) in the comment section of his website.
Facepiled Likes, Reads, and Mentions in the comment section of the online newspaper with a heading "Reading" under which appears an avatar indicating one person has read the article.
The display of a read post on ColoradoBoulevard.net

A new itch

But as I think about these read posts, lurking, and being more civil on the internet, I have a new itch for some functionality I’d like to add to my website. I very frequently use my website as a digital commonplace book to collect links of things I’ve read, watched, and listened to. I’ll collect quotes, highlights, and even my own marginalia. As I mentioned above, my read posts sometimes have comments, and quite often those comments are really meant just for me and not for the author of the original post. In many cases, when my comments may be too egregious, sensitive, or perhaps even insulting to the original author, I’ll make these posts private so that only I can see them on my site.  Of course when they’re private, no notifications are sent to the site at the other end of the line.

Sometimes I would like to be able to send a read notification to the site, but also keep my commentary privately to myself. This allows me to have my notes on the piece and be highly critical without dragging down the original author or piece who I may not know well or the audience of that same piece which I haven’t properly lurked (in the positive community-based sense indicated above) to be as intelligently and sensitively commenting as I would otherwise like. Thus I’d like to build in some functionality so that I can publicly indicate I’ve read a piece (and send a notification), but also so that I can keep the commentary on my read private to either myself or a smaller audience.

I suspect that I can do this in a variety of meta-fields on my website which aren’t shown to the public, but which might be shown to either myself or logged in users. In some sense, this is a subset of functionality which many in the IndieWeb have been exploring recently around the ideas of private posts or by limiting the audience of a post. In my case, I’m actually looking at making a post public, but making smaller sub-portions of it private.

To begin with, I’ll most likely be looking at doing this at a small scale just for myself and my commonplace book, as I can definitely see second and third-order effects and a variety of context collapse issues when portions of posts are private, but others who may be privy to them are commenting on those pieces from the perspective of their public spheres which may not be as private or closed off as mine. i.e.: While I may have something marked as private, privy readers will always have the option of copy/pasting it and dragging it out into the public.

For those interested, I’ll briefly note that Sebastiaan Andeweg just wrote Private posts: the move of the checkins which has some useful and related background to private posts. (Of course I remember exactly when I read it.) I also highly suspect there will be a private posts related session(s) at the upcoming IndieWeb Summit in Portland in June (tickets are still available). I’m interested to see what others come up with on this front.

An Invitation to IndieWeb Summit 2019

Fellow educators, teachers, specialists, instructional designers, web designers, Domains proponents, programmers, developers, students, web tinkerers, etc.,

  • Want to expand the capabilities of what your own domain is capable of?
  • Interested in improving the tools available on the open web?
  • Want to help make simpler, ethical digital pedagogy a reality in a way that students and teachers can implement themselves without relying on predatory third-party platforms?
  • Are you looking to use your online commonplace book as an active hub for your research, writing, and scholarship?

Bring your ideas and passions to help us all brainstorm, ruminate, and then with help actually design and build the version of the web we all want and need–one that reflects our values and desires for the future.

I’d like to invite you all to the 9th Annual IndieWeb Summit in Portland, Oregon, USA on June 29-30, 2019. It follows a traditional BarCamp style format, so the conference is only as good as the attendees and the ideas they bring with them, and since everyone is encouraged to actively participate, it also means that everyone is sure to get something interesting and valuable out of the experience.

We need more educators, thinkers, and tinkerers to begin designing and building the ethical , , and interactive pedagogy systems we all want.

Come and propose a session on a topic you’re interested in exploring and building toward with a group of like-minded people.

While on-site attendance can be exciting and invigorating for those who can come in person, streaming video and online tools should be available to make useful and worthwhile virtual attendance of all the talks, sessions, and even collaborative build time a real possibility as well. I’ll also note that travel assistance is also available for the Summit if you’d like to apply for it, or you’re able to donate funds to help others.

I hope you can all attend, and I encourage you to invite along friends, students, and colleagues.  

I heartily encourage those who don’t yet have a domain of their own to join in the fun. You’ll find lots of help and encouragement at camp and within the IndieWeb community so that even if you currently think you don’t have any skills, you can put together the resources to get something up and working before the Summit’s weekend is over. We’re also around nearly 24/7 in online chat to continue that support and encouragement both before and after the event so you can continue iterating on things you’d like to have working on your personal website.

Never been to an IndieWebCamp? Click through for some details about what to expect. Still not sure? feel free to touch base in any way that feels comfortable for you. 

Register today: https://2019.indieweb.org/summit#register

👤 @kfitz @holden @btopro @actualham @Downes @bali_maha @timmmmyboy @dr_jdean @cogdog @xolotl @cathieleblanc @BryanAlexander @hibbittsdesign @greeneterry @judell @CathyNDavidson @krisshaffer @readywriting @dancohen @wiobyrne @brumface @MorrisPelzel @econproph @mburtis @floatingtim @ralphbeliveau @ltaub @laurapasquini @amichaelberman @ken_bauer @TaylorJadin @courosa @nlafferty @KayOddone @OnlineCrsLady @opencontent @davecormier @edtechfactotum @daveymoloney @remikalir @jgmac1106 @MiaZamoraPhD @digpedlab @catherinecronin @HybridPed @jimgroom @rboren @cplong @anarchivist @edublogs @jasonpriem @meredithfierro @Autumm @grantpotter @daniellynds @sundilu @OERConf @fncll @jbj @Jessifer @AneliseHShrout @karencang @kmapesy @harmonygritz @slzemke @KeeganSLW @researchremix @JohnStewartPhD @villaronrubia @kreshleman @raynamharris @jessreingold @mattmaldre

Idea for a spaced repetition user interface for Hypothes.is

While I’m thinking about younger students, I thought I’d sketch out a bit of an add-on product that I wish Hypothes.is had.

Background/Set up

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?

The Pitch

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…

WPCampus 2019 Draft Proposal: Dramatically extending a Domain of One’s Own with IndieWeb technology

Below is a draft proposal which I’m submitting for a possible upcoming talk at WPCampus from July 25-27, 2019 in Portland, OR. If you don’t have the patience and can’t wait for the details, feel free to reach out and touch base. I’m happy to walk people through it all before then. If you’re looking for other upcoming events or need help, check out any of the upcoming Homebrew Website Clubs, IndieWebCamps, the IndieWeb Summit 2019, or even Domains2019.

Session Title

Dramatically extending a Domain of One’s Own with IndieWeb technology: How to improve your online research notebooks, commonplace books, and digital pedagogy

Session description

(This description will be edited and used on the website. Please include 1-2 paragraphs and a list of key takeaways for the audience.)

Having a Domain of One’s Own and using it as a “thought space” to own your online identity and work is just the tip of the iceberg. Can you imagine how useful it would be if you could use your Twitter account to reply to someone on Facebook (without needing a Facebook account) or vice versa? Open web technology from the IndieWeb movement that utilizes simple plugins, modules, or even built-in functionality now exists so that people can now use WordPress, Drupal, WithKnown, Grav and many other content management systems on any domain name to have rich site-to-site communications in a simple and intuitive way. Third party (and often unethical) corporate platforms are no longer needed to have rich interactions between scholars on the web.

It is now easily possible to have a teacher write a post on their own website and their students to easily reply/react to that post on their own websites (along with a useful reply context) and send that reply to the teacher’s website for possible display. Each participant can now own a copy of both sides of the conversation.

  • Teachers and students will learn how to (individually or together) collect, analyze, write, collaborate, and interact easily online while doing so in a space they own and control without giving away their data to third party platforms.
  • Researchers can now easily bookmark, highlight, or annotate portions of the web and keep this data (public/private) on their own website (aka digital commonplace book or notebook) for future reference or use.
  • We’ll show how courseware can be decentralized so that the instructor and the students each own their own pieces of the learning processes and can keep them for as long as they wish.
  • We will demonstrate how one can use their WordPress-based website with a few simple plugins to own all of the traditional social media types (bookmarks, items read, highlights, annotations, comments/replies, photos, status updates, audio, checkins, etc.) on their own site while still allowing interacting (if desired) with other websites as well as in social spaces like Twitter, Instagram, Swarm, etc.
  • We will demonstrate a new generation of free feed readers that allow composing in-line responses and reactions that post them directly to one’s own website as well as send notification to the site being read and interacted with.

You can now have the joy of a Domain of Your Own and still easily interact just as if your site were a (better-than) first class social media platform.

More Information About Your Session

(Please describe your session in greater detail for the organizers. You may be more casual in this description as it will not be posted on the website.)

In some sense, this session will be a crash course on using IndieWeb technologies and building-blocks with WordPress in the Education space. I’ll aim to remove a lot of technical jargon and keep coding examples to a bare minimum (if using any at all) so that those with the technical ceiling of downloading and installing a plugin can immediately benefit from the talk. I will also provide enough pointers and describe the broad outlines that developers will have a broad overview of the IndieWeb space to find and extend these plugins and functionality if they wish.

I’ll be covering the basics of new W3C recommendations like Webmention, Micropub, and WebSub along with forthcoming specs like Microsub in combination with IndieAuth (a version of OAuth2 for login). I’ll show how they can be applied to personal websites in research, teaching, collaboration, and other educational domains like creating Open Educational Resources. Many of these can be easily implemented in WordPress with just a handful of simple plugins that allow the web to become the social media platform we all wish it would be.

I’ll use examples from my own personal website and several others (which use Drupal, WithKnown, Grav, etc.) to show how these plugins can be used in educational settings and will walk through a case study of a course built using DoOO and IndieWeb philosophies and technologies (EDU 522: Digital Teaching and Learning at Southern Connecticut State University) on which I collaborated with Dr. Gregory McVerry.

IndieWeb Book Club: Ruined By Design

Some of us have thought about doing it before, but perhaps just jumping into the water and trying it out may be the best way to begin designing, testing, and building a true online IndieWeb Book Club.

Ruined By Design

Title and author on a white background at the top with a red filtered view of an atomic mushroom cloud explosion on the Bikini atoll in the Pacific Ocean

Earlier this week I saw a notice about an upcoming local event for Mike Monteiro‘s new book Ruined by Design: How Designers Destroyed the World, and What We Can Do to Fix It (Mule Books, March 2019, ISBN: 978-1090532084). Given the IndieWeb’s focus on design which is built into several of their principles, I thought this looked like a good choice for kicking off such an IndieWeb Book Club.

Here’s the description of the book from the publisher:

The world is working exactly as designed. The combustion engine which is destroying our planet’s atmosphere and rapidly making it inhospitable is working exactly as we designed it. Guns, which lead to so much death, work exactly as they’re designed to work. And every time we “improve” their design, they get better at killing. Facebook’s privacy settings, which have outed gay teens to their conservative parents, are working exactly as designed. Their “real names” initiative, which makes it easier for stalkers to re-find their victims, is working exactly as designed. Twitter’s toxicity and lack of civil discourse is working exactly as it’s designed to work.The world is working exactly as designed. And it’s not working very well. Which means we need to do a better job of designing it. Design is a craft with an amazing amount of power. The power to choose. The power to influence. As designers, we need to see ourselves as gatekeepers of what we are bringing into the world, and what we choose not to bring into the world. Design is a craft with responsibility. The responsibility to help create a better world for all. Design is also a craft with a lot of blood on its hands. Every cigarette ad is on us. Every gun is on us. Every ballot that a voter cannot understand is on us. Every time social network’s interface allows a stalker to find their victim, that’s on us. The monsters we unleash into the world will carry your name. This book will make you see that design is a political act. What we choose to design is a political act. Who we choose to work for is a political act. Who we choose to work with is a political act. And, most importantly, the people we’ve excluded from these decisions is the biggest (and stupidest) political act we’ve made as a society.If you’re a designer, this book might make you angry. It should make you angry. But it will also give you the tools you need to make better decisions. You will learn how to evaluate the potential benefits and harm of what you’re working on. You’ll learn how to present your concerns. You’ll learn the importance of building and working with diverse teams who can approach problems from multiple points-of-view. You’ll learn how to make a case using data and good storytelling. You’ll learn to say NO in a way that’ll make people listen. But mostly, this book will fill you with the confidence to do the job the way you always wanted to be able to do it. This book will help you understand your responsibilities.

I suspect that this book will be of particular interest to those in the IndieWeb, A Domain of One’s Own, the EdTech space (and OER), and really just about anyone.

How to participate

I’m open to other potential guidelines and thoughts since this is incredibly experimental at best, but I thought I’d lay out the following broad ideas for how we can generally run the book club and everyone can keep track of the pieces online. Feel free to add your thoughts as responses to this post or add them to the IndieWeb wiki’s page https://indieweb.org/IndieWeb_Book_Club.

  • Buy the book or get a copy from your local bookstore
  • Read it along with the group
  • Post your progress, thoughts, replies/comments, highlights, annotations, reactions, quotes, related bookmarks, podcast or microcast episodes, etc. about the book on your own website on your own domain. If your site doesn’t support any of these natively, just do your best and post simple notes that you can share. In the end, this is about the content and the discussion first and the technology second, but feel free to let it encourage you to improve your own site for doing these things along the way.
    • Folks can also post on other websites and platforms if they must, but that sort of defeats some of the purpose of the Indie idea, right?
  • Syndicate your thoughts to indieweb.xyz to the stub indieweb.xyz/en/bookclub/ as the primary location for keeping track of our conversation. Directions for doing this can be found at https://indieweb.xyz/howto/en.
  • Optionally syndicate them to other services like Twitter, Facebook, Instagram, LinkedIn, etc.
  • Optionally mention this original post, and my website will also aggregate the comments via webmention to the comment section below.
  • At regular intervals, check in on the conversations linked on indieweb.xyz/en/bookclub/ and post your replies and reactions about them on your own site.

If your site doesn’t support sending/receiving webmentions (a special type of open web notifications), take a look at Aaron Parecki’s post Sending your first Webmention and keep in mind that you can manually force webmentions with services like Telegraph or Mention-Tech

I’ll also try to keep track of entries I’m aware about on my own site as read or bookmark posts which I’ll tag with (ostensibly for IndieWeb Book Club Mike Monteiro), which we can also use on other social silos for keeping track of the conversation there.

Perhaps as we move along, I’ll look into creating a planet for the club as well as aggregating OPML files of those who create custom feeds for their posts. If I do this it will only be to supplement the aggregation of posts at the stub on indieweb.xyz which should serve as the primary hub for the club’s conversation.

If you haven’t run across it yet you can also use gRegor Morrill‘s IndieBookClub.biz tool in the process. 

If you don’t already have your own website or domain to participate, feel free to join in on other portions of social media, but perhaps consider jumping into the IndieWeb chat to ask about how to get started to better own your online identity and content. 

If you need help putting together your own site, there are many of us out here who can help get you started. I might also recommend using micro.blog which is an inexpensive and simple way to have your own website. I know that Manton Reece has already purchased a copy of the book himself. I hope that he and the rest of the micro.blog community will participate  along with us.

If you feel technically challenged, please ping me about your content and participation, and I’m happy to help aggregate your posts to the indieweb.xyz hub on your behalf. Ideally a panoply of people participating on a variety of technical levels and platforms will help us create a better book club (and a better web) for the future.

Of course, if you feel the itch to build pieces of infrastructure into your own website for improved participation, dive right in. Feel free to document what you’re doing both your own website and the IndieWeb wiki so others can take advantage of what you’ve come up with. Also feel free to join in on upcoming Homebrew Website Clubs (either local or virtual) or IndieWebCamps to continue brainstorming and iterating in those spaces as well.

Kickoff and Timeline

I’m syndicating this post to IndieNews for inclusion into next week’s IndieWeb newsletter which will serve as a kickoff notice. That will give folks time to acquire a copy of the book and start reading it. Of course this doesn’t mean that you couldn’t start today.

Share and repost this article with anyone you think might enjoy participating in the meanwhile.

I’ll start reading and take a stab at laying out a rough schedule. If you’re interested in participating, do let me know; we can try to mold the pace to those who actively want to participate.

I’ve already acquired a copy of the book and look forward to reading it along with you.

📅 Virtual Homebrew Website Club Meetup on May 15, 2019

Are you building your own website? Indie reader? Personal publishing web app? Or some other digital magic-cloud proxy? If so, come on by and join a gathering of people with like-minded interests. Bring your friends who want to start a personal web site. Exchange information, swap ideas, talk shop, help work on a project…

Everyone of every level is welcome to participate! Don’t have a domain yet? Come along and someone can help you get started and provide resources for creating the site you’ve always wanted.

This virtual HWC meeting is for site builders who either can’t make a regular in-person meeting or don’t yet have critical mass to host one in their area. It will be hosted on Google Hangouts.

More Details

Join a community of like-minded people building and improving their personal websites. Invite friends that want a personal site.

  • Work with others to help motivate yourself to create the site you’ve always wanted to have.
  • Ask questions about things you may be stuck on–don’t let stumbling blocks get in the way of having the site you’d like to have.
  • Finish that website feature or blog post you’ve been working on
  • Burn down that old website and build something from scratch
  • Share what you’ve gotten working
  • Demos of recent breakthroughs

Skill levels: Beginner, Intermediate, Advanced

Any questions? Need help? Need more information? Ask in chat: https://chat.indieweb.org/indieweb/

RSVP

Add your optional RSVP in the comments below; by adding your indie RSVP via webmention to this post; or by RSVPing to one of the syndicated posts below:
Indieweb.org event: https://indieweb.org/events/2019-05-15-homebrew-website-club#Virtual_Americas_West
Twitter “event”: https://twitter.com/ChrisAldrich/status/1122956290756530176
Meetup.com: https://www.meetup.com/IndieWeb-Homebrew-Website-Club-Los-Angeles/events/261026321/

Thoughts about Southern California WordCamps

I was at the awesome WordPress Orange County all day yesterday and attended remotely via live stream for portions of today.

While I was there, my gut feeling after looking at the rest of this year’s calendar was confirmed. I heard from several people that WordCamp Los Angeles and WordCamp San Diego aren’t being planned for this year as they typically would be. Naturally I’m distraught at the thought, but I’m also wondering if part of the reason is that there are several smaller nearby regional camps that have popped up over the past year? Some of these newer camps include WordCamp Riverside, WordCamp Santa Clarita, and the upcoming WordCamp Long Beach.

This trend can be an interesting one in large part because it means that the community is growing in size and sophistication as well as leadership to be able to sustain these new area camps. It’s good to have been able to have gone to two camps within driving distance in the last two months and also know that there are two more camps within that same distance before the end of the year. Instead of having one or two major camps nearby, I’ve now got twice the amount.

Of course, with all the extra awesomeness that this provides, I also wonder about the ideas of community cohesion, leadership, continuity, and even burnout. Should we have better regional conversations about these camps, their timing, and their content? Are we possibly spreading ourselves too thin? Is there enough leadership and continuity to continue all these individual camps on an annual basis for the next 5 years? Are the benches deep enough that we’re not working toward burning ourselves (and our volunteer base) out? Would it be better to have a little less? Should we alternate having bigger camps in LA and San Diego with the smaller ones in nearby cities? What does that look like? Are we thinking about longer term sustainability?

I’m mulling over the idea of spearheading either a WordCamp Los Angeles, to keep the central continuity, but I’m also wondering about doing something like that with a slightly smaller Pasadena Camp. I also started a discussion yesterday about doing a kids’ WordCamp in the LA area when I found out that there is already some organization and institutional support for these in other cities. And of course this all comes with my pre-existing plans for doing a local area IndieWebCamp sometime within the next calendar year. All of these ideas are appealing to me, but I only have a finite amount of time for planning and executing them.

In the coming weeks, I’d like to reach out and touch base with all of these nearby camps to hear other’s ideas on the topic and their long term plans to see what the best way forward might look like. Has the central organization run across these rapid growth problems in other metropolitan areas in the past? What was were the near-term and longer-term results? Without some additional data, I feel like I’m operating in a bit of a vacuum. Is it possible that as a major market city that the LA area is the first to see potential effects like I’ve described?

This post mostly serves as an informal dump of some preliminary ideas and potential concerns for the future; I’d welcome ideas and additional thoughts.

A Modest Proposal Review

Will you look at this?! Twitter has recreated the WordPress Gutenberg editor interface into their web product. Currently it only has a few blocks for text, photos, gifs, video, embeds, and polls, but it’s not completely horrible and it’s relatively fast and convenient.

The Gutenberg editor in WordPress:

The title of the pending post is "Hello to the New Editor"
Screen capture of the new Gutenberg interface

In fact it appears that they’ve pared the editor down substantially. A few more tweaks and it might be as clean as the Medium editor experience.

Want to add a video, just drop a youtube link:

Want to embed a blog post from somewhere else? Add the link in your tweet and get a spiffy Twitter Card (just like oEmbed!)

An Introduction to the IndieWeb

I can see people getting awfully tired of clicking that “plus” button interminably though. Maybe if the interface could algorithmically choose where to break text the same way it determines what tweets I’m going to see?

Now they just need an edit button and they’ve got a “real” blogging experience, but one that’s editable in tiny 280 character chunks. Who has the attention span for more content than this anyway?

I can already tell that newspapers and magazines are going to love this. Just imagine the ease of doing shareable pull quotes this way?!

I can see journalistic institutions rebuilding their entire platforms on Twitter already!

Old CMS -> Tumblr -> Medium -> Twitter!

What is your favorite editing experience?

  • The Tweetstorm-o-matic
  • WordPress’ Gutenberg
  • WordPress Classic Editor
  • Medium

Uh oh! I’m noticing that they’ve neglected to put a block in for a title area. Maybe we could just do a really short tweet up at the top of the thread instead? If only we could drag and drop tweets to reorder them? At least you can add new tweets into the middle of the stream.

Besides, who’s going to read anything but the headline tweet anyway. No one is ever going to read this far into a tweetstorm. Maybe a blog post where they at least know what they’re getting into, but never a 20+ card tweetstorm.

And would you look at that? They almost jumped ahead of Medium on inline annotations by allowing people to reply to very specific pieces of the text. I’m kind of disappointed that they don’t have the pretty green highlighter colors though.

Screencapture from Medium.com with an example of an inline response.
An inline annotation on the text “Hey Ev, what about mentions?” in which Medium began to roll out their @mention functionality.

Now if only I could register a custom domain on their service and have control over the CSS, Twitter could be a first class open web CMS.

#​I​CanOnlyDream

*Sigh* I suppose until then I’ll just stick with my humble little website that allows me to own and control my own data on my own domain name and communicate with others using simple web standards.

#​​IndieWebForever