Virtual Homebrew Website Club Meetup on December 13, 2017

This is a Virtual HWC for IndieWebbers who either can’t make a regular meeting or don’t yet have critical mass to host one in their area. Everyone is welcome to participate remotely!

Virtual Homebrew Website Club Meetup on December 13, 2017
Time:  to
Location: Online via Google Hangouts (link is posted and live)

Details

Join a community with like-minded interests. Invite friends that want a personal site.

  • Work on your IndieWeb Resolutions for 2018
  • Finish that blog post you’ve been working on
  • Demos of recent IndieWeb breakthroughs
  • Share what you’ve gotten working
  • Ask the experts questions

A link to virtual meetup on Google Hangouts will be posted on the day of the event. Check back before the meeting to get the link: https://hangouts.google.com/call/0JCH5b875C2UNseSnfkxAAEE

Optional quiet writing hour: 19:30–20:30 ET (16:30-17:30 PT)
Meetup: 20:30–21:30 ET (17:30-18:30 PT)

The IndieWeb is a growing people-focused alternative to the ‘corporate web’.

Skill levels: Beginner, Intermediate, Advanced

Keep in mind that there is often a European virtual meetup if those times work better for your schedule.

Any questions? Need help? Ask in chat: http://indiewebcamp.com/irc/today#bottom

RSVP

Add your RSVP in the comments below; by adding your indie RSVP via webmention to this post; or by RSVPing yes to one of the syndicated posts below
Indieweb.org event: https://indieweb.org/events/2017-12-13-homebrew-website-club#Virtual_Americas
Facebook.com: https://www.facebook.com/events/169650146961455/
Meetup.com: https://www.meetup.com/IndieWeb-Homebrew-Website-Club-Los-Angeles/events/245539015/

If your site doesn’t support sending webmentions yet, you should be able to create a post on your website with the following HTML:

<div class="h-entry">
RSVP <span class="p-rsvp">yes</span>
to <a href="http://boffosocko.com/2017/11/30/virtual-homebrew-website-club-meetup-on-december-13-2017/" class="u-in-reply-to">Virtual Homebrew Website Club Meetup on December 13, 2017</a>
</div>

Then put the permalink URL for your post into the webmentions box in the comments section. My site should be able to parse your URL and display the response. (Naturally, you can also change your response to “no” or “maybe” depending on your ability to attend.)

(I think this may be my first indie event that I’ve posted to my WordPress site.)

📺 Jeremy Keith – Building Blocks of the Indie Web

Bookmarked Building Blocks of the Indie Web by Jeremy Keith (View Source London)
In these times of centralised services like Facebook, Twitter, and Medium, having your own website is downright disruptive. If you care about the longevity of your online presence, independent publishing is the way to go. But how can you get all the benefits of those third-party services while still owning your own data? By using the building blocks of the Indie Web, that's how!
Based solely on what I know from just the title of the talk, this wasn’t quite at all what I was expecting. It was far more interesting and philosophical than I expected, but I suppose that’s the extra magical bit that you get for a something presented by Jeremy.

Approaching the subject from a more architectural standpoint was quite refreshing and a great way to frame the subject for this audience. I found myself wishing he’d had twice the amount of time to expand on his ideas. Often when I’m explaining IndieWeb building blocks, I’ll touch on webmention prior to micropub, but I like the way he turned my usual thinking on it’s head by putting micropub first in his presentation.

Thanks, Jeremy (and Mozilla for the conference). This was great fun! 🎉 ​​​​​

https://www.youtube.com/watch?v=VvYK-K0jWng

IndieWeb on WordPress by Khürt Williams

Bookmarked IndieWeb on WordPress (Island in the Net)
I have had a web presence since about 2001. Initially, I set up a blog using Radio Userland but quickly abandoned that when Google launched Blogger. I then jumped to Tumblr then back to Blogger. But it wasn’t until 2005 that I finally registered a domain, islandinthenet.com, and started hosting my online presence, my “house”, on WordPress.
One of my favorite IndieWeb quotes thus far, and certainly a sentiment I’ve had many times:

I visited the IndieWeb wiki and went down a rabbit hole of information. As I read, I kept nodding my head, “Yes, we need this. I have to do this.”

Khürt also highlights another good reason for IndieWeb:

Each time Instagram changed their terms of service to something with which I disagreed, I would delete my account. I am on my third Instagram account. I have a lot of image posts with missing content.

