A quote about URLs from Tom Woodward

This is a collection of code that I often turn to when working with WordPress


Every time that I feel comfortable with my level of knowledge associated with WordPress, there is a problem that leads me to discover a particular attribute that I don’t know how I lived without. This time it is the code seemingly obfuscated beyond the WYSIWIG editor and the dashboard.

For some this code is about command line, while others it is about the bashing out the building blocks. My interest here is the everyday code, the little snippets that find there way in here or there while I work with WordPress, many of which have come from wandering through Chris Aldrich’s commonplace blog:

Webmentions

Webmentions are the building block for conversations across the web. However, with WordPress, they often get caught in moderation and/or flagged as spam by Akismet and other spam filter plugins. To prevent this, you can add this PHP snippet to your theme’s functions.php file:

function unspam_webmentions($approved, $commentdata) { return $commentdata['comment_type'] == 'webmention' ? 1 : $approved; } add_filter('pre_comment_approved', 'unspam_webmentions', '99', 2);

Alan Levine has documented the process of creating a child theme, which is useful when customising the code, while Gregor Morrill has developed code to approve webmentions from domains previously approved.

Microformats

Microformats is a data format built upon adopted standards and prior developments. There are a number of specifications, which can be manually added within the existing HTML. It provides the foundation for software to automatically process information. People like David Shanske and Matthias Pfefferle have developed plugins and themes to mark-up content in the backend. You can also use this site to check the microformats on your site, while for a more extensive introduction, listen to Tantek Çelik on the future of web apps.

Two microformats I have worked with are comments and rel=me.

Comment

Although the appropriate microformats are usually built into the Webmentions plugin. The plugin for theaded comments can be a bit more tempremental. Chris Aldrich recommends manually adding the reply class and URL just to make sure:

 <a class="u-in-reply-to" href="http://www.example.com"></a>

I have come to do this out of habit for replies now.

Rel-me

Another microformat incorperated into many Indieweb sites is Rel-me. It is used to consolidate identity, as well as domain sign in.

<ul> <li><a href="https://twitter.com/aaronpk" rel="me">@aaronpk on Twitter</a></li> <li><a href="https://github.com/aaronpk" rel="me">Github</a></li> <li><a href="https://google.com/+aaronpk" rel="me">Google</a></li> <li><a href="mailto:me@example.com" rel="me">me@example.com</a></li></ul>

Chris Aldrich has taken rel-me to its extremes by creating a page in which he records all his accounts. I have also started my own. For more on rel-me, watch Ryan Barrett’s keynote at IndieWeb Summit 2017.

Page Bookmarks

I remember coming across in plugin in Edublogs that allowed you to add a table of contents. This reminded me of the functionality in Google Docs and one of the things I noticed in both was the presence of a hashtag at the end of the URL. (Interestingly, now every heading in Google Docs has a unique identifier automatically created.) In Docs, this is something that can be added using the Bookmark feature, I wondered if the same could be done in WordPress. I discovered that within the tags, you insert ‘name=”unique-name”‘:

<a name="unique-name">Target Text</a>

This can then be used to guide readers to a specific point in your text.

Custom URLs for Post Kinds

Using the Post Kinds plugin provides a list a unique urls associated with the kinds of posts on the site. Chris Aldrich provides some guides in how to use these to create custom urls to generate a specific post screen. This can then be used to create a bookmarklet:

 http://example.com/wp-admin/post-new.php?kind=bookmark&kindurl=@url

Dariusz Kuśnierek provides some other examples of custom URLs, which help in U deratamding the way urls work in general.

RSS Feeds

RSS provides a means of following a site without checking in all of the time. To access a feed to follow in WordPress, you simply add ‘/feed/’ to the end:

http://www.example.com/feed

As some feeds can contain a range of content, it is possible to hone down to particular categories by adding ‘?cat=[category id]’ to the end.

http://www.example.com/feed?cat=[category id]

This can be useful if you only want to follow a specific subject or area.

Taking this a step further, you can also produce an RSS based on Post Kinds. Although not all blogs use these, for those that do it can be a useful demarcation. Similar to categories, you add ‘?kind=type’ to the end of the feed.

