Narwhal Microblog Plugin for WordPress: Quickly Posting Notes to your IndieWeb Site

This morning, after reading a brief, but interesting snippet in the IndieWeb WordPress chat from last night, David Shanske made me think about an old itch I had to have a quicker and more stripped down posting interface for notes on my website. I immediately thought of WordPress’s P2 and 02 themes/products which had a built-in simple posting interface reminiscent of Twitter’s UI. 

Screencapture of Twitter's simple posting interface

Not wanting to wait to see what David might come up with before the next couple of IndieWebCamps, I thought I’d at least do some research to see what was hiding in the good old WordPress repository. I found a few old plugins that were roughly the sort of idea I was looking for, but they were last maintained about 8-10 years ago. 

Then I came across the Narwhal Microblogging plugin from Billy Wilcosky, which is being actively developed/maintained and has almost exactly what I’m looking for!

Screencapture of the Narwhal microblogging plugin user interface

Apparently the plugin itself had an early simple start before the developer came across Jon Smajda’s plugin Posthaste which was apparently repurposed for the Prologue/P2 code that WordPress used for that product/theme. He’s since rewritten a large chunk of it based on Posthaste’s original code and added in some basic formatting options and the ability to add media, so one can post a quick note along with a photo.

Settings for the plugin are hiding in Settings << Writing admin interface (or at the path /wp-admin/options-writing.php on your website) which includes the ability to choose which pages to display the “widget” and allowing one to hide the title, tags, categories, draft seclector, one’s Gravatar, and the Greeting and Links. I’d personally pare my version down to just provide tags, categories, and the draft options to keep the interface as clean as possible.

Screencapture of the settings for the Narwhal plugin

Finally the developer notes that within the user interface “if you leave the ‘Category:’ box at its default setting it posts to your default category. However… If you have a category named ‘asides’, it will put posts with empty titles into the ‘asides’ category even if you do not explicitly specify the ‘asides’ category in the dropdown. You can then style them as asides.”

This is the view of the posting interface on my site after paring it down to my personal bare minimum.

Benefits

I’ve already discussed some of the immediate benefits for easily and quickly posting directly from my own website. Just below I’ll add a few others.

Most importantly for me at the moment, the plugin works with the Classic Editor in WordPress. The interface also only shows up when one is logged into their website, so visitors won’t ever see it.

Titleless posts

The plugin automatically takes the first 40 characters of your note and posts that into the title field, so you don’t have to bother with it. Sadly, this means that feed readers and other services will take your status updates and give them a title. (Though in the wild, most feed readers do something like this anyway. I am hearing strong rumors that Inoreader is about to have better support for social media-like posts soon.) For those using the plugin for IndieWeb use and prefer to keep their notes/asides/status updates titleless, you can spelunk into the code pretty easily and make a quick change which the developer kindly documents in his support page:

But, if you want to modify the title character limit it is easy to do.

  1. Go to this plugin’s folder and open the narwhal-microblog.php file.
  2. In this file you will see a line for this max character limit and you will see the number 40. You could just increase it to something like 100, 3500, or 999999. Depending on how long you are willing to let your titles get.

In my case, I think I’ll just decrease the character limit to 0 and then rely on the Post Kinds plugin to add it’s customary pseudo-title to the admin interface on my back end so that I can distinguish my posts in the posts pages.

UI suggestions

The category chooser could be a little cleaner and provide a dropdown of all my pre-existing categories with the ability to select multiple ones. I suspect that somewhere in the WordPress universe there’s a way to do this even if it means swiping a snippet of code from core’s editor.

The basic text box for entering text could be a bit smaller on the page to accept 2-4 lines of text since it’s meant for short posts. As it stands now, it defaults to 10, but it also smartly already has a slider that appears when you type more than the available number of lines and it also has a handle in the corner to allow you to increase the boxes size.

I’ve mentioned doing natively titleless notes above, but to make things a bit more user friendly, it would be nice to have the ability in the settings page to enter a number for the text excerpt, so that users could configure it without needing code. I suspect that most in the IndieWeb space would set the title excerpt to zero so as to not have titles on their notes.

It will take me some time to dig into it, but it would be nice if the developer had some notes about the CSS classes used in the plugin so that one might more easily style the display of the output on one’s website. Fortunately the defaults to match one’s current theme seem relatively solid.

