A talk between two users

I had a great discussion today with Frank McPherson about OPML, OPML includes, my OPML Includes test app, and our joint experiment in using drummer.this.how to show included files. We agreed that to view updates in drummer.this.how for an OPML file that includes another OPML file, the master OPML file has to be opened in Drummer and refreshed to see updates. In my test app, when a user goes to the app URL, they will get the latest updates for all included files. This will also occur each time the test app is refreshed in the browser.

Another subject we discussed was how a user could know if updates had been made to one of the OPML files. The JSON object for the included OPML files contains the lastModified element from the head of the OPML file, so this date/time could be displayed like in the drummer.this.how app for any or all of the included OPML files. Frank wrote about having each top-level headline as an item in a RSS feed (one way to provide notification of changes). I could envision an app that could look at changes in an OPML file and create some kind of item using the namespace feature in RSS. It is an area worth exploring.

I also spent some time today looking at Dave Winer’s update to the outlineBrowser toolkit. I downloaded his personal site repo and set up a test site using my Oregon elections OPML file, and the rendering/navigation looked good. I am going to work on trying to incorporate these latest changes into my OPML Includes test app.

Continuing experiments with OPML files

I reviewed Frank McPherson’s OPML experiment file, and saw that he suspected that updates to included files would not be visible unless the file was re-opened in Drummer. I decided to give this a test by adding another heading in my test file with some more text, then reloaded Frank’s test file. I did not see the new content. Next, I added Frank’s OPML file being viewed with drummer.this.how to my OPML Includes test app, and was pleased to see that I could view all of the new text in my test file. Another good result from this test is that the OPML Includes app was able to read the content of Frank’s file as an include file, and of my test file, so includes within an include file are brought in using the includes feature of opmlPackage. Excellent!

Demo of OPML Includes feature in opmlPackage

Dave Winer released an update to his opmlPackage NPM module in May 2022, adding a feature to be able to include other OPML files within an OPML file. I wanted to create a demo of this feature and show the outlines within a web app. I combined code from the outlineBrowser toolkit to create an Express application demonstrating this feature. A live demo is available here – check it out! Comments and suggestions welcome on the Github repo. Ken Smith and Frank McPherson were collaborators on this demo, I appreciate their input!

Using OPML to organize information for use

Recently, Ken Smith shared an example of a directory of activities to do during a wedding weekend (primarily for attendees not familiar with the area). I recently started a OPML directory of sorts on Oregon elections. Using the drummer.this.how feature from Dave Winer, these directories can be easily reviewed by others. I also recently created a Github repo to collect thoughts on organizing information for use, but it is not in OPML format (although it could be…)

In the early days of OPML, some people were trying to organize podcast directories using OPML files. The idea was that someone could be the maintainer of a directory on a topic, and that file could be included as a folder/directory within a larger directory structure. After playing with the new includes feature in opmlPackage, I started thinking about this again. My impression is that many people who post lists of things do so with the idea of sharing, but the reuse of that sharing is difficult. However, if the list was in an OPML file, this would lend itself to reuse/sharing/remixing. If you had a group of experts who could summarize/curate information/resources for a set of topics in OPML, this could be the basis of a larger work which could be updated at anytime by any of the experts (see Ken Smith’s “Beyond griping” post for more info). As I mentioned in this post, maybe starting a little “beachhead” for experimentation would be in order. Watch this space for more details!

Playing with includes in opmlPackage

This afternoon, I spent some time experimenting with opmlPackage from Dave Winer, focusing on the new feature to include other OPML files within an OPML file. The includes feature is only part of the Node version of the package (other features can be used in a browser). I changed the OPML file that had example includes to use three reading list files that I had in OPML format. I then changed the demo script to add logic to write out the new outline as a file (you can see it in this Gist) and ran it locally on my laptop. Finally, I created another copy of the OPML client to display the new outline (you can see it here). Looks like the includes feature is working fine!

I had a problem today looking at Ken Smith’s activity outline that I posted about on May 30th. When I looked at the page on my laptop, I would get a message saying “This site can’t be reached”. When I looked at the page on my phone on Wi-Fi, I got the same result. When I looked at the page on my phone on mobile data, I was able to see the page. Has anyone else had this problem?