http://www.example.com/feed/?kind=bookmark 

For more on RSS feeds, see this post from Chris Aldrich.

OPML

Where as RSS is used for a single feed, OPML allows a user to aggregate. I have written about them before. It is possible to store an OPML in WordPress. To access this you add the append ‘/wp-links-opml.php’ to the end.

http://www.example.com/wp-links-opml.php

In addition to this, Chris Aldrich has documented how to split a file into categories:

?link_cat=[category id]

I have yet to categorise my links, however Aldrich provides an extensive example.


So what about you? What little bits of code do you use? As always, comments welcome.


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Bookmarks as a part of serendipity

A reflection on using my own blog to reclaim my bookmarks and then syndicate them to other sites, such as Twitter and Diigo.


My one word this year is intent. For me this means many things, one of which is to consider my digital presence. In a post reflecting on Mark Zuckerberg’s attempts to fix Facebook, Doc Searls says that one of the lessons learnt is that we all live digital lives now:

So let’s at least try to look below what big companies, Trump and other dancing figures in the digital world are doing, and try to look at the floor they’re dancing on—and the ground under it. That ground is new and unlike anything that precedes it in human experience. Nothing matters more than at least trying to understand it.

For me, a part of ‘understanding it’ is in reclaiming some of the processes that have been outsourced to third-party platforms. This does not always mean leaving silos completely, but rather not being dependent on them so that if the door shuts or the terms of use change, there is no concern in having to leave. See for example the recent announcement that Storify is shutting down. One recent attempt I have been tinkering with is an effort to reclaim my bookmarks.


Capturing the Web with Radio3

I have been using Diigo for quite a few years. My workflow has gone through a number of iterations, such as emailing links to batch processing favourited sites. This has largely been dependent on my mobile operating system. For example, I have found the Android Diigo app a lot easier to share to than iOS. (Things may have since changed though). My frustration though was that I was completing a number of steps separately.

After exploring the features and affordances of Google+, I came upon Dave Winer’s Radio3 Linkblog, which allows you to push links out to various platforms, whilst also maintaining your own RSS. It involves selecting a site or quote and clicking on the bookmarklet to generate the short post. The creation of a separate feed provides the means to automate processes with IFTTT. This includes saving links to Diigo.

The problem I have with this process is that although I have an archive of my tweets and links via Diigo, I am dependent on these platforms for maintaining an archive of my linkblog. I trialed using an IFTTT recipe to create a weekly digest as well as the built in option to Diigo, however I was not satisfied with any of these solutions. One problem I faced was the inconsistency of the RSS feed produced by Radio3.

I have found that if I save a link with the bookmarklet without selecting any text, there would be no title included in the feed, even if I added or adjusted the description included in the textbox. Whereas, if I highlighted a chunk of text, the title is added. I guess the workaround would be to select the heading if there is nothing specific I wish to highlight? This seems a strange thing to complain about in regards to one of the forefathers to RSS and probably shows a lack of awareness on my behalf for how Radio3 works.

Another frustration with using Radio3 to send links to Diigo is that I really like capturing quotes when I save links. This is something that I have done for a while and one of the reasons that I like Radio3. I could not figure out how to bring these into the description in Diigo consistently, let alone as annotations. I even took to annotating the quotes with the Diigo browser extension. I wonder if Zapier would do a better job, but until I fork out the money for a paid subscription I am not going to know.

In the end, I could probably make Radio3 work for me. Probably deploying a script to collect everything, as Tom Woodward does with Pinboard, but I feel that I am almost doing that manually with the creation of my newsletter. I just feel apprehensive moving forward depending upon something held together by Dave Winer’s very good will. If it were open sourced, this may be different, but it is not.


Collecting Bookmarks

The next step then in my bookmarking journey has been to test out the idea of saving links on my own site and then syndicating them elsewhere. I have been exploring various post kinds lately, however yet to tinker with bookmarks.

One of the inital challenges was how to syndicate. Like most, I had installed –Jetpack and used that to publicise to various social media sites. This is a relatively easy process where you activate the various connections by giving permissions. However, Jetpack is limited in what sites it supports. There is no option to connect with Diigo.