At present, there isn’t any UI for including syndication targets to external services like Twitter, Mastodon, etc. It would be nice if there was some tie into syndication services or functionality like that provided with Syndication Links plugin and brid.gy publish or brid.gy fed if those pieces are present.

The last dovetail that would be nice to have, particularly within an IndieWeb framing, would be to have better direct integration of this plugin with the Post Kinds plugin. This could extend to auto-setting the post kind to “note”, which should in turn allow the automatic setting of Post Formats to either “status” or “aside”.

Summary

In sum, this plugin is really fantastic for allowing a simple and lightweight means of posting quick status updates or notes to one’s WordPress website! It’s the next best thing to using any of the variety of Micropub clients, particularly when you already happen to be at your own site.

I suspect this plugin is the sort of thing that many within the IndieWeb and WordPress communities will love using–and at least one person in the chat has already said they think it’s a great find. There are currently less than 10 active installations of the plugin, but I think it deserves a magnitude or more. Let’s see what we can do about that!

Have you tried it? What do you think of the idea?

It dawns on me that I haven’t used JetPack’s Publicize or social sharing functionalities in ages (particularly with the coming death of Google+), so I’ve gone in and finally turned them off. I’m still surprised they don’t return the URLs of where the content got shared for showing on the page with plugins like Syndication Links.

Update to the Syndication Links plugin for WordPress for Custom Endpoints

David Shanske has recently updated the Syndication Links plugin for WordPress that now allows users to add custom syndication endpoints to their websites so they can actually syndicate their content to external sites. 

In particular, this now includes syndication endpoints like IndieWeb News and indieweb.xyz subs. Configuring the plugin with a syndication name, UID, and the appropriate URL will create additional endpoint checkboxes in the “Syndicate To” metabox. (The UID is simply a unique identifier that the plugin uses in conjunction with Micropub clients, and the URL is the appropriate full URL to the appropriate syndication target.)

If one wishes to test syndication out, I might suggest using the test endpoint provided by indieweb.xyz. The appropriate entries in the custom provider section at /wp-admin/admin.php?page=syndication_links would be:

  • Name: xyz hottubs
  • UID: xyz-hottubs
  • URL:  https://indieweb.xyz/en/hottubs/
Settings for configuring custom syndication endpoints in the Syndication Links plugin

For convenience, the settings page also allows the user to disable (via checkbox) endpoints they don’t use or don’t want to appear in their administrative meta boxes.

An example of the meta box that appears in the administrative interface when creating new posts. To syndicate your content to the desired sites using Webmention, just click the appropriate boxes.

Use with Micropub Clients

The update to the Syndication Links plugin also means that Micropub clients with appropriate support (like Quill, for example) will know about which syndication endpoints your site supports and will be able to include them in its checkbox list for auto-syndicating via Micropub.

Example Quill micropub interface with syndication endpoints configured within Syndication Links plugin

Naturally, people using these methods should be very careful about how they’re using them so that they aren’t abusing or spamming these channels. Those abusing these channels will certainly find their sites blocked from posting. Keep in mind that some of the syndication endpoints shown here are examples and that other endpoints exist or can be created on sites like indieweb.xyz. 

Bridgy for WordPress

I’ll also note in passing that the syndication functionality to Twitter, Flickr, and GitHub that the Bridgy for WordPress Plugin provides is now also available within the Syndication Links plugin, so those who already have Brid.gy set up with their websites can easily and safely deactivate and uninstall that plugin. Doing this will prevent the duplication of meta boxes in one’s admin UI. Given the migration of some of its functionality, it is certainly possible in the future that this plugin may be deprecated or the Brid.gy set up portion of its functionality may be merged into another plugin like the IndieWeb plugin.


👤  Chris McLeodJoe Jennett, and Khürt Williams may appreciate this the most for use with indieweb.xyz. It may be a minute too late for Brad Enslen however.

A few display quirks in the Syndication Links plugin

Filed an Issue Add and Display Syndication Links. (GitHub)
Contribute to dshanske/syndication-links development by creating an account on GitHub.
With the most recent update I’m noticing a few small edge case quirks that seem to have popped up:

For syndication to indieweb.xyz the displayed result (set for icon only) is giving a relatively interesting “info” icon,which is a reasonable proxy, but sadly the hover text is also “info” instead of a more useful or expected “indieweb.xyz”.

