This one has a little car. Say, what a lot of categories there are!
This one has a little car. Say, what a lot of categories there are!
I would add some caution to some of his methods as he suggests using WordPress’s embed capabilities by using raw URLs to services like Twitter. While this can be a reasonable short term solution and the output looks nice, if the original tweet or content at that URL is deleted (or Twitter shuts down and 86s it the same way Storify has just done), then you’re out of luck again!
Better than relying on the auto-embed handled by WordPress, actually copy the entire embed from Twitter to capture the text and content from the original.
There’s a big difference in the following two pieces of data:
<blockquote class="twitter-tweet" data-lang="en">
<p dir="ltr" lang="en">I hope <a href="https://twitter.com/Storify?ref_src=twsrc%5Etfw">@storify</a> will follow the example set by <a href="https://twitter.com/dougkaye?ref_src=twsrc%5Etfw">@dougkaye</a> when he shut down ITConversations: <a href="https://t.co/oBTWmR5M3A">https://t.co/oBTWmR5M3A</a>.</p>
My shows there are now preserved (<a href="https://t.co/IuIUMvMXi3">https://t.co/IuIUMvMXi3</a>) in a way that none of my magazine writing was.
— Jon Udell (@judell) <a href="https://twitter.com/judell/status/940973536675471360?ref_src=twsrc%5Etfw">December 13, 2017</a>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8">
While WordPress ostensibly displays them the same, one will work as long as Twitter lives, and the other lives as long as your own site lives and actually maintains the original content.
Now there are certainly bigger issues for saving video content this way from places like YouTube given copyright issues as well as bandwidth and other technical concerns. In these cases, perhaps embedding the URLs only within WordPress is the way to go. But keep in mind what it is you’re actually copying/archiving when you use the method he discusses.
Incidentally, I use both Broken Link Checker and Post Archival in the Internet Archive plugins to save a copy of content as well as to help fix broken links on my site when services or sites go down unexpectedly.
Those who are interested in better saving/archiving their content might appreciate the following links/resources:
Side note: I prefer the closer Yiddish spelling of bupkis. It is however a great term for what you often end up receiving from social silos that provide you with services that you can usually pretty easily maintain yourself.
The best part is that it not only organically threads your tweets together into one continuing conversation, but it also gives you a modified output including the appropriate HTML and microformats classes so that you can cut and paste the entire thread and simply dump it into your favorite CMS and publish it as a standard blog post. (It also strips out the hashtags and repeated speaker references in a nice way.) With a small modification, you can also get your site to add hovercards to your post as well. I’ll also note in passing that it’s also been recently updated to support the longer 280 characters too.
The canonical version I use as an example of what this all looks like is this post: Notes from Day 1 of Dodging the Memory Hole: Saving Online News | Thursday, October 13, 2016.
Another shorter tweetstorm which also has u-syndication links for all of the individual tweets can be found at Indieweb and Education Tweetstorm. This one has the benefit of pulling in all the resultant conversations around my tweetstorm with backfeed from Brid.gy, though they’re not necessarily threaded properly in the comments the way I would ultimately like. As you mention in the last paragraph that having the links to the syndicated copies would be useful, I’ll note that I’ve already submitted it as an issue to Noter Live’s GitHub repo. In some sense, the entire Twitter thread is connected, so having the original tweet URL gives you most of the context, though it isn’t enough for all of the back feed by common methods (Webmentions+Brid.gy) presently.
I’ll also note that I’ve recently heard from a reputable source about a WordPress specific tool called Publishiza that may be useful in this way, but I’ve not had the chance to play with it yet myself.
Clearly, you can embed Tweets, often by adding the URL. However, there are more and more people deleting their Tweets and if you embed something that is deleted, this content is then lost. (Not sure where this leaves Storify etc.)
It’s interesting that you ask where this leaves Storify, because literally as I was reading your piece, I got a pop-up notification announcing that Storify was going to be shut down altogether!! (It sounds to me like you may have been unaware when you wrote your note. So Storify and those using it are in more dire circumstances than you had imagined.)
Storify announces it will disappear from the web on May 16, 2018. Once a core part of social-focused journalism projects like @acarvin‘s work, it’s larger archives and URLs will be gone. https://t.co/9KhEYCbX2e
— Aram Zucker-Scharff (@Chronotope) December 12, 2017
It’s yet another reason in a very long list why one needs to have and own their own digital presence.
As for people deleting their tweets, I’ll note that by doing a full embed (instead of just using a URL) from Twitter to WordPress (or using Noter Live), that the original text is preserved so that even if the original is deleted, a full archival copy of the original still exists.
Also somewhat related in flavor for the mechanism you’re discussing, I also often use Hypothesis to comment on, highlight, and annotate on web pages for academic/research uses. To save these annotations, I’ll add hashtags to the annotations within Hypothesis and then use Kris Shaffer’s excellent Hypothesis Aggregator plugin to parse the data and pull it in the specific parts I want. Though here again, either Hypothesis as a service or the plugin itself may ultimately fail, so I will copy/paste the raw HTML from its output to post onto my site for future safekeeping. In some sense I’m using the plugin as a simple tool to make the transcription and data transport much easier/quicker.
I hope these tips make it easier for you and others to better collect your content and display it for later consumption and archival use.
The premise is that many creators already have their own websites/platforms for promoting or featuring their work. In some sense Patreon is only bringing a payment gateway (and apparently not a great one) as their sole feature. The conversation within the session was geared toward attempting to make it easier and simpler for creators to not only host their own work, but to accept payments and recurring payments directly. Some of the discussion was geared at making the payments systems seamless so that one could move them from one platform to another without losing hard won supporters and needing to start over again.
While we’re still in the very early days for improving the technology for this, hopefully some of the demos coming out of the camp later today will move the ball forward. Those should be posted on the IndieWeb YouTube channel later today as well.
For those looking for alternates (and particularly when they’ve already got their own websites), I suspect it’ll definitely be worth a look. Alternate platforms and methods were certainly discussed. The means of control for creators to inexpensively keep all of their workflow in-house is very near.
The indiewebify.me site has a parser that is looking at the two sites to see that they not only point at each other, but it requires that the two links have the rel=”me” microformat on them. Most don’t, but this doesn’t mean too much in practice. Whether or not they both have rel=”me”, the only way both sites could point at each other indicates that you “own” or control them both. Kevin marks has proposed/built an interesting decentralized verification service based on them. His version is certainly much better distributed than Twitter’s broken verification set up.
Other than having a stronger two-way ownership indicator, what do you get out of them? As you mention, some have the ability to be used with IndieAuth. Those that can be used with IndieAuth are relying on the service (like Twitter or Github) having a OAuth implementation for signing into their services. This allows an indie site to piggyback on another services’ OAuth implementation without having to go through the trouble to build one themselves, which can be a lot of work to do, much less do correctly (securely). Most of the services you see not linking back not only don’t add the rel=”me” tag, but they also don’t support OAuth, so you wouldn’t get too much more out of having the correct reciprocal link anyway.
Incidentally, one of the benefits the rel=”me” links do have is that they allow you to use your website to log into the IndieWeb wiki to participate directly in that part of the community. (Give it a try!)
Some services like Brid.gy get around services like Instagram or Facebook not having a physical rel=”me” microformat because they’re relying on looking at the appropriate data (usually via API) on your profile page to see if it links back (either in your website field or typically in your bio).
Don’t be overly concerned that the vast majority of sites appear not to link back even if you’ve got links on both pointing back. (And if you think your batting average is bad with only 4 of 43, just imagine how many of my 200+ sites do?!)
Some of these building blocks will likely add a lot more value later on as more and more sites explicitly indicate their relationship to and from each other.
There are actually three problems to solve, reading, which is relatively easy, posting, which is harder, and social graph management, which is quite complex.
I might submit that posting is possibly the easiest of the three and that the reader problem is the most difficult. This is based on the tremendous number of platforms and CMSs on which one can post, but the dearth of feed readers in existence.
Managing your social graph
Something akin to a following list could help this. Or a modified version of OPML subscription lists could work. They just need to be opened up a tad. Some are working on the idea of an open microsub spec which could be transformative as well: https://indieweb.org/Microsub-spec
How do we decentralize the web without so decentralizing our own social presence that it becomes unmanageable?
You’ve already got a huge headstart in doing this with your own website. Why bother to have thousands of accounts (trust me when I say this) when you could have one? Then, as you suggest, password protected RSS (or other) feeds out to others could allow you to control which audiences get to see which content on your own site.
It looks as if Withknown has made some progress in this area with syndication plugins.
WordPress has lots of ways to syndicate content too. Ideally if everyone had their own website as a central hub, the idea of syndication would ultimately die out altogether. At best syndication is really just a stopgap until that point.
Subscribing to my personal timeline(s) with my favorite RSS reader would bring everything together,
I’ve written some thoughts about how feed readers could continue to evolve for the open web here: http://boffosocko.com/2017/06/09/how-feed-readers-can-grow-market-share-and-take-over-social-media/
listed items chronologically independent of source
Having a variety of ways to chop and dice up content are really required. We need more means of filtering content, not less. I know many who have given up on chronological feed reading. While it can be nice, there are many other useful means as well.
I’m glad to hear about Scalar and look forward to checking it out myself. I’m a bit surprised you hadn’t heard about Omeka. Their main site has some great examples of it in use which might help your investigations for examples. I recall seeing some interesting map-related projects by Anelise Shrout that used Omeka which you might appreciate for their interactivity.
Since you’ve got several sites on WordPress, you might appreciate potentially using it to provide some of the functionality you’re discussing.
For pop-ups on references you might appreciate the Academic Bloggers Toolkit plugin.
For highlights and potential feedback, you might take a look at Hypothesis which is an interesting highlighting and annotation tool. It allows private groups which a writer might share with an advising committee or even provide for public facing markup and sharing. There are available WordPress plugins for expanding functionality on one’s site, though the tool is a free-standing one.
I suspect that if you look around the plugin repositories for WordPress and Omeka, you’ll see a variety of plugins that can extend the functionality to do some of the things you’re interested in executing.
As the IndieWeb continues onward, part of the underlying foundation is that “Each generation is expected to lower barriers for adoption successively for the next generation.” – from the Generations page on the IndieWeb Wiki.
To date, the majority of people in the movement are developers or programmers by trade, but increasingly there are people from generation 2, 3, and even many from generation 4 who are starting to take a look at what is now possible on the web that wasn’t just ten, twenty, or even thirty-six months ago. Many are not only just looking, but, like you, are spending the time, effort, and energy to implement what they’re able to and simultaneously spreading the word to larger circles.
As someone who personally identifies as being on the border of generations 1 and 2, I’m finding more and more people seeing what is happening and wanting the fruits and benefits of these tools for themselves. It’s the raw value they find in these methods and processes that spur them on even when they find themselves in deeper waters than they may have expected. Fortunately there are a large number of giving and helpful developers in the generation 1 crowd who are watching and listening to those coming after them. They’re taking up the mantle to not only improve things for just themselves, but to improve things for their fellow netizens.
All of this to say that there is currently a slow reworking and refining of material that’s on the wiki. It was only just earlier this week that a self-identifying fourth generation member asked about the word POSSE, which many would rightly consider jargon, and inquired about its relation to the more commonly known term of “cross-posting“. Surprisingly, cross-posting didn’t really exist on the wiki yet, but it was quickly added, and then later expanded to bring the ideas of POSSE, PESOS, PESETAS, and PASTA within it and then tied into the broader idea of syndication.
Your questions about h-card are very similar. Yes, the wiki page on the idea is certainly very generation 1 specific and perhaps a bit over-burdened by jargon. While I don’t think the concept of microformats is very difficult, I also realize that saying that is the result of having spent no less than ten hours reading about it, looking at examples, and implementing pieces of it by hand myself. So how can we make it simpler and easier for the next generation? The page needs a bit of overhaul and work for the next generations. Some of this is my goal in writing an IndieWeb book, though it’s geared toward an audience that is less likely to get their information from a wiki or contribute back to one in practice.
While h-card is a specific type of microformat, in practice most instances of it on the wiki are really referring to an object on a webpage that conveys identity. I’d suggest that it’s far easier to look at an h-card as an online version of a business card that contains some basic information about a person (or even a business or other entitiy) online. It has things like their name, their address, their email, their phone number, perhaps a photo, or even other very basic information about them. Each of these pieces of data has its own microformats to indicate to machines what they specifically represent. While some h-cards are human readable (like mine), some could be hidden in a web pages’ header and are meant to be machine readable.
While h-cards can convey data in other use cases, in most IndieWeb instances they’re conveying information about either the owner of a website (and thus found on the site’s homepage), or they’re found on individual posts as indicators of the authorship of the content on that page.
Depending on how they’re nested into a web page, they can have different meanings. As possibly the most common example on a traditional WordPress article post, the main h-card for the page would indicate information about the author of that post. However, these article posts will often contain comments sections at the bottom and each individual comment will have it’s own separate author and author information and thus its own h-card. Because these comments are properly nested, they only indicate the authorship of each particular sub-section of a page.
For most IndieWeb use, having an h-card on your homepage tells parsers (code run by other computers) who you are and some basic information about yourself. Generally this extends to your name, your avatar, and your homepage URL.
In your case Aaron, when you’ve generally been sending me webmentions from your primary website (readwriterespond.com), I’ve often been missing your avatar in your comments because you didn’t have an h-card available on them. (I typically remedy this on my own website by hand because I’ve been able to guess the email address/”key” you use for your Gravatar account which then automatically fills in that missing data for me on those comments.)
In the particular case here, for your reply you’ll notice in looking at the source for the page with your response that your ZenPress theme smartly and kindly includes an h-card for you automatically. Here’s what it looks like in code:
<address class="byline"><span class="author p-author vcard hcard h-card" itemprop="author" itemscope itemtype="http://schema.org/Person"><img alt='' src='https://secure.gravatar.com/avatar/d00e7ca24ca1b9c853da43af229c0e0e?s=40&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/d00e7ca24ca1b9c853da43af229c0e0e?s=80&d=mm&r=g 2x' class='avatar avatar-40 photo u-photo' height='40' width='40' itemprop="image"/> <a class="url uid u-url u-uid fn p-name" href="https://collect.readwriterespond.com/author/admin/" title="View all posts by Aaron Davis" rel="author" itemprop="url"><span itemprop="name">Aaron Davis</span></a></span></address> <span class="sep"> | </span> <a href="https://collect.readwriterespond.com/posts/replies/a-further-reply-to-chris-aldrich-in-regards-to-the-indieweb/" title="10:06 pm" rel="bookmark" class="url u-url"><time class="entry-date updated published dt-updated dt-published" datetime="2017-11-22T22:06:22+00:00" itemprop="dateModified datePublished">November 22, 2017</time></a>
You’ll see that it includes (and I’ve highlighted them in red with the relevant microformats classes) your name, your website URL, and it also pulls in your Gravatar avatar using the WordPress back end, since you’ve provided your WordPress installation this data. This is the benefit of a smartly built and designed theme! Thus it would seem that for your “Collect” site, you needn’t worry about an h-card because your theme is already handling the details for you to a great extent. Ideally all themes would do this using standard data fields within a WordPress install. But until then…
Anticipating your next question, what about readwriterespond.com? There, your theme isn’t doing this work for you, so you’ll need to do it yourself. The easiest way to pull this off quickly is to use the IndieWeb Plugin for WordPress. The plugin adds a bunch of additional fields to the page under the “Users” menu located at /wp-admin/profile.php within your admin UI. By filling them in you’re providing the details you’d usually add to an h-card or for rel=”me” uses. The IndieWeb plugin then also makes an h-card widget available at /wp-admin/widgets.php. You can drag and drop it to any of the available pieces of your theme which often include sidebars, footers, and sometimes headers.
The widget does a relatively good job, but some will want more control over what and how things are presented and designed. For those, another option is to create your own HTML-based widget and put the code/data for your h-card into it. This is essentially what you’ve seen on my homepage at boffosocko.com. While mine is entirely handcoded, it may be easier for most to use the microformats website which has a fill-in-the-blanks h-card generator that will allow one to input all of the data they’d like to display and it will automatically mark all of it up properly so that one can cut and paste the semantic HTML directly into a web page or a widget.
There are a bevy of other options for dropping an h-card into your site which will work. You mentioned doing something via a child-theme and that’s an option as well as any one of dozens of plugins that will allow you to drop arbitrary code into your header and/or footer. (Incidentally a child-theme is an excellent way of doing small customizations of your theme without preventing future (security) updates of your theme from overwriting them. If you’re not using one, I recommend following one of the tutorials on the wiki to create one. I would hope it shouldn’t take you more than an hour to implement based on what I know of your skill level.)
As I think you’ve mentioned, there are a few simple validators that will accept a URL which they can parse to show the h-card data they find. These include:
People can use these to see if their h-cards are working as they generally expect them to.
Naturally, there are some additional subtleties in h-cards which are noted on both the IndieWeb wiki and the microformats wiki pages, but most of these aren’t of huge consequence to average users or are experimental features which aren’t widely distributed or supported. If it makes you feel better, I’ll also note that it’s not always the case that experienced theme builders or even WordPress core maintainers will properly use microformats as there are frequently cases where they’re wildly misused, abused, or mistreated in the extreme. We can only do our best I suppose…
Hopefully some of this helps put things into perspective. Now that you’re able to sign into the IndieWeb wiki, I invite you to add or modify parts you feel could be clearer or improved as you use and implement them yourself. Surely doing so will help make things easier for those that follow us both.
As you say, much of the data one posts may have little value and feel ephemeral, but certainly not all of it, and certainly not in aggregate. At least the individual should get to decide and have agency over the decision. As it stands, I can delete individual posts from Facebook, but I have no guarantee that the data is physically removed from their servers and still available for either their internal use or for possible future governmental use.
Another way to frame it all is to think of your web presence as a commonplace book.
If you recall the early days of social media, you may appreciate this alternate viewpoint of social media that I wrote about a few months ago: http://boffosocko.com/2017/04/11/a-new-way-to-know-and-master-your-social-media-flow/
Interestingly, I came across your post almost immediately after fleshing out some detail on the wikipage for cross-posting which may be a worthwhile overview from the perspective of a traditional social media user. To help conglomerate all of the various pieces for you and others in the future, I’ve created a category page under the heading “syndication” with links to all of the various pieces which may together make a more coherent whole.
As for your question (excuse my rough translation):
Then I think again, if I put my tweets first on my own site, what about the possible conversations that result from it? If someone answers and I reply again, do I do that on my own site? The IndieWeb wiki is not very clear here…
There isn’t a direct answer within some of the pages you mention, but ideally, yes, all of the conversation takes place in a back and forth manner on your own website (as well as that of those with whom you’re communicating). Sadly, not all of the moving pieces have been solved completely with respect to user interface which could be done in multiple ways. One standard in particular that isn’t supported by many is that of salmention. Until then, some of us are managing to do this manually to maintain the threaded comments so that the entire context of a conversation is still available on our own sites. Even without it, some semblance of threading is possible by providing permalink URLs for all the parts of the conversations on individual pages until such time as it’s more feasible. If you care to experiment, try commenting on this on my site and see what happens.
Incidentally, especially if you haven’t come across it yet, I hope that as you continue to explore and write that you’ll syndicate your content to https://news.indieweb.org/nl for the benefit of others.
It’s made me realize that one of the bigger values of the iteration that Webmentions has over its predecessor pingbacks and trackbacks is that at least a snapshot of the content has captured on the receiving site. As you’ve noted that while the receiving site has the scant data from the pingback, there’s not much to look at in general and even less when the sending site has disappeared from the web. In the case of Webmentions, even if the sending site has disappeared from the web, the receiving site can still potentially display more of that missing content if it wishes. Within the WordPress ecosystem simple mentions only show the indication that the article was mentioned, but hiding within the actual database on the back end is a copy of the post itself. With a few quick changes to make the “mention” into a “reply” the content of the original post can be quickly uncovered/recovered. (I do wonder a bit if you cross-referenced the Internet Archive or other sources in your search to attempt to recover those lost links.)
I will admit that I recall the Webmention spec allowing a site to modify and/or update its replies/webmentions, but in practice I’m not sure how many sites actually implement this functionality, so from an archiveal standpoint it’s probably pretty solid/stable at the moment.
Separately, I also find myself looking at your small example and how you’ve expanded it out a level or two within your network to see how it spread. This reminds me of Ryan Barrrett’s work from earlier this year on the IndieWeb network in creating the Indie Map tool which he used to show the interconnections between over three thousand people (or their websites) using links like Webmentions. Depending on your broader study, it might make an interesting example to look at and/or perhaps some code to extend?
With particular regard to your paragraph under “Wait! Aren’t you researching Twitter?” I thought I’d point you to a hybrid approach of melding some of Twitter and older/traditional blogs together. I personally post everything to my own website first and syndicate it to Twitter and then backfeed all of the replies, comments, and reactions via Brid.gy using webmentions. While there aren’t a lot of users on the internet doing something like this at the moment, it may provide a very different microcosm for you to take a look at. I’ve even patched together a means to allow people to @mention me on Twitter that sends the data to my personal website as a means of communication.
A lot of your post also reminds me of Bryan Alexander’s relatively recent post I defy the world and to go back to RSS.
I completely get the concept of what you’re getting at with harkening back to the halcyon days of RSS. I certainly love, use, and rely on it heavily both for consumption as well as production. Of course there’s also still the competing standard of Atom still powering large parts of the web (including GNU Social networks like Mastodon). But almost no one looks back fondly on the feed format wars…
I think that while many are looking back on the “good old days” of the web, that we not forget the difficult and fraught history that has gotten us to where we are. We should learn from the mistakes made during the feed format wars and try to simplify things to not only move back, but to move forward at the same time.
Today, the easier pared-down standards that are better and simpler than either of these old and and difficult specs is simply adding Microformat classes to HTML (aka P.O.S.H) to create feeds. Unless one is relying on pre-existing infrastructure like WordPress, building and maintaining RSS feed infrastructure can be difficult at best, and updates almost never occur, particularly for specifications that support new social media related feeds including replies, likes, favorites, reposts, etc. The nice part is that if one knows how to write basic html, then one can create a simple feed by hand without having to learn the mark up or specifics of RSS. Most modern feed readers (except perhaps Feedly) support these new h-feeds as they’re known. Interestingly, some CMSes like WordPress support Microformats as part of their core functionality, though in WordPress’ case they only support a subsection of Microformats v1 instead of the more modern v2.
For those like you who are looking both backward and simultaneously forward there’s a nice chart of “Lost Infractructure” on the IndieWeb wiki which was created following a post by Anil Dash entitled The Lost Infrastructure of Social Media. Hopefully we can take back a lot of the ground the web has lost to social media and refashion it for a better and more flexible future. I’m not looking for just a “hipster-web”, but a new and demonstrably better web.
Some of the desire to go back to RSS is built into the problems we’re looking at with respect to algorithmic filtering of our streams (we’re looking at you Facebook.) While algorithms might help to filter out some of the cruft we’re not looking for, we’ve been ceding too much control to third parties like Facebook who have different motivations in presenting us material to read. I’d rather my feeds were closer to the model of fine dining rather than the junk food that the-McDonald’s-of-the-internet Facebook is providing. As I’m reading Cathy O’Neil’s book Weapons of Math Distraction, I’m also reminded that the black box that Facebook’s algorithm is is causing scale and visibility/transparency problems like the Russian ad buys which could have potentially heavily influenced the 2017 election in the United States. The fact that we can’t see or influence the algorithm is both painful and potentially destructive. If I could have access to tweaking a third-party transparent algorithm, I think it would provide me a lot more value.
As for OPML, it’s amazing what kind of power it has to help one find and subscribe to all sorts of content, particularly when it’s been hand curated and is continually self-dogfooded. One of my favorite tools are readers that allow one to subscribe to the OPML feeds of others, that way if a person adds new feeds to an interesting collection, the changes propagate to everyone following that feed. With this kind of simple technology those who are interested in curating things for particular topics (like the newsletter crowd) or even creating master feeds for class material in a planet-like fashion can easily do so. I can also see some worthwhile uses for this in journalism for newspapers and magazines. As an example, imagine if one could subscribe not only to 100 people writing about #edtech, but to only their bookmarked articles that have the tag edtech (thus filtering out their personal posts, or things not having to do with edtech). I don’t believe that Feedly supports subscribing to OPML (though it does support importing OPML files, which is subtly different), but other readers like Inoreader do.
I’m hoping to finish up some work on my own available OPML feeds to make subscribing to interesting curated content a bit easier within WordPress (over the built in, but now deprecated link manager functionality.) Since you mentioned it, I tried checking out the OPML file on your blog hoping for something interesting in the #edtech space. Alas… 😉 Perhaps something in the future?
If you do set up an OPML file for your Domains ’17, let me know. I’d love to subscribe to it!