I therefore installed the Social Network Austo-Poster (SNAP) plugin. Although I could generate a custom feed based on my bookmarks and use this with IFTTT, I would prefer to do something within my own site. One of the differences between SNAP and Jetpack is that rather than just give access you need to go through the process of generating API keys. This to me is closer to Searls’ call to understand our digital reality. Although this might seem daunting for some, the plugin provides thorough documentation to support users.

What I like about SNAP is that you can set a default structure for auto-posts, combining a number of predefined ingredients, but you can also quickly customise these when needs be. So if you want to share with a specific user or hashtag on Twitter, but not on Diigo, then you can adjust the Twitter description.

The last thing to consider with using my own site is developing a clear process for saving bookmarks. My first step was to create a bookmarklet using Chris Aldrich’s Post Kinds template. Also, I setup a process for sharing via Mobile using URL Forwarder app. This was a part of the puzzle missing with Radio3.


What Next?

I like the idea of collecting my bookmarks on my site. However, it has forced me to reflect on a number of things. One is the ability to properly syndicate to Diigo and Twitter. With Radio3, the publicised links connect to the corresponding site, whereas when I bookmark using my site, it shares the link to my post rather than the original site. This has me rethinking why I bookmark and POSSE. Maybe I do not need to share links to the original source, especially when my bookmarks have secondary information.

Another interesting feature to using my blog has been the ability to link to other sources within my descriptions. This is something that I do with my newsletter. On the other hand, I wonder if every link needs this level of detail. An answer to this maybe to utilise some other response post kinds, such as Likes and/or Favourite to support my blog as a resource.

This also leads me to wonder about the place of my Wikity blog. I really like the concept of constructing knowledge and ideas over time, however, I do not connect with other Wikity sites, one of the features Mike Caulfield built into the theme. I therefore wonder if these posts could be added as Notes or Articles, as I like having a title and in some themes the title of notes is chopped off.

Maybe rather than using Likes or combining my Wikity posts I maintain these other spaces, such as Radio3 and use them for specific purposes. Or maybe I need to dive into Known again, even if it seems that people are leaving? I think for now I might continue bookmarking with my site and see where it all goes.


So what about you? What process do you use to bookmark links for later? Has it changed over time? As always, comments welcome, especially if you have any tips or tricks that might help me on my way.



Also posted on IndieNews


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Clay Shirkey on the need to continually rethinking our workflows

Technology is always adapting and evolving, here are a few of the recent changes to my digital workflows.


In a post discussing the setup of digital devices, applications and workflows, Clay Shirky explains how he regularly changes things up:

At the end of every year, I junk a lot of perfectly good habits in favor of awkward new ones.

This disruption seems important in a time when platforms are designed to maximise our attention. As Shirky warns:

The thing I can least afford is to get things working so perfectly that I don’t notice what’s changing in the environment anymore.

Change can take many shapes. Although I may not shake things up as much as Shirky, here are some recent tweeks that have kept things fresh:

Pocket

For a long time I have used Pocket to save links to come back to. It was one of the first applications I really took to. I use a range of methods to add content, whether it be via email, using an IFTTT recipe which saves my Twitter favourites or an extension in the browser. I then either read it later or listen depending on the device or context.

I started out listening using Lisgo, an iOS app. However, this functionality is built into the Android application so I scrapped the additional app when I changed phones. The only issue I had with listening via the Android app is the requirement to select a new article each time. A recent update completely changed that with the addition of continuous playback. This allows you to organise your various links in a playlist and listen to one after another. This new feature has lead me to rethink how I use Pocket and subsequently saving more and more links to listen to

In regards to other aspects of the application, I have never really used the tagging or archiving features. Instead I bookmark elsewhere and then delete the articles in Pocket once I have finished with it. The best functionality is still the ability to read a stripped back version of the text. AMP without all the other stuff associated with AMP. I wonder how Pocket will grow with the acquisition by Mozilla?

Inoreader

I love Feedly. I came to RSS Readers around the time Google pulled its reader from production. Before that, I relied on a combination of Pocket and social media. Feedly was perfect. I progressively built my feed over time getting to the point of following 200+ blogs. I also developed a a process which allowed me to capture a quote and share it out on Twitter.

