Peter, like me getting to grips with Webmention, has now used it to send all his own old postings a webmention where he links to them retroactively. So now in his comment database he has a full list of all the links between his own postings.

He says “I wish I had a way of visualizing the interconnections between my posts“.
This type of thing is of interest to me too. In several forms. Like using a network mapping tool for e.g. twitter topics such as NodeXL by Marc Smith/The Social Media Research Foundation. Like having ‘live’ network mappings of how distributed conversations I am part of are shaped, such as the images I recently showed of blog conversations, but then interactively. Like visualising the links between posts as Peter went on to do.


Visualisation of blog conversations (a grey box is a cluster of posts referencing eachother


Peter’s visual of links between blogposts


Anjo Anjewierden’s 2007 visual of Lilia’s blog‘s self references on a time axis

For these types of visualisation Anjo Anjewierden as a researcher did some interesting work 2003-2008, such as building those network maps around my blog. He also looked at visualising self-referencing in blogs. There’s just one dimension there, time, he says. I disagree, as linking to oneself is just as much a distributed conversation as linking between others, and Peter’s experimental visualisation above supports that thought. So I’d be interested to see a network map of self references: which blogposts over time turn out to be more central to our writing/thinking/reflection? Much like citings are a metric in academia, they are of interest in the blogosphere as well. Anjo also released several tools as open source if I remember correctly, so some archive digging is needed.

To do what Peter did, retroactively make all the links between my own blogpostings visible, I would first also need to fix the older links. Those older links are strucured differently than more recent ones and now return 404’s. The corresponding posting still exists but has a different URL now.

I very much appreciate how Sven Knebel extensively responded to my previous posting on some Webmention issues I came across. Some of his responses do make me have new questions.

About the wrong URL, i.e. not the source of the webmention, showing up in a Webmention, Sven writes:

…. There’s a href=”https://news.indieweb.org/nl” class=”u-syndication” as the only top-level link inside his post, and no explicit url property set. This causes the microformats parser to assume that this link points to the canonical location of the post, and it is thus used for comment display. This seems like a problem with the microformats specification, and I’ll follow up on it there, but for now the easy fix would be for Frank’s posts to mark up their permalink, e.g. by adding a class=”u-url” to the link on the headline.

To me this reads as a vulnerability. I would expect my site to always take the source from the webmention message as URL. That is the only one that has been checked from my end for the presence of a reference to my site (the target). If the source page is allowed to set a different URL, even by mistake like here, that feels extremely counterintuitive. It opens it up to spam. In this case the faulty link is to a benign site, but it could have been pills or malware. It is also strange to me that my server in the comments table of the database correctly stores the source url, but in the meta data table stores a url at the discretion of the source’s website. (Meanwhile Frank has fixed it for now on his end as demonstrated by his webmention to my previous post, but my point remains)

About no content being shown of the blogpost that links to my blogposts Sven says:

This is intentional. Frank’s post only mentions your post (=includes a link to it), it is not marked up as an explicit reply. Only replies are shown with content, since for mentions this is often misleading.

This to me doesn’t make a lot of sense. [update: and for my site at least it isn’t true either, I linked back as an explicit reply to my own posting, but it still shows it as a mention].
There is indeed a difference between a direct reply to something (@Frank….) and mentioning that something as part of something else (As Frank says….). Yet that doesn’t warrant a difference in presentation, where a reply would be shown, yet for a mention just the address of the site. It also gives the source control over how something is shown on my site (by setting a different microformat for a link), while I do not have that control.
From the perspective of the reader of my blog it is not enough to only see that ‘some site links to this blogpost’ to click on that link to find out if it might be of interest, it is tremendously helpful to see a piece of that referring page to determine the context in which it refers to my blogpost.

Most if not all of my mentions of others’ blogposts aren’t meant as a direct response but as building or continuing on a line of reasoning, riffing off other people’s ideas. This is the way distributed conversations take place, how ambient humanity is established. Distributed conversations are a fundamental part of blogging to me. It’s not back and forth replies, it’s a jam session. To enjoy the jam session, you need to see the whole band at a glance, not just a list of the line-up while listening to a sole musician. Discoverability and serendipity flow from it.
It used to be that trackbacks did precisely that, show the context in which someone else referred to my blogposts. It is enriching my own posts to show that context underneath them. See below how that looked a long time ago, in a post on information strategies from 2005.

Three trackbacks on an old post of mine, showing context of the linking blogpost



These three posts are not in response to me, but reflections triggered by my posts and extensions of my contribution

So I’d definitely want to show that context for webmentions. What strikes me as odd now is how little control I have over how the Webmention and Semantic Linkbacks plugins actually deal with webmention data. The stuff I’d like to show is stored in my database, but I can’t through the plugins determine how that is shown.
The same is true on the flipside: my site adds microformats so others can machine read my blog, but apparently it doesn’t do it right. Yet I have no control from the mentioned plugins interfaces over how that is done, nor do I have documentation / insight into how the plugins are designed to comply with microformat specifications. So the next step is: read up on microformat specifications, and dive into the code of the plugins to see where it does what, and whether I can change that in ways that won’t be simply overwritten with the first update of WordPress or the plugins. [UPDATE: I installed a different WordPress Theme, called Sempress, as it should be better at adding the correct microformats for this site]

Webmentions is what makes it possible for me to write here about someone else’s blogpost and have my response show up beneath theirs. And vice versa. Earlier mechanisms such as pingback and trackback did the same thing, but slipped under the radar or succumbed to spam. Webmention is a W3C recommendation.

The webmention itself is simple
The core of webmention is straightforward: if I write something here, my webserver will try to let every site I link to in my text know I link to them. This by checking if the sites I link to have an ‘endpoint’, an antenna basically, for webmentions. If a site does, then it will send a simple message to that antenna stating two web addresses, the source (here my blogpost) and the target (here your blogpost). When your site receives a webmention it will do some checking: does my source blogpost indeed link to your target address?

What happens next is less simple
It can quickly get confusing during what happens next.
When my site receives a webmention (this source x links to your target y), all it knows is just the URL of a page that links to me. What my site displays and how it displays that as a consequence of a webmention message depends on multiple factors:

My server will try to read the source blogpost, and see what machine readable information it contains, and what it can know about the source blogpost. These machine readable parts are in the form of microformats.
My server will store some of the information it finds.
Then my website template will show some information from what the server stored when showing the target blogpost on my site.

How well that works depends on multiple factors therefore:

  1. The available machine readable info in the source blogpost, and whether that info is properly encoded
  2. The settings of my server for what it stores
  3. The settings of my site template for what it shows

When something seems to be going wrong, it could be a problem with your site, my site template or my server settings, and it is never obvious which one it is, or if it is the aggregation of multiple issues. It also depends on how easy it is to alter any settings whether you can repair or change things when webmentions are not properly dealt with. Supposedly the Webmention and Semantic Linkbacks plug-ins I use should take care of those issues but it is not obvious that they indeed do.

An example, me and Frank’s sites webmentioning each other
Frank Meeuwsen and I have been mentioning eachother several times and we’ve seen some strange webmention behaviours. For instance in one case Frank’s blog displayed not just a short part of my posting mentioning him, but my entire page including header, footer and sidebar. Clearly something wrong, likely with some of my machine readable encoding, but maybe also something wrong on his end. I suspect my machine readable encoding is indeed faulty but there’s no clear way in which I can change how my webmention plugins deal with that. And if I alter the code, which I could, it is likely the next software update will simply overwrite it.

Yesterday Frank posted about the puzzle webmention is to him in Dutch. Here are some screenshots on how pieces of that puzzle look on my end of things.

Frank’s posting lives at http://diggingthedigital.com//Waar-te-beginnen-met-Webmentions/ In his posting he refers to a posting on my site. He did not send a webmention. But I can do that myself, using a simple form at the bottom of my posting (visible at the bottom of this page too). In that webform I pasted the mentioned url, and that sends the simple webmention message. That message has been received and stored on my server, with the correct source and target address and a timestamp:

What ended up underneath my posting is:

Or as it looks for me as the site’s owner:

A few things stand out:

  • There’s no link to the actual blogpost by Frank (the source), just to his general domain
  • There’s a link to news.indieweb.org, which is a completely different domain
  • There’s no image of the author or an avatar in absence of an image
  • There isn’t any content from Frank’s post shown as part of the mention

So what’s happening? Is this an issue at Frank’s end, is it an issue with what I store on my server, or what I show in my site template? One, two, all three of them?

Puzzling over the pieces in this example

The missing avatar. My site tries to look for an avatar in the source, and if there isn’t one, it shows a general one. Here neither happens, it’s just a blank space. The HTML source of my page reveals it does try to show an avatar, the one that Frank sets in his own blog page as the one to use. His site says in the source code:

<a href="/" class="site-avatar"><img src="/images/dtd-avatar.png" class="u-photo" /></a>

The micro format u-photo is interpreted correctly by my site, and it tries to show the linked image. When you go to that image in your browser it works, but if you try to embed it in your own page it doesn’t.

Frank’s image should be visible below this line,
Frank's avatar
and above this one, but it isn’t.

Probably Frank’s web server prevents bandwidth theft by sending back a white pixel and not the requested image.
[UPDATE] The issue, as Sven points out in the comments, is that this site is https and Frank’s is http. My browser is set-up to reject http material on an otherwise https site. A case of my browser being my castle.[/UPDATE]
Making the avatar fail because my site doesn’t try to store the avatar locally.

The link to news.indieweb.org and the absence of a link to the actual blog post by Frank. The source (Frank’s blogpost) was sent and received correctly as we saw. In the machine readable part of Frank’s site a value is set as ‘canonical’ address for his blogpost.

There is an extra / in that url, and I’m not sure what that might cause, but on my end the canonical that gets saved is very different, it’s that indieweb address.

The odd bit is that indieweb.org address is not mentioned in the source of Frank’s page. At the same time, it seems it isn’t unique to my server, as underneath a posting about webmentions by Sebastiaan Andeweg you see the same thing happening. Frank’s webmention from May 12th shows the indieweb link (and no avatar). Sebastiaan doesn’t use WordPress or the plugins I use as far as I can tell.

So where’s the actual link to Frank’s blogpost? The canonical URL Frank’s posts provides is stored on my server, in the database table for comments as the URL for the author. The indieweb URL however is stored as canonical URL in the comment metadata table in my database. And that gets used for displaying the webmention underneath my blogposting.

The same is true for the absence of the content of Frank’s mention of me. It is collected and stored in the comment table of my site’s database. Yet what is shown underneath my blogpost as mention is constructed only from the comment meta data table, and not the comment table.


Frank’s mention’s content is in my comment database, yet not shown


The metadata fields stored for Frank’s mention in my database

So what’s happening here is a mix of elements from Frank’s site, my webmention plugins and my site template. But how to influence the behaviour of my plugins without seeing that undone with the next update is not clear to me at this point. Nor is how to alter the plugins so I can improve the machine readable microformats on my site.

A few months ago I added an OPML export of all my feeds manually to the sidebar as Blogroll. This week I installed an instance of TinyTinyRSS, to see if I can take it closer to my ideal feedreader. TinyTinyRSS provides a public URL of all the feeds as OPML. So now that link is my automatically updated OPML blogroll in the sidebar. (As long as I keep my TinyTinyRSS reader in sync with my offline reader)

Peter’s Drupal site and my WordPress site don’t deal well with pingbacks. His doesn’t reliably send them, mine doesn’t listen as the endpoint (xmlrpc) is blocked by my hoster for security reasons. My site does process Webmentions. I came across Webmention.io, and it has an option to set my pingback ‘antenna’ to their server, which then transmogrifies and forwards it to my site’s webmention endpoint. This way pingbacks are dealt with on my end like webmentions, circumventing the trouble with my xmlrpc. I replaced the pingback url in my website’s section, by hand, which is not a sustainable option and likely only works until the next update of my WordPress theme. However the WordPress documentation is very silent on where in the database or back-end files I could change the pingback url as part of the bloginfo() settings function, and I can’t find it in the WordPress database or files.

Triggered by some of the previous postings on RSS, I started thinking about what my ideal set-up for RSS reading would be. Because maybe there’s a way to create that for myself.

A description of how I approach my feeds, and what I would ideally like to be able to do, I already penned a decade ago, and it hasn’t really changed much.

The basic outline is:

  • I think of feed subscriptions as subscribing to people. I don’t follow your blog, but I follow and interact with you. I used to have a blogroll that reflected that by showing the faces of people whose writing I read. Basically the web is my social network always, In my feed reader every feed title is the name of the author, not the blog’s title.
    my blogroll in 2005, people’s faces, not site names
  • The feeds I subscribe to, I group in folders by subjective social distance, roughly following Dunbar-style group sizes. The dozen closest to me, the 50, the 150, the 500 beyond that, and above that 999 for people I don’t have a direct connection with at all. So my wife’s blog feed is in folder a12, and if I’ve just come across your blog this week and we never met, your feed will be in e999. The Keep Track folder are my own content feeds from various platforms.
    the folders in my current feedreader by social distance
  • There are three reading styles I’d like my reader to support, of which it only does one.
    • I read to see what is going on with people I know, by browsing through their writing from closer to further away, so from the a12 folder towards the e999 folder. This my reader supports, by way of allowing a folder structure for it
    • I read outside-in, looking at the general patterns in all the new postings of a day: what topics come up, what are people working on, what do they care about. This is not supported yet, other than scrolling through the whole thing. A quick overview of topics versus social distance would be useful here.
    • I read inside-out, where I have specific questions, ideas or topics on my mind and want to see if some of the people in my reader have been wrting about it recently. This is not supported yet. A good way to search my feeds would be needed.
  • I would like to be able to tag feeds. So I can contextualise the author (coder, lives in Portugal, interested in privacy by design, works independently). This allows me to look at different groups of people across the social distance related folders. E.g. “what are the people I follow in Berlin up to this week, as I will be visiting in a few days?” “What are the current concerns in the IndieWeb community?” Ten years ago I visualised that as below
    Plotting contexts

    Social distances with community and multi-faceted contexts plotted on them

  • I would like to be able to pull in tags of postings and have full content search functionality. This would support my inside-out reading. “What is being said today in my feeds about that conference I didn’t go to?” “Any postings today on privacy by design?”
  • I think I’d like visual representations of which communities are currently most active, and for topics, like heat maps. Alerts on when the level of activity for a feed or a community or subsets of people changes would be nice too.
  • From the reader follow actions, such as saving an article, creating a todo from it, bookmarking it, or sharing it in some channel. An ideal reader should support all those actions, or let me configure actions

From the whole IndieWeb exploration of late, I realized that while no feedreader does all the above, it might be possible to build something myself. TinyTiny RSS seems a good starting point. It’s an open source tool you can run as your own instance. It comes with features such as filtering and auto-tagging that might fit my needs. It can be hosted on my own domain, and it has a database I then have back-end access to, to build features it doesn’t have itself (such as visualisations and specific sharing actions). It can also produce RSS feeds. It seems with TinyTiny RSS I could do all kinds of things to the RSS feeds I pull in on my server, and push the results out again as RSS feeds themselves. Those I could load into my regular reader, or republish etc.

Now need to find a bit of time to set it up and to play with it.

Slate saw their traffic from Facebook drop by 87% in a year after changes in how FB prioritises news and personal messages in your timeline. Talking Points Memo reflects on it and doing so formulates a few things I find of interest.

TPM writes:
Facebook is a highly unreliable company. We’ve seen this pattern repeat itself a number of times over the course of company’s history: its scale allows it to create whole industries around it depending on its latest plan or product or gambit. But again and again, with little warning it abandons and destroys those businesses.” …”Google operates very, very differently.”..”Yet TPM gets a mid-low 5-figure check from Google every month for the ads we run on TPM through their advertising services. We get nothing from Facebook.”..”Despite being one of the largest and most profitable companies in the world Facebook still has a lot of the personality of a college student run operation, with short attention spans, erratic course corrections and an almost total indifference to the externalities of its behavior.

This first point I think is very much about networks and ecosystems, do you see others as part of your ecosystem or merely as a temporary leg-up until you can ditch them or dump externalities on.

The second point TPM makes is about visitors versus ‘true audience’.
“we are also seeing a shift from a digital media age of scale to one based on audience. As with most things in life, bigger is, all things being equal, better. But the size of a publication has no necessary connection to its profitability or viability.” It’s a path to get to a monopoly that works for tech (like FB) but not for media, the author Josh Marshall says. “…the audience era is vastly better for us than the scale era”

Audience, or ‘true audience’ as TPM has it, are the people who have a long time connection to you, who return regularly to read articles. The ones you’re building a connection with, for which TPM, or any newsy site, is an important node in their network. Scaling there isn’t about the numbers, although numbers still help, but the quality of those numbers and the quality of what flows through the connections between you and readers. The invisible hand of networks more than trying to get ever more eye-balls.

Scale thinking would make blogging like I do useless, network thinking makes it valuable, even if there are just 3 readers, myself included. It’s ‘small b’ blogging as Tom Critchlow wrote a few months ago. “Small b blogging is learning to write and think with the network“. Or as I usually describe it: thinking out loud, and having distributed conversations around it. Big B blogging, Tom writes, in contrast “is written for large audiences. Too much content on the web is designed for scale” and pageviews, where individual bloggers seem to mimick mass media companies. Because that is the only example they encounter.

Google Reader five years dead

Five years ago, on July 1st 2013, Google killed their Google Reader. It was then probably the most used way to keep track of websites through RSS.

RSS allows you to see the latest articles from a website, and thus makes it easier to keep track of many different blogs and sites all at once. RSS is a very important part of the plumbing of internet.

I used to read everything through RSS, but over time people migrated to FB, stopped blogging, fell silent. Services like Twitter stopped providing RSS, website owners forgot it was a standard feature. Google Reader stopping meant that many casual users stopped reading the web with RSS. Browsers stopped visibly supporting it.

Five years on, Dave Winer writes, Google Reader centralised a decentralised technology. We should have been more alert, choose an independent tool to read, and not hand it to a silo. Frank Meeuwsen says similar things, that removing the biggest RSS reader made room for new growth and variety.

Therefore:

Long Live RSS

Aral Balkan, timed with the 5th anniversary of Google Reader’s demise, blogged “Reclaiming RSS“, explaining what it does. RSS is an important part of letting the web be what it is best at, a decentralised space where all can read and write. Earlier in April Wired called for a RSS Revival as well.

How I read RSS
I interact with people, I don’t follow sites. That is how I shape and perceive my RSS reading, having all the feeds named after their authors, and grouping them in my reader roughly along my perceived social distance. From a group of people closest to me, to people I know well, not very well, to strangers whose writing I came across. Roughly following Dunbar-like group size levels. See the image below. This is because I see blogging as distributed conversations: you write something, I respond with some of my own writing. Blogposts building upon blogposts. So I set up my feedreader to reflect that conversational aspect. I use ReadKit currently, as I prefer an offline reader.


Screenshot of part of my RSS reader, in rough groups of social distance

You can find the link to my blog’s RSS feed in the right side column (with the orange icon). Any feedreader should also be able to automatically detect my blog’s feed if you point it to my web address.
I also publish which feeds I am reading. On the right hand side you see a link to ‘OPML Blogroll‘ which is a file of all the feeds I currently read that machines can read (the list is a bit out of date, but I update it every month or so). Any feed reader should be able to import that file.

In 2005 I described how I read RSS then, in response to Lee Lefever asking about people’s RSS reading routines. The current ‘grouping by social distance’ way of reading I have is the result of the search I mention at the end of that blogpost, on how to deal with a larger number of feeds.

How do you read RSS feeds?

Thirteen years on, I’m curious how you use RSS. How many feeds, what (daily) routine, what topics? How do you read RSS feeds?
I look forward to reading your take on it in my feedreader.

Back in April I wrote how my blogging had changed since I reduced my Facebook activity last fall. I needed to create more space again to think and write, and FB was eroding my capacity to do so. Since my break with FB I wrote more than since a long time, and the average weekly activity was higher than ever in the past 16 years. In april I wondered how that would keep up in the second quarter of this year so here are the numbers of the first half of 2018.

First, the number of postings was 203 this first half of 2018, or an average of 7 to 8 per week. Both as total number and as weekly average this is more than I have ever blogged since 2002 on even a yearly basis. (see the graphs in my previous posting Back to the Blog, the Numbers).

Mid April I added a stream of micro-postings to this blog, and that helps explain part of the large jump in number of postings in the first graph below. What microblogging helps do however is get the small bits, references and random thoughts out of my head, leaving more space to write posts with more content. I’ve written 84 ‘proper’ blog posts the last 6 months, of which 50 since adding the microblog mid April, so it has pushed up all my writing.


Blogposts 2018 per month. It shows July as week 26 ends July 1st, which had 2 postings


Blogposts 2018 per week, the micro blog started week 15

Let’s look at how that compares to previous months and years.


Number of posts per month since 2016. Leaving FB in October 2017 started a strong uptick.

I feel I have found back a writing rhythm. So tracking the number of postings moving forward is likely mostly of interest in terms of ‘proper’ postings and the topics covered, and less to see if I blog at all. My steps away from FB have paid off, and reconfiguring my information strategies for more quality is the next phase.

Dave Winer, one of, if not the, earliest bloggers asks what became of the blogosphere? It was a topic of the conversations in Trieste 2 weeks ago at State of the Net, where we both were on the program.

I get what he says about losing the center, and seeing that center as a corporation back then. This much in the way Tantek Celik talked about the silos first being friendly and made by the people we knew, but then got sold, which I wrote about yesterday. Creating a new center, or centers, is worthwile I concur with Dave, and if it can’t be a company at the center, then maybe it should be a network or an organisational manifestation thereof, such as a cooperative. An expression of networked agency.

Because of that I wonder about Dave’s last point “There used to be a communication network among bloggers, but that’s gone now.”

I asked (on Facebook), “What to you was that previous communications network, and what was it built on? What type of communications would you like to see re-emerge?” The answer is about being able to discover other bloggers, like Dave’s Weblogs.com platform used to do (and still does, but most updates are spam).

Blogs to me are distributed conversations. Look at the unbridled enthusiasm I expressed 11 years ago when I wrote about 5 years of blogging in this space, and the list of people I then regarded as my regular group of people I had blogged conversations with. It is currently harder to create those, and it has become harder for me to notice when something I write is reacted to as well. Much of the IndieWeb discussion is about at least being able to discover all online facets of someone from their own domain, and pulling responses to it back there too. Something I need to explore more how to do in a way that fits me.

In terms of communication and connecting, it would be great if I could explore the blogosphere much as in the picture below. Created by Anjo Anjewierden and presented at the AOIR conference in Chicago in 2005 by Lilia Efimova, it shows a representation of my blog network based on text analysis of my and other people’s blogs. It’s a pretty good picture of what my blog ‘neighbourhood’ looked like then.

Or this one also by Anjo Anjewierden from 2008, titled “the big one”. It shows conversations between my and other’s blogs. Grey boxes are conversations across blogs (the bigger the box, the more blogpostings), the other dots are postings that refer to such a conversation but aren’t part of it. Top-left a box is ‘opened up’ to show there are different postings (colored dots) inside it.

Makes me want to have a personal crawler that maps out connections between blogs! Are there any ‘personalised’ crawlers out there?

Earlier this month I asked Frank Meeuwsen a question, about his rss feeds, and he responded (in Dutch). He did so as a direct response (hey Ton!). He referenced a posting by James Shelley who suggests writing postings in the second person, as open correspondence really.

I definitely see blogs as distributed conversations. You write something, I may respond on my own blog, such as now. That response may either directly engage your post or may go off on a tangent, or weaves it into a broader conversation by pointing to other blog posts from other authors. It’s not the original use case why I started blogging, that was ‘thinking out loud’, but conversations definitely is the use case why I kept doing it for over 15 years now.

I also always treat blogs as the personal voices of their authors. Unless it’s an online magazine format, like Ars Technica for instance. In my feed reader I therefore always add the name of the author first. I’m not following publications or channels, I am reading what individual people write. Over time from that reading interaction and then connection may well flow. That’s also why I order my feeds roughly on social distance. Those closest to me I will check daily, those further away I may check less, depending on time or on having a specific question where I’m curious what others may write about that.


part of my reading lists: persons not publications

James’ suggestion I both like and feel slightly uncomfortable with. Like, because it is aimed at making blogs distributed conversations, which is a core purpose of my blog. Getting away from feeling like you’re writing a news article, striking a more informal tone, definitely helps. It likely is also a good way to blog more. A while ago when I asked my network what to write about more, one of the suggestions (by Georges Labreche) was to write an epistolary travel log novella. This, as my blog would actually provide all the material, with all the links to other blogs and authors in my postings. In James’ suggestion the blog itself would already be that epistolary travel log. My blog in that sense is too, just the form of address is different.

The discomfort is probably caused by also wanting to maintain a permanent open invitation to others to join in. To not exclusively address something to someone, and not discourage others lurking from contributing. Usually I am aware of others that are likely to have a perspective to add.
Another factor is supplying enough context. I agree that the first paragraph which allows you to follow the context of this posting as part of a conversation feels contrived and is ‘dry’ to read. Yet, I feel it is necessary to convey in some form. In a second person form this context would likely be left out completely as the counterpart already knows the context. That makes it harder to follow for those who have just one side of the conversations as their window on it.

But yes, let’s build more conversations, James and Frank. I’m definitely with you both on that.

At least I think it is…. Personal blogs don’t need to comply with the new European personal data protection regulations (already in force but enforceable from next week May 25th), says Article 2.2.c. However my blog does have a link with my professional activities, as I blog here about professional interests. One of those interests is data protection (the more you’re active in transparency and open data, the more you also start caring about data protection).

In the past few weeks Frank Meeuwsen has been writing about how to get his blog GDPR compliant (GDPR and the IndieWeb 1, 2 and 3, all in Dutch), and Peter Rukavina has been following suit. Like yours, my e-mail inbox is overflowing with GDPR related messages and requests from all the various web services and mailing lists I’m using. I had been thinking about adding a GDPR statement to this blog, but clearly needed a final nudge.

That nudge came this morning as I updated the Jetpack plugin of my WordPress blog. WordPress is the software I use to create this website, and Jetpack is a module for it, made by the same company that makes WordPress itself, Automattic. After the update, I got a pop-up stating that in my settings a new option now exists called “Privacy Policy”, which comes with a guide and suggested texts to be GDPR compliant. I was pleasantly surprised by this step by Automattic.

So I used that to write a data protection policy for this site. It is rather trivial in the sense that this website doesn’t do much, yet it is also surprisingly complicated as there are many different potential rabbit holes to go down. As it concerns not just comments or webmentions but also server logs my web hoster makes, statistics tools (some of which I don’t use but cannot switch off either), third party plugins for WordPress, embedded material from data hungry platforms like Youtube etc. I have a relatively bare bones blog (over the years I made it ever more minimalistic, stripping out things like sharing buttons most recently), and still as I’m asking myself questions that normally only legal departments would ask themselves, there are many aspects to consider. That is of course the whole point, that we ask these types of questions more often, not just of ourselves, but of every service provider we engage with.

The resulting Data Protection Policy is now available from the menu above.

I’ve finished building an AppleScript for automatically creating a Suggested Reading blogpost from my Evernote bookmarks quicker than I thought.

Mostly because in my previous posting on this I, in an example of blogging as thinking out loud, had already created a list of steps I wanted to take. That made it easier to build the step by step solution in AppleScript and find online examples where needed.

Other key ingredients were the AppleScript Language Guide, the Evernote dictionary for AppleScript (which contains the objects from Evernote available to AppleScript), the Evernote query language (for retrieving material from Evernote), and the Postie plugin documentation (which I use to mail to WordPress).

In the end I spent most time on getting the syntax right of talking to the WordPress plugin Postie. By testing it multiple times I ultimately got the sequence of elements right.

The resulting script is on duty from now on. I automatically call the script every Monday afternoon. The result is automatically mailed to my WordPress installation which saves it as a posting with a publication date set for Tuesday afternoon. This allows me time to review or edit the posting if I want, but if I don’t WordPress will go ahead and post it.

There is still some room for improvement. First, I currently use Apple Mail to send the posting to WordPress. My default mail tool is Thunderbird, so I had to configure Mail for this, which I had rather not. Second, the tags from Evernote that I use in the title of the posting aren’t capitalised yet, which I would prefer. Good enough for now though.

I’ve posted the code to my GitHub account, where it is available under an open license. For my own reference I also posted it in the wiki pages of this blog.

The bookmarks to use as listed in Evernote..


…and the resulting posting scheduled in WordPress

For a few things I use Apple Script to automate tasks. For instance if I start a new project, I run a script that creates basic things like folders, standard to-do’s and notes on my hard drive and in my Things and Evernote applications. They save me time and let me avoid a lot of repetitive work. I wrote those scripts years ago, and meanwhile I have forgotten what little I knew about Apple Script.

Now I’m trying to build a new script. I had thought about this already, then Frank Meeuwsen’s similar steps (in Dutch) triggered me to start.

During my reading online I save articles and documents into Evernote, which I tag and store.
I’d like to automatically create a Suggested Reading posting weekly based on what I save in Evernote. I imagine adding a specific tag for this to the things I save, so I can also save things without them showing up in such a posting. The articles I save usually have a short sentence about why it’s relevant to me.

This means:

  • Running the script automatically weekly
  • Selecting Evernote notes from the last 7 days with the right tag
  • From each Evernote extract the short descriptive sentence I added, the associated weblink, as well as other tags I added when saving.
  • Then build a bullet list, with the descriptive sentences as text, and the link embedded either at the end, with its title as text, or maybe embedded in the description, based on some sort of indication.
  • Select three random tags that occur at least twice in the list of links
  • Add those three tags as part of the title of the blog post
  • Add all tags used to the tags for the blogpost
  • Set Linklog as the Category
  • Save as draft in my WordPress blog, with a scheduled post date of 16 hours.
  • Send me a message inviting me to review the draft and post. (If I don’t review, the posting will thus automatically appear)

I used to use a bookmarking service like Delicious or Diigo, and there used to be ways, or maybe still are, to blog automatically from their service. However it would necessitate me to save everything twice: As a bookmark and as a full article in Evernote. (Saving the entire article circumvents issues with link rot and paywalls, and allows me local full text search in all my notes)

I’ll likely suffer hours of frustration trying to find out how to do things correctly in AppleScript. Any pointers to useful resources (example libraries for instance) are therefore welcome.

(And yes, I understand the discrepancy between wanting to write a script to work with Evernote, while simultaneously wanting to leave Evernote)