For syndications to reading.am (which I’m guessing still doesn’t have a service specific icon) instead of giving the old default image of a globe icon, it’s not displaying anything at all. I haven’t tested specifically, but are unmapped urls still given that old default icon?

I’m still seeing issues with my chrisaldrich.wordpress.com URL. Previously it displayed a blank space (presumably not able to understand the inpub), but the newer version is displaying the word “WordPress” even when I’m using icons only. (Example: https://boffosocko.com/2019/02/14/a-sketch-for-an-indieweb-bullet-journal/#Syndicated%20copies) My initial inclination is that the two instances of “WordPress” at https://github.com/dshanske/syndication-links/blob/057733d921b485cf8f0eb98b28b104ccb708bd21/includes/class-syn-meta.php#L333 are both CamelCase when all the other examples around/near that segment of code are all lower case.

👓 Syndication Links 4.0.0 Released | David Shanske

Read Syndication Links 4.0.0 Released by David ShanskeDavid Shanske (David Shanske)
Today, from my hotel room in Berlin, Germany, where I am preparing to attend Indiewebcamp Berlin, my first European Indiewebcamp, I released Syndication Links 4.0.0. The major version number change is because in this version, Syndication Links takes on a new role. As promised previously, I’ve buil...
Yet another update from the unstoppable David Shanske! I can’t wait to try this out.

A pencast overview (with audio and recorded visual diagrams) of IndieWeb technologies

I’ve seen a bunch of new folks coming into the IndieWeb community recently who are a bit overwhelmed with the somewhat steep learning curve of both new jargon as well as new ideas and philosophies of what it means to have one’s own domain and presence on the internet.

While parts of the IndieWeb’s overall idea are quite simple, where the actual rubber meets the road things can be a bit overwhelming, and more so if you’re a non-technical person. This doesn’t have to be the case. Generally I’d recommend to people to begin attending local Homebrew Website Clubs or, even better, to attend an IndieWebCamp in person to get a one day crash course followed by a day of building and help. Sadly, life can intervene making these not as quick and immediate a reality as one might otherwise like.

So toward the end of making the crash course to explain in relatively broad terms some of the basic terminology as well as some of the bigger individual pieces and what’s happening when using an IndieWeb site with most of the major new functionality built in, I’ve made a short pencast of what is going on. Naturally there’s still a tremendous amount to learn and do, and a million things which could always be better or improved, but if you’re setting up a site using WordPress this overview will hopefully get you a lot further a lot faster. (It may also be useful for those setting up Known or even something for micro.blog, though those will have different plugins and other small quirks that aren’t covered here.)

What is a Pencast?

Pencast?! What is that? It’s a technology that has been around for a while courtesy of Livescribe.com digital pens which not only record an audio file of what is being said, but also record penstroke by penstroke what is being written. Even better the audio and the penstrokes are crosslinked, so you can more easily jump around within a lecture or talk.

To do this you should download the version of the notes in Livescribe’s custom Pencast .pdf format. This seems like a standard .pdf file but it’s a bit larger in size because it has an embedded audio file in it that is playable with the free Adobe Reader X (or above) installed. With this version of the notes, you should be able to toggle the settings in the file (see below) to read and listen to the notes almost as if you were sitting with me in person and I was drawing it out in front of you as I spoke. You can also use your mouse to jump around within the pencast by touching/mousing to particular areas or by jumping forward and back by means of the audio bar. If you need to, also feel free to zoom in on the page to have a closer look.

Pencast version

An IndieWeb Crash Course [14.9MB .pdf with embedded audio]

Viewing and Playing a Pencast PDF

Pencast PDF is a new format of notes and audio that can play in Adobe Reader X or above.

You can open a Pencast PDF as you would other PDF files in Adobe Reader X. The main difference is that a Pencast PDF can contain ink that has associated audio—called “active ink”. Click active ink to play its audio. This is just like playing a Pencast from Livescribe Online or in Livescribe Desktop. When you first view a notebook page, active ink appears in green type. When you click active ink, it turns gray and the audio starts playing. As audio playback continues, the gray ink turns green in synchronization with the audio. Non-active ink (ink without audio) is black and does not change appearance.

Audio Control Bar

Pencast PDFs have an audio control bar for playing, pausing, and stopping audio playback. The control bar also has jump controls, bookmarks (stars), and an audio timeline control.

Active Ink View Button

There is also an active ink view button. Click this button to toggle the “unwritten” color of active ink from gray to invisible. In the default (gray) setting, the gray words turn green as the audio plays. In the invisible setting, green words seem to write themselves on blank paper as the audio plays.

 
If you have comments or feedback, I’m thrilled to receive it. Feel free to comment below, or if you’ve already IndieWebified your site, write your comment there and send it to me via webmention, or add your permalink to the box below. Ideally this version of the pencast is a first draft and I’ll put something more polished together at a later date, but I wanted to get this out there to have a few people test-drive it to get some feedback.

Thanks!​​​​​​​​​

Reply to Bridgy Registration

Replied to Bridgy Registration · Issue #102 · indieweb/wordpress-indieweb (GitHub)

I have some functionality in the Bridgy app that allows someone to register for Bridgy for various services. I'm thinking of moving this functionality into the Indieweb plugin. All it is is a series of links that redirect you to the Bridgy site and redirect back when done.

That seems like Indieweb plugin territory.

I think there’s certainly a case to be made that it may make sense to include it in the IndieWeb plugin, particularly as it’s often a one time set up operation.

I also think that it might make a lot of sense to put that piece into the Syndication Links plugin as well since that’s a piece that directly relates to something Brid.gy is looking for to do backfeed. Doing this may also make even more sense if Syndication Links becomes a tool for POSSE as well. It would be nice to have a definitive one-stop-shop for syndication and backfeed related functionality.

As a “throw-away” aside, if you’re looking for a good name for such a thing, perhaps Boomerang? Throw your content out there and all the responses return back to your site?

 

 

Setting up WordPress for IndieWeb use

I spent some time this morning doing a dry run through setting up a suite of IndieWeb plugins on a fresh WordPress installation. Going off of a scant outline I talked for almost two hours describing IndieWeb functionality as I set it all up. Hopefully it will provide a useful guide to newcomers to the space until I can write up a more solid outline and take a more polished approach. Apologies in advance for the roughness of the audio, lack of quality, and even live mistakes. Hopefully folks won’t mind suffering through until we can come up with some better tutorials.

As prerequisites, I assume you’ve already got your own domain and have installed WordPress on a server or other host. I actually finish setting up the WordPress install as I start the video and then sign in for the first time as we begin.

While many of the core plugins are straightforward, there is a huge amount of leeway in how folks can choose (or not) to syndicate to sites like Twitter, Facebook, and others. Here I make the choice to use the Bridgy Publish plugin and only demonstrate it with Twitter. With one example shown, hopefully other silos can be set up with Brid.gy as well. The IndieWeb wiki details other options for those who want other methods.

At the end I walk through creating and syndicating a post to Twitter. Then I demonstrate commenting on that post using another CMS (WithKnown) from a separate domain.

I do my best to provide verbal descriptions and visual examples, but these can certainly be supplemented with further detail on the IndieWeb wiki. I hope to come back and add some diagrams at a later date, but this will have to suffice for now.​​​​​​​​​

For those who would like an audio only version of this talk, you can listen here (.mp3):

Feature Idea: UI code to create an original-of page and/or widget

Filed an Issue Syndication Links Plugin for WordPress (dshanske/syndication-links) (GitHub)
Add and Display Syndication Links https://wordpress.org/plugins/syndication-links/
I noticed that Kartik has an an original-of page at https://kartikprabhu.com/original-of which may have inspired the original-of URL functionality for use in Syndication Links.

For improved UI, is there a code snippet that could be created (or which already exists?) that could be added to a custom page to allow the creation for a simple search for such things the way Kartik has done? I’m thinking of something along the lines of <?php get_search_form(); ?> which can be added to 404 page templates to allow the addition of a search box on such a page to get the user moving in the right direction.

This type of original-of search functionality could also be added to a simple widget as well so that one doesn’t need an entire page for it. Suggested verbiage: “Have a social media permalink for a piece of content? Use it here to search for the original version on this site.”

Replied to Support for importing syndication links for Mastodon Autopost · Issue #75 · dshanske/syndication-links by Chris Aldrich (GitHub)
Now that SL has the Mastodon icon (#66), I'll also note that the latest version of Mastodon Autopost plugin should now also support importing the URL for the last successful toot to allow the closure of automating the POSSE loop.
I’m verifying, for the tape since I know you don’t use Mastodon Autopost, that this works as expected now.