I did not have any qualms, however when Chris Aldrich pointed out the limitation of storing your OPML file within the application I was intrigued. I didn’t really like how Feedly organised the various categories and always found it tedious to backup my OPML to share with others. The answer is to subscribe to an OPML Feed stored in the links of a WordPress site, rather than upload a static file. Feedly does not allow for this, but Inoreader does.

Starting afresh has been good. There are no features that I used in Feedly that are no replicated in Inoreader. Instead there are ways of working in Inoreader that I prefer, such as the ability to quickly mark posts as ‘read’ by pulling across, rather than swiping, as well as the potential to create my own filters. This maybe a start towards Aldrich’s idea of an #IndieWeb algorithm? At the very least, it helps in understanding how some of these things work and the infrastructure behind them.

Trello

I have written about the features and affordances associated with Trello before. One of the challenges that I have had with the application is how to get it to work for me. A lot of people talk about using the Kanban approach to support an agile way of working. This often involves allocating ‘points’ or colours associated with blocks of time, setting due dates and focusing on priorities. I tried this both personally and in my workplace. It did not work. I decided to leave it for a while and come back at a later point with fresh eyes.

In leaving the application alone, it quickly became apparent why I needed it. I had some documents in my Google Drive, PDF files sent to me via email, links to resources and notes that needed to be recorded somewhere. I therefore wondered if instead of a means of managing priorities that instead Trello could become something of a digital filing cabinet, Something of a ‘canonical URL’, where if you wanted to find something you would start there.

Creating a list for each of the key focuses, the cards broke down the various projects and activities. Each card then contains a description summarising what it is about and a list of resources associated with it. This is all done using Markdown. These resources are all added into one Google Drive folder and linked from there. The card comments are then used to provide a historical snapshot, documenting any developments, additions and meetings, while the checklists are used where applicable.

This new way of using Trello also led me to review my own use. A few years ago I set up multiple boards for all the things that I do personally, whether it be blogging, presentations or projects. Similar to my work experience, this failed. It was too busy and needed to be more efficient. After being reenergised by my use at work, I wondered if I could condense everything into one board? I therefore created lists associated with blogs, projects, ideas, interesting links, things to listen to etc and used the cards to unpack each of these areas. This has subsequently led me to crafting my blog posts using Markdown in the description section and adding links and notes in the comments. Although having its limitations, it is a much smoother process than writing Markdown in a Google Doc which I had started doing. When I want a more thorough writing space though I use Typely.

Typely

I remember reading a rant from Marc Scott a few years ago on the use of Microsoft Word, although it could have been about Google Docs as well. He ended with the plea:

Learn to write in sodding Markdown.

I understand Markdown, but could never find the right reason or workflow. I kept stumbling upon different cases, whether it is Kin Lane’s use of Markdown with Jeykl and GitHub or Mike Caulfield’s Wikity WordPress theme with Markdown built into the bookmarklet. However, it was not until I started having issue with extra bits of code when copying text from Google Docs into my blog or newsletter that I realised why Markdown is so important.

I have been exploring a number of applications to support publishing of late, whether it is add-ons such as Grammarly and Pro Writing Aid or applications in general such as Google Docs and Trello. Initially I took to writing Markdown in Google Docs and pasting the text into a converter. This workflow though does not allow you to preview the text along the way. Using Trello allows you to work cross-platform. However the need to flick between preview and editing screen is tedious and not ideal. I recently came upon another application called Typely.

Typely is best understood as a beefed-up text editor. There are no hyperlinks or formatting. Instead you focus on writing. Other applications offer a similar experience, but where Typely differs are the various options to customise the experience, whether it be turning Markdown preview on or off, switching to a blog background or selecting rules to check for. The screen also adapts to the size of the screen, with panes collapsing if there is not enough space. It does not really work on a mobile screen though. Unlike Pro Writing Aid, the error highlights can easily be turned on and off or resolved. Although on a Chromebook, the combination for resolving issues (CTRL + Spacebar) is allocated to changing between languages. There is also the ability to open and save documents across different platforms if you sign in.

Noterlive