Despite some of the problems people have in getting some IndieWeb technology to work the way it could, I’m very heartened by people like Khürt Williams who see the value of it to the extent that they’ll struggle through the UX/UI issues (which are ever improving through the herculean efforts of so many in the community) to make it work for them.


Since Khürt may not be following developments as closely, I’ll briefly mention that the overhead involved for owning your Instagram posts and FourSquare/Swarm posts is coming along with efforts like Aaron Parecki’s OwnYourGram and OwnYourSwarm. David Shanske has been working diligently on updating some of the workflow for the Post Kinds plugin to work better with checkins and locations for FourSquare/Swarm. For WordPress specific users who want an alternate Instagram option that uses a PESOS syndicaton/ crossposting model, I’ve also found some excellent results with the DsgnWrks Instagram Importer, which provides a bit more WordPress specific data and integrates wonderfully with David Shanske’s Simple Location plugin.

I’m hoping that Michael Bishop’s idea of doing weekly updates on WordPress specific IndieWeb updates will help those who are interested in keeping up with movement in the community without needing to read the chat logs or GitHub updates regularly.

As for the issue of Akismet spam and Webmentions, this is a known problem that Akismet is aware of and hopefully working on. In the meantime, there’s a documented work around that will fix the issue that has (in the practice of several hundred people using it) an exceedingly low rate of allowing spam through.​​​​​

A reply to Aaron Davis about h-cards

