oblique view of a book on which someone has laid their black rimmed glasses

An update to read posts for physical books

Inspired by gRegor Morrill’s IndieWebCamp Austin project, I went back and took a look at some of my read posts, and particularly for books.

For online material, I use the Post Kinds Plugin which does a good job of adding h-cite and p-read-of (experimental) microformats classes to the data for the things I’ve read.

Because Post Kinds doesn’t (yet?) support percentage finished or number of pages read, I generally do read posts for books by hand as notes with the relevant data. So I decided to add some better mark up to my book-specific read posts and added microformats classes of h-cite, u-url, u-read-of, p-name, p-author, h-card and dt-published. I’m far from an expert on microformats, but hopefully the way I’m nesting them makes sense to parsers off in the future. (Suggestions for improvement are more than welcome.)

I like Gregor’s idea of p-read-status for things he’s posting and will have to see how I can pull that off for posts in the future (or suggest it as an addition to Post Kinds). Presently I’m just adding a want to read tag, but that could be improved to better match the functionality I appreciate in silos like Goodreads. I’ll also have to load up Gregor’s recent modifications to Quill and test them out on my site as well. I know David Shanske has expressed interest in better aligning Quill and micropub clients to post to WordPress with Post Kinds in mind.

Here’s an example of the mark up of a recent read post:

Read pages 381-461 to finish reading <span class="h-cite"><cite><a class="u-url u-read-of p-name" href="http://amzn.to/2zXnQDC" target="_blank" rel="noopener">Origin: A Novel</a></cite> by <span class="p-author h-card"><a class="p-name u-url" href="http://danbrown.com/">Dan Brown</a></span><time class="dt-published" datetime="2017-10-103 00:00:00"></time></span>

It’s also made me begin to feel itchy about some of my past quote posts and potentially revisiting them to add the appropriate h-cite and related mark up to them as well. (Or at least fix it moving forward.)

Incidentally, my real camp project was some heavy editing work on “The Book.” More on that later…

Published by

Chris Aldrich

I'm a biomedical and electrical engineer with interests in information theory, complexity, evolution, genetics, signal processing, IndieWeb, theoretical mathematics, and big history. I'm also a talent manager-producer-publisher in the entertainment industry with expertise in representation, distribution, finance, production, content delivery, and new media.

23 thoughts on “An update to read posts for physical books”

  1. Just a note: I did not actually get around to changing the Quill micropub request. I only updated the microformats on some read posts. I will do it manually for a little bit longer just to see if any other issues pop up, then I will add it to Quill.
    For the p-read-status, what do you think about these machine-readable values to start: to-read, reading, finished? want-to-read seems verbose to me for a machine-readable value.

    1. Khürt, you’re definitely seeing the sausage being made with this one! This is all very experimental stuff that only a small handful of people are working on or are interested in at the moment. Some of us want to recreate the functionality of silos like Goodreads, Library Thing, etc. I actually don’t think there are currently any tools that automate what we’re doing here, and of course it’s definitely part of your favorite expression: “manual until it hurts”. Eventually we’ll figure out how to work out the kinks/bugs, and there will be better and smoother UX/UI for all of it as well as automation, but you’ve got to start somewhere right? 🙂 Research, documentation, tests, self-dogfooding, and continued iteration with a soupçon of WWTD. I’m doing it because I used to rely heavily on Goodreads and don’t want to anymore. I’d much rather own the data on my own site, so it’s worth it to me to make the attempt manually until I’ve got things working the way I’d like. You’ll notice that this is what gRegor is also doing as he mentions in his reply. Hopefully the work we’re doing will make it easier for others who are interested in these pieces in the future.

      I’m glad to hear that you’ve got Untappd squared away in a way you like. It does look really nice on your site! (Perhaps once I’m further along with reads, I’ll take a draught of it myself). If you get a moment, jump into the wiki and document what you’ve done so that others can not only see, but potentially not have to reinvent the wheel themselves. (Or at least add a link to your original post that outlines it.)

      I’m sorry to hear you’re having trouble with some pieces. I will note that David Shanske, the creator of the Post Kinds Plugin has recently been working on it in conjunction with the Micropub plugin and OwnYourSwarm to make owning checkins more robust and easier to set up with WordPress. I don’t think he’s quite there yet, but I know he’s made some huge strides in the past month. If you’re interested, I recommend you catch him one evening in the chat (or via the GitHub issue queue) to let him know what problems you’re seeing/having so that things can improve. His chat handle is GWG. (Since you’re syndicating stuff to Untappd, you might also suggest he add the icon for it to the Syndication Links Plugin too since I don’t think it’s currently in the list of supported sites.)

      I’m not sure which version of SNAP you’ve been using, but I feel your pain as I know it’s not always 100% solid and it’s far more complicated than it probably should be. I’m still using the older 3.8.8 version and haven’t made the major recent upgrade(s) to 4.X.X as I haven’t had time to test it out on my development server yet. It’s working well enough for my present needs, so I’m letting updating it slide for a bit while they’re working out some of the bugs that the new version has surely introduced.

      I’m curious which Instagram methods you’ve tried from https://indieweb.org/Instagram? I know that many use OwnYourGram which works relatively well with most platforms including WordPress. I personally have been using DsgnWrks Instagram Importer which is somewhat similar, but as a WordPress plugin it adds a lot more WordPress specific customizations for the meta-data and data handling above and beyond OYG. I should spend some time and document what I’ve done to customize it. If that’s not your cup of tea, I know that Tantek made an Instagram export bookmarklet at IndieWebCamp LA last year that you might appreciate for cutting and pasting data more quickly to create posts.

      I’ve noticed that as more and more people are using all these tools, we’re finding more bugs and quirks and they’re improving incrementally more rapidly than before, so kudos for keeping up with the changes.

      I love the monkey photo you chose for the featured photo on your reply! It’s both awesome and looks how I often feel when doing these things myself.

      Keep fighting the good fight!

      1. Ha! I was actually writing that comment on my site as a test, which I’m using to document my write-up. Since it didn’t actually flow through to your site, I didn’t think you’d see it. Apparently you were subscribed to the comment updates via email? If you did see it on your site (and moderated it out since I didn’t see it) let me know so I can change the report of the results.

        This is hopefully my last test, and I should have all of the current cases covered.

    2. Khürt, I just noticed another example of this type of self-dogfooding/experimentation for read posts by Eddie Hinkle Owning my Reading and 100 Days of Reading Chapters. Hopefully we can all come to some type of interesting consensus that makes it easier for others in the future.

      On your quest for tracking things like what you’re drinking, you might be interested to know that Aaron Parecki has a micropub client called Teacup, though I don’t know if anyone has gotten it to dovetail nicely with WordPress yet.

Leave a Reply

Your email address will not be published. Required fields are marked *