I have long used Twitter to share thoughts and findings at conferences, including quotes, reflections and links. This has gone through many iterations, whether it be retweeting what others shared or typing in a document first before sharing out. One of the challenges that I have always had though is how to meaningfully archive this content?

The obvious answer is to curate tweets and embed them. Like so many others, I have used Storify in the past. However, with its move to a paid product, other solutions are needed. I have also used Martin Hawksey’s TAGS script before to make collections of Tweets. Although these can be easily embedded into WordPress, this archive is broken if the original Tweet is deleted. Although Hawksey provided a link to another application for producing a full embed code, I could not get this to work.

Another option is Noterlive. This web app created by Kevin Marks was designed for making IndieWeb live noting (aka live tweeting/live blogging) easier and simpler. Chris Aldrich summarises it as follows:

It not only organically threads your tweets together into one continuing conversation, but it also gives you a modified output including the appropriate HTML and microformats classes so that you can cut and paste the entire thread and simply dump it into your favorite CMS and publish it as a standard blog post. 

Aldrich has also compiled some additional instructions. See an example here.

As an approach and application, Noterlive provides a means of recording snippets of text in a thread. However, it does not allow you to attach media or connect to the actual Tweet. You are also unable to include other Tweets directly in your archive. A solution to this is to add this content when you save the simple HTML archive. This can be a good point of reflection.


So there are a few of the recent changes to my workflows, what about you? Are there any applications that have made you rethink the way you work lately? As always, comments welcome.

Also posted on IndieNews


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

RSS Standard and the Foundations of Blogging

With the potential demise of social media, does this offer a possible rebirth of blogging communities and the standards they are built upon?


There is something wrong with social media. Responding to John Lancester’s article in the London Review of Books, Alan Levine suggests that the only response is to exit Facebook. For Duckduckgo, the issue is the 75% of the top sites incorporate Google trackers. Nicholas Carr heralds a new era where we will depend on third-party security support, an era where even thinking is automated. Writing about the disempowering nature of Twitter, Kris Shaffer argues that the answer is not simply moving to Mastadon.

For some the answer is about going ‘old school’, a blogging Renaissance. Oddly, there seems to be a push in some communities for subscribers and email newsletters. This is done by adding sign ups that pop out of posts (even if you have already signed up). If we are to truly have a rebirth though then the technology that I think we need to reinvest in is RSS.

Short for Really Simple Syndication or Rich Site Summary, RSS is a standard that allows users to receive updates to content without the need to manually check or be in fear of missing something due to an inconspicuous algorithm working in the background. As David Nield explains,

One of the main reasons RSS is so beloved of news gatherers is that it catches everything a site publishes — not just the articles that have proved popular with other users, not just the articles from today, not just the articles that happened to be tweeted out while you were actually staring at Twitter. Everything.

Usually this feed is built from the web address. If not shown on the site, tools like the Connected Courses Magic Box can be used to capture it. Some platforms, such as WordPress, also allow you to create a custom feed based on a particular tag or category. You do this by selecting the particular tag or category and adding ‘/feed’ to the end of the URL. Useful if wanting to follow just a particular topic. Although feeds themeselves can be adjusted, this is done in the backend.

To sort through ‘everything’, you use a news aggregator, such as Feedly, Digg Reader or Tiny Tiny RSS. These applications allow you to collect a number of feeds in the one place. These feeds are stored as an OPML file, a format designed to exchange outline-structured information.

As a side note, these applications each have their own features and affordances. For example, Feedly now restricts new users to 50 feeds before asking for payment.

There are a number of ways to develop and edit an OPML file. You can use an OPML generator to build an outline or use an editor to refine a pre-existing list shared by somebody else. Something useful when downloading the public links from a WordPress site. You do this by adding ‘/wp-links-opml.php’ to the end of the URL.


I am not sure whether social media will go away, but with the questions being asked of it at the moment, maybe it is time for a second coming of blogs, a possible rewilding of edtech. The reality is that technology is always changing and blogging is no different. Whatever the future is, standards such as RSS and OPML will surely play there part. So what about you? Do you have any other alternatives to social media and the challenges of our time? As always, comments welcome.


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.