Replied to A Further Reply to Chris Aldrich in regards to the IndieWeb by Aaron Davis (collect.readwriterespond.com)
I know that I have provided my perspective [already](https://readwriterespond.com/2017/10/indieweb-reflections/), but I have been doing a lot of thinking about it of late. There are so many elements that just feel so foreign. Take for example H-Cards.
Aaron, thanks for your continued thoughts on my post. These are some good observations. Interestingly, on November 9th of this month I had noticed that the h-card page on the wiki was one of the few around that had absolutely no section heading for IndieWeb Examples which is nearly ubiquitious on most other pages. (Examples of what others have done is not only a helpful guide, but helps to push the limits of what might be possible next.) I naturally added a section for them and added myself and made a call in the chat for others to do the same. One of the bits of feedback that resulted there was that the microformats.org wiki had a large number of examples and that was one of the reasons that the IndieWeb wiki had none. Naturally, for people in generation two and beyond this may be an issue as they’re potentially less likely to go looking for this information on another website. As of this afternoon, there’s now at least a link on that page that also points to the microformats wiki page for those other examples. I’ve also added a few other bits which may be helpful with regard to h-cards for the beginner.

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:

<div class="entry-meta">
<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>
</div>

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.

RSVP to IndieWebCamp Austin 2017

RSVPed Attending IndieWebCamp Austin - December 9-10, 2017 - Austin, Texas
IndieWebCamp Austin 2017 is a gathering for independent web creators of all kinds, from graphic artists, to designers, UX engineers, coders, hackers, to share ideas, actively work on creating for their own personal websites, and build upon each others creations.
I’d like to attend in person, but it’ll have to be remote attendance this time around with the holidays pressing in.

Reply to Wat is POSSE en PESOS op het IndieWeb? by Frank Meeuwsen

Replied to Wat is POSSE en PESOS op het IndieWeb? by Frank Meeuwsen (Digging the digital)
Nieuwe termen, nieuwe wijn? Of is het meer van wat we al kenden?
I like to think of the IndieWeb as delivering on the original promise of the original decentralized internet. It’s nice that billions of people can now more easily communicate with so-called “free” services like Twitter, Facebook, et al., but it’s at a much larger expense of giving away all of their data, control, and often their privacy and even identities. Social media sites all have their own standards, functionalities, and even quirks, none of which is controllable by individuals, so if you use them, you are forced to use them on their terms instead of your own. The dumpster fire that Twitter has become as a “community” is a prime example. I also think it’s a terrible drawback that if you have a Facebook account and want to communicate with someone on Twitter, you need a Twitter account to do so. Here’s an example of what happens with this type of service-proliferation. Who wants to have to manage all of this, much less remember which service you were having which conversation on?

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.

Reply to Pingbacks: hiding in plain sight by Ian Guest

Replied to Pingbacks: hiding in plain sight by Ian Guest (Marginal Notes)
Wait! Aren’t you researching Twitter? I am indeed and the preceding discussion has largely centred on pingbacks, a feature of blogs, rather than microblogs. I have two points to make here: firstly that microblogs and Twitter may have features which function in a similar way to pingbacks. The retweet for example provides a similar link to a text or resource that someone else has produced. I’ll admit that it has less permanence than a pingback, patiently ensconced at the foot of a blog and ready to whisk the reader off to the linked blog, but then the structure and function of Twitter is one of flow and change when compared with a blog; it’s a different beast. The second is that my point of entry to the blogs and their interconnected web of enabling pingbacks was a tweet. Two actually. Andrea’s tweet took me to another tweet which referenced Aditi’s blog post; had I not been on Twitter and had Andrea and I not made a connection through that platform, the likelihood of me ever being aware of Aditi’s post and the learning opportunities that it and its wider assemblage brings together would be minimal.
I’m finding your short study and thoughts on pingbacks while I was thinking about Webmentions (and a particular issue that Aaron Davis was having with them) after having spent a chunk of the day remotely following the Dodging the Memory Hole 2017 conference at the Internet Archive in San Francisco.

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.

After a bit of poking around, I was also glad to find a fellow netizen who is also consciously using their website as a commonplace book of sorts.

In honor of Dodging the Memory Hole 2017 this week, for free (hosting and domain registration not included) I’ll offer to build one journalist or academic a basic IndieWeb-capable WordPress-based portfolio website to display and archive their personal work.

Preference will be given to those in attendance at the conference, but any who need an “author platform” for their work are welcome. Comment or reply below by 11/25/17 to enter.

 

A Following Page (aka some significant updates to my Blogroll)

I’ve been slowly but surely working on compiling a list of people I’m following online. In older iterations of the web, this would have been known as a blogroll, but I think it’s time to update the concept and potentially add some new features and functionality to it. It’s also time to upgrade its status on my site, so I’m moving it from a widgetized sidebar area on my front page to its own page under my “About” menu.

Why

Information Overload

As a member of more social sites that I have desire to count, I’m often overwhelmed with email, text, and other notifications from many of them. When I do dip into their streams, I sometimes find some reasonable value, but, more often that not, I’m presented with a melange of advertisements and somewhat meaningless and context-less posts that are more like addictive fat, sugar, and salt than healthy protein and complex carbohydrates.

I’ve read books like Clay Johnson’s Information Diet: a Case for Conscious Consumption and P.M. Forni’s excellent Thinking Life: How to Thrive in the Age of Distraction which describe an overwhelming media and online social atmosphere with some prescriptive measures for cutting down on the noise. More people obviously need this type of advice and I’m regularly thinking about how to cut down on the noise and get more valuable signal out of my online tools.

An Inventory of Sources

As a result of all this noise from too many sources and social platforms, I’ve found that having a manifest or complete inventory of all my online reading sources can be immensely valuable. It will make it easier to see what I’m reading and consuming on a regular basis and therefor easier to prune or update this list based on how often I’m reading these sources compared to the value I’m getting out of them.

I can look at the titles of the sources and better get a feel for exactly what I’m consuming and possibly how much. Those I don’t read as often can be pruned out of the list or can serve as a reminder of why I wanted to add them in the first place and what I wanted to get out of them.  Better that I be nagged to read things I know I’ll get value out of than defaulting to the fast food-esque fluff that, like many others, I turn to on Facebook, Twitter, and Instagram because it’s “easy” to consume.

I’ve also now compiled a year’s worth of reading data for things that I’ve read online. I’ve saved links to literally everything I’ve read in the past full calendar year to my website (though I only choose to show a subsection of those links to the public). This has given me a more solid data set of what I’ve read and interacted with to better guide my decisions about what I should put on the list and what I shouldn’t.

Notifications

As for the notification overload, by moving some of my reading onto my site via the excellent PressForward reader, I can drastically cut down on the number of notifications I get in email or via phone. I can more directly control exactly which notifications (and when they’re sent) that are originating from my own website.

Fighting Algorithms (and winning!)

Over the past few years, we’ve seen the rapid rise of algorithms. In some cases they’ve provided worthwhile improvements to our lives, while in others they’re downright malicious and destructive. This has become drastically more apparent in the past year or so, and I invite those who aren’t aware of their dramatic effects on our lives to read Cathy O’Neil’s book Weapons of Math Destruction, which does a great job of outlining them for the lay person with no technical background.

Every day these black box algorithms are choosing more and more of what we read and consume. (The only thing worse than the lack of a free press coupled with government controlled media is a corporate algorithmically controlled media which gives you the illusion of freedom.) Because most companies that are using these algorithms in the social space are doing so to keep us more “engaged” and on their sites for longer and clicking their ads with out any transparency, I can no longer trust them. My goals and ideals when reading online content are drastically different than theirs. I want to become more informed, challenged, and made to think. I don’t want their programmatic “reversion to the mean” forcing me to read more memes, jokes, political vitriol, and useless content.

To fight these algorithms, particularly those found in Facebook and to a lesser extent in Twitter, I’m going to cut them off at the knees and consciously choose a set of specific streams to read and engage with. Because I control what goes in to the system, I’ll know exactly what comes out. To touch on the food analogy again, when I cook for myself, I know exactly what the ingredients are and can thus eat a more healthy and well-balanced diet compared to going out and eating fast-food where I’m not ever quite sure if the “beef” is really beef, much less if it’s safe. Yes, I’ll say it, I’m going to go both organic as well as farm-to-table in my online social life.

Twitter thought experiment

Initially I had contemplated declaring Twitter bankrupcy. It seemed like a brilliant and cathartic-ly wonderful idea! But cleaning out my Twitter feed to a much smaller subset ultimately seemed like way too much work. I can only think about the hours and hours of time I’ve spent even creating and categorizing Twitter feeds into lists on my account. (Fortunately others can also follow those curated lists to find some value, so it’s not a total loss.) Starting over again from scratch on my main feed seemed untenable. Even if I did clean it all out, I would potentially have a better feed, but it’s still a feed on a  silo which I don’t own or control and it doesn’t have any effect on needing to repeat the same work on dozens of other silos. Heavy pruning and weeding within someone else’s walled garden seemed like a painful and unscalable time-suck that I would potentially need to repeat on an ongoing basis. It’s akin to the sharecropping of content that I had previously been doing for them and refuse to continue to do so.

The better option seems to be to use open web technologies to create and maintain my own personal list. It’s something I own and can control. I can update it as often as I want. Even better, I only need to do it in one place instead of dozens and the results can be distributed across multiple sites almost instantaneously!

As I’ll also discuss below, my open list is still easily shareable and modifiable by others. So I’m not accruing benefits just to myself, but my work can become scale-able and usable by others.

What

So I’ve gone back to some of the original web technology including blogrolls and OPML files.  I’ve created a Following page where I’m going to share my data. Here’s that page: http://boffosocko.com/about/following/

Context

In creating my list I wanted to go above the traditional blogroll and add additional context that most of them often didn’t originally have. I’ve tried to add a photo, logo, or  avatar of some sort for all the sources to provide some visual context. I’ve also added either a description of the site or a snippet from the site’s owner to give an idea of what it is about (in addition to categorizing them by one or more tags) as well as an optional reason why I’m following them. I’ve also included a link to the site as well as an RSS, atom, or h-entry feed for the site to make subscribing easier for others. Where appropriate, I’ve added the microformats XFN data to these sites as well so others will have an idea of my relationship to those entities or people I’m following. Disclosure is a good thing, right? Just ask a journalist. (Viewing this last part is currently only available via parsers or by viewing the page source within a browser, but it’s there for potential future use.) In aggregate, these bits of context are not only valuable for page viewers who are considering subscribing/following them for themselves, but they also make a statement about me as a reader, a topic I’ll touch on further below.

Promotion of position: from sidebar to a full page

Given the value of social following/friending in the past decade, it’s long overdue to promote the old-school blogroll, which was traditionally placed in a diminutive position in one’s sidebar, to a more prominent position on its own page (or others may even choose to span it over multiple pages).

Social media platforms do their best to hide our social graphs from us thereby making more of what they do seem magical. Many have even bent over backwards to prevent other possibly competing social startups from leveraging our own social graphs on their platform to help build them up. Just where do they think that data came from initially? It came from me! I own it and should continue owning it.

To that end, my follow list in some sense is an implicit statement of me owning that data once again. While it may take me a bit to import and arrange it all, I’ll have ownership and agency over it. Perhaps an outside service may want pieces or parts of it, and in some cases having it open and portable may provide continued future value to me.

As an analogy for what this means, think back to the days of arduously making mix tapes in the 80’s. You’d spend hours and hours diligently copying and pasting songs together onto a cassette tape to give to a favored someone. The gift usually meant more than just the songs on the tape. This type of thing is far easier now with digital music services to the point of devaluing part of the original meaning of a mix tape. However, almost no modern music service will allow you to take your hand-crafted playlists out of their service to other competing services to make it easier to switch from something like iTunes to Amazon Music or Google Music. It’s painful and annoying in an age chock full of digital exhaust. I’m hoping that my open following list might be a lot like the portable digital music play list I wish I had.

Identity

I’m placing my follow list as a submenu item underneath my “About Me” page. Why? On most social networks there are a few simple fields, typically in a profile or on an explicit profile page, which give others some basic data about who the account holder is and what they do. Often people use this data to make relatively quick decisions about whether they should follow (or follow back) another person. Sadly I’m of the opinion that the amount and richness of the data on these pages is too sparse to be of much use. Fortunately by owning my own site, I can remedy this problem for others who visit it.

My website has thousands to potentially hundreds of thousands of posts. What data can I easily provide people who are interested in learning more about me without reading the whole book as it were? My About page is a good quick place to start, but it can’t necessarily give the whole picture. I’ve also got a few other sub-pages under my About page which helps to round out the snapshot picture of who I am. These include:

  • my /now page, which tells others what I’m up to most recently, but at a higher level than reading a month’s worth of status updates;
  • my /Favorites page, which is a list of some of my favorite things and things I use on a regular basis; it’s not dissimilar to a “What I’m Using” page or regular posts concept;
  • my /Bucketlist page, which is a list of some things I’ve done or would like to do before I “kick the bucket”;
  • my /Social Media (or as I call it, my rel=”me”) page, which is a list of my too-many-presences on other social platforms;
  • I’ve also recently added an  /AMA or Ask Me Anything page, so that if there’s something pressing you need to know that isn’t written or find-able on my site, you can easily ask it.

Finally, there’s now also a source for others to quickly see what I’m regularly reading and find valuable enough on the web to have created a list of it all.

I think that in evaluating others, this last page (the following page) may actually provide the most value, and so I hope it does to others in return. I can’t help noting here how I’ll often judge others by which books they have on their shelves at home, or this great judgmental quote from John Waters:

“If you go home with somebody, and they don’t have books, don’t fuck ’em!”

I hope others I’m following will follow suit and create their own following pages as I’d honestly love nothing more than to know who and what they find valuable, and to be able to extract it quickly to add to my own list! The value of discovery here can be tremendous.

Intellectual Antecedents

I know that academics like to give credit to their sources when writing papers, though they often do so in explicit footnote form. Abstracted out to a more general form, I’m hoping that my following page can also help to provide some meta data about which sources I regularly find valuable and which ones are most likely influencing me even if they’re not explicitly footnoted within my writings.

Benefit of following members of the IndieWeb

Having been using a version of my following page for a while, I’ve found one particularly nice feature of following people who are adherents of the IndieWeb movement. Because they’ve chosen to post on their own site first (and optionally syndicate to other silos), their internet presence is far more centralized for subscription and consumption. I don’t have to follow them on dozens of multiple social silos to attempt to capture all their content. I can subscribe in one place and get as much or as little as I like! You can do much the same with my site, which I’ve discussed in the past.

Now of course this isn’t the case for everyone yet, and there can be some exceptions (since not everyone owns every post-type yet nor has quit all their silos), but it does tremendously cut down on the noise, cruft, and duplicated messages that live on multiple platforms.

I’ve experimented in the past with following even a subset of researchers and their work online. The amount of time needed to catalog them all, find their various presences in sites like Facebook, Twitter, LinkedIn, Google+, Academia, ResearchGate, etc., etc. was painful, but then setting up notifications and creating a workflow was even worse–particularly since I want to read or see everything they’re putting out over time. I think I’d have been better off building them all custom websites to publish their content instead.

OPML means sharing

OPML really stands for Outline Processor Markup Language. It is an XML-based format and standard used for feed lists interchange. All this to mean that it’s a standardized specially formatted document that allows one to share all the data in it easily by means that make sense to certain machines that would want it.

The most common example is that most feed readers allow you to import and export OPML files (with the .xml extension) so that you can quickly and easily move all of your feeds from one reader to another. (This is kind of like the playlist analogy for music that I mentioned–it’s just a playlist, or readlist if you prefer, for feed readers.) This is great if you want to try out a or move to a new feed reader.

Even better, because you can find and save a copy of my list, others can easily port it into their feed readers and sample the things that I’m seeing and often reading.

But wait! There’s more…

Many modern feed readers are supporting OPML subscription functionality! (What’s that you ask?) It’s fine to download my OPML list and import it into your reader. But what happens when I update it next week with three new great sources and remove a dead feed that no longer works? You’re stuck missing out on the new stuff and have to manually find and remove the broken one yourself. Instead, if you’ve subscribed to my OPML in your feed reader, the reader knows the URL where my list lives and checks it frequently for updates so you don’t have to worry about syncing the changes yourself! Shazam! It’s now a lot like a shared/synced playlist for articles. For those who are familiar with Twitter lists and following those, it’s very similar to how those work, except in this case they’re open and work on multiple sites and apps instead of being stuck in a proprietary service.

How

Now the part you’ve been waiting for: How can I do this myself?

For those who are on WordPress, much of the base functionality is already built into WordPress core. Below I’ll provide a few means and tips for getting you most of the way while still having some flexibility in where and how you choose to display your particular version.

(For those not on WordPress, check out some of the details and documentation on the IndieWeb wiki and ask in their chat how you might go about doing it.)

Re-enable Links Manager interface

The code for the WordPress blogroll functionality was built into core and was known as the Links Manager, but it was removed in version 3.5 for new installs that didn’t have any pre-existing links. I’ll note that the functionality was removed in late 2012 long after social media had already begun to make functionality like blogrolls (and even blogs themselves) fall out of fashion.

Fortunately, while it’s now hidden for most, it can be brought back with one line of code. (Hooray for backwards compatibility!) You can bring this functionality back to your website by adding the following snippet of code into your theme’s functions.php file:

add_filter( 'pre_option_link_manager_enabled', '__return_true' );

You can do this manually in the administrative user interface of your WordPress install by going to Appearance » Editor, which will bring up your theme files. Then in the right hand sidebar there should be a link for editing your functions.php file. Cut and paste the line of code into the file on its own line and then click Update File.

That’s easy enough, but what do you do if you’re scared of code? (You shouldn’t be, by the way…) The same functionality can be brought back with the Link Manager plugin. Just download it in the admin UI under Plugins » Installed Plugins and click Add New at the top of the page. Search for the plugin name Link Manager to download and then activate. That’s it.

Note: some may worry at the fact that the details for this plugin include the warning words:

This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

On a scale of 1-10 for warnings, this one is really less than a 1. This has to be one of the simplest plugins in all of WordPress because it really only includes the single line of code above. There’s really almost nothing with it that could change, break, or need to be updated. It’s old, but it will work.

You’ve now re-enabled the Links Manager which will put a Links tab into your admin UI. You can click on it to start adding your links, feeds, photos, and data. The WordPress codex has great documentation for how to do this: https://codex.wordpress.org/Links_Manager

Within the admin UI you can now display a blogroll widget by going to Appearance » Widgets and moving the Links widget into one of the widgetizable areas in your theme.

Put your following list onto a page by itself

Sadly, because the Links Manager is so old and is now hidden, development on it seems to have long since stalled. This means you’ll require some simple code to get things working a bit better in terms of display. I’ll do my best to give you instructions for cutting and pasting with as little code as possible.

Plugin and Code

There’s a convenient plugin called Links Page which will get us most of the way. Go ahead and download and activate it. From the plugin interface, click the edit link for the Links Page.

The Links Page plugin displayed in the Plugin page of the WordPress admin UI.

The editor will pop up with the code for the plugin, which looks like this:

function linkspage($text) {
if (preg_match("|<!--links-page-->|", $text)) {
$links = wp_list_bookmarks();
$text = preg_replace("|<!--links-page-->|", $links, $text);
}
return $text;
}
add_filter('the_content', 'linkspage', 2);

In between the parenthesis for the function wp_list_bookmarks(), you’ll want to add something like the following code snippet I’ve customized for my following lists:

'categorize=1&category_orderby=count&category_order=DESC&orderby=rating&order=DESC&show_name=1&between= - &show_description=1&category_before=<h2>&category_after=</h2>'

Yours doesn’t necessarily need to be exactly the same, but it should reflect how you’d like your own list to look. To accomplish this take a look at the documentation and examples for this function to pick and choose among the options you’d like to display. You’ll just string the options together between two single quotes and separate them with an ampersand (&) as in my example above.

Caveat: Since we’ve done some “cowboy coding” here and modified the code directly in the plugin, we run the risk of the accidentally updating the plugin and overwriting our changes. I would suggest that this risk is fairly low given the simplicity of the plugin and the unlikelihood that it would need an update. More advanced WordPress users will know that the better option is to roll up all the code in the plugin and all their changes and put it into their functions.phpfile or just fork the plugin with a new name and go from there.

CSS for styling and display

You may want to put in a bit of CSS to modify how our following list is displayed on the page. Without some tweaks or taking some extreme care when uploading or linking to the photos/avatars, we may run into some display issues.

As a result I’ve added the following snippet of CSS to my theme’s style.css file:

ul.xoxo.blogroll > li > a > img {
width: 20px;
height: 20px;
}
ul.xoxo.blogroll li{
list-style-type: none;
}

You can accomplish this by going to Appearance » Editor in the admin UI and editing the file by cutting and pasting the segment above into it and clicking Update file when you’re done.

The Page itself

We’ve now got all the big pieces in place. If you haven’t already, add some data into the Links Manager (documented here). You then need to create a new page on your site in the admin UI. I’ve named mine Following, but you can name yours Blogroll, Links, or anything you’d like really–it is your site after all.

Next, as described in the instructions for the Links Page plugin add the following text into the body of your post:

<!--links-page-->

When you’re done, save the page. The plugin will then replace the text above with your following list based on the output properties you specified.

Optionally you may want to go to Appearance » Menus to modify your menu to show your follow page in your menu structure so people can easily get to it.

Other Options

Those who’d like a different way of doing all of the above might also consider trying out other blogroll-related plugins in the WordPress repository. There are likely some other excellent options and methods to accomplish some of this functionality in a way that’s acceptable for your needs.

Future

So where do we go from here? This is certainly not complete by any means and there could be additional functionalities built on top of and even beside all of this.

I haven’t delved into it deeply, but I know there are developers like Dave Winer who have created services like Share Your OPML which allow you to upload your own file and then get recommendations of similar feeds in which you might also have some interest. Services like this that take advantage of my open data to provide me with value in return could be truly awesome.

I’m sure others smarter than I will come up with better UI. I’d personally love to have a bookmarklet similar to SubToMe that allows me to quickly and easily scrape a page and post the data from a person’s site to my following list (SubToMe currently redirects one to third party readers instead.)

I’ve also been enamored by Colin Walker’s “webmention roll” in which he creates a blogroll of all the people who have interacted with his website via Webmention.

New functionality

The future might also bring increased ease-of-use as well as expanded functionality. I’m curious what value might be extracted by adding microfomats like h-cards to my follow lists? What could parsers do with a microformat like ‘p-following’ to more quickly create social graphs like Ryan Barrett’s Indie Map?

What might we expect with simpler formats than OPML, which could likely be done with microformat classes the same way that h-entry and h-feed have made supporting clunkier specs like RSS and Atom far easier?

I’m feeling itchy with all the potential possibilities…

Comments

I’d love to hear people’s thoughts and comments on the usefulness of any of the above. Is it something you’d attempt to do yourself? (If you attempted it, did it actually work?) What would you change? How could it be extended? What UI/UX improvements could be added? Other interactivity suggestions? How can the discoverability of such a thing be improved? What could be built on top of it all?

Also feel free to share your following pages, blogrolls, and OPML feeds in the comments below. Have you added your examples to the IndieWeb wiki to help others improve?

Are there people or sources missing from my following page that you’d recommend? (Keep in mind I’m far from done adding sources…)

A final thanks

Here’s a big thank you and h/t to all those who’ve been working on their own versions of this type of technology (either recently or for decades) including: Dave Winer (thanks for OPML by the way), Richard MacManus, Colin DevroeColin WalkerKhürt Williams, James Shelly, Bryan Alexander, Aaron Davis, and many, many others.
​​​​​

👓 Do Things that Don’t Scale by Paul Graham

Read Do Things that Don't Scale by Paul Graham (paulgraham.com)
One of the most common types of advice we give at Y Combinator is to do things that don't scale. A lot of would-be founders believe that startups either take off or don't. You build something, make it available, and if you've made a better mousetrap, people beat a path to your door as promised. Or they don't, in which case the market must not exist. Actually startups take off because the founders make them take off. There may be a handful that just grew by themselves, but usually it takes some sort of push to get them going. A good metaphor would be the cranks that car engines had before they got electric starters. Once the engine was going, it would keep going, but there was a separate and laborious process to get it going.
This is a slightly older post, but still has some generally sound advice for start up companies.

As I read it, I can’t help but think about how the structure and set up of the IndieWeb community is mirrored in a lot of this advice. The fact that everyone is diligently selfdogfooding the ultimate product that we all love and are designing specifically for people gives me great hope that we’re all onto something that has great potential.

I’m curious how we can take the rest of the playbook and put it into action as well. This is certainly something I’ll have to come back and think about more in the near future.

Big portions of the article also skirt around the idea of tummeling without actually using the term. It such a useful concept, I’m surprised that it’s not more commonly known.

👓 Content, bloat, privacy, archives | Peter Molnar

Read Content, bloat, privacy, archives by Peter MolnarPeter Molnar (petermolnar.net)
I spent a lot of time trying centralising my online activities, including adding bookmarks and imports from social networks. Lately my site looked bloated and unmaintainable. I started questioning what data is my data, what data should or could I own - it was time to rethink some ideas.
Peter has some solid thoughts here on some subtle uses of things including likes, favorites, and bookmarks. I particularly like the way he separates out and describes the “vote” intent of likes on various platforms.

Somewhat like him, I’m bookmarking things I’d like to read privately on the back end of my site, and then only selectively posting them as read posts when I’ve done that. Archiving them to the Internet Archive has been useful for cutting down on the data I’m keeping, but saving them does allow me to browse through my commonplace book frequently when I need to find something and couldn’t find it otherwise.

Some of this reminds me of the way I use the “star” functionality on Twitter (I still think of it as a star and not a heart). I don’t typically use it to mean anything in particular on Twitter itself. Instead I’m using that functionality in conjunction with an IFTTT recipe to bookmark things I’d like to read later. So in a larger sense, I’m using Twitter as a headline feed reader and marking all the things I’d like to come back and read at a later time.

Once in a blue moon, during a chat with others on Twitter, I may use the heart as an indicator to the other party that I’ve seen/read their post, particularly when I don’t intend to reply to the last in a chain of conversation. This type of ephemera or digital exhaust generally isn’t something I find useful for keeping in the long term, so like Peter I typically don’t keep/archive them on my site.

For those who haven’t read them yet, Sebastiaan Andewe has a recent article covering similar ground: Thinking about bookmarks and likes on the IndieWeb.

I find these discussions useful for thinking through what I’m doing on my own site and refining how I use it as well.​​​​

The Presentation of Self on a Decentralised Web by Dr. Amy Guy

Bookmarked The Presentation of Self on a Decentralised Web by Dr. Amy Guy (rhiaro.github.io)
Many people express themselves online through social media, blogs, personal websites, and the like. Using these technologies affects our day-to-day lives, and sense of self. These technologies also change and develop in response to how people use them. Many of the tools we use come with constraints, and people often find ways to work around these constraints to suit their needs. This thesis explores the different ways in which people express their identities using contemporary Web technologies. We conduct several studies, and show that there are many interdependent factors at play when it comes to online self-presentation, and that it is rare that all of these are considered when studying or designing social systems. We present a conceptual framework which will enable cohesive further research in this area, as well as guidance for future system designs. In the second part, we discuss how these technologies are changing. We make contributions to an emerging alternative means of engaging with social media and similar technologies, and examine the implications of these new technologies on self-presentation.
Congratulations Dr. Guy! I can’t wait to read your thesis…

There may possibly be some other much older IndieWeb related doctoral theses out there, but I suspect this may be the first in the new era…

If nothing else, you’ve got to love a thesis that’s got it’s own custom short link-style domain: dr.amy.gy ​​​​

Today I was reminded while thinking about Disqus that I had an Intense Debate account from April 23, 2009. Apparently it’s still functioning all these years later–possibly as a result of their purchase by Automattic in 2008. Not that there was much there, but I took a few minutes and exported out all my data and now own it here on my site.

One of the interesting parts was that it featured a comment about Twitter pulling the rug out from underneath developers–an event that foreshadowed even more of the same in the coming years as well as a conversation about the gamification of follower accounts, something which has gotten us into a sad state of affairs today nearly a decade later. Apparently while they tried to cap follower accounts, their early efforts just didn’t go far enough to help the civility of the platform.