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!

How easy should it be to create a website?

I read this in a post by Ton Ziljstra today, referencing a conversation between Ton, Aaron Parecki, and Tantek Celik. I think the correct answer is “it depends on what you want”. Aaron Parecki and Tantek Celik are recognized as the co-creators of IndieWeb.org, and leading figures in the IndieWeb movement. The context of the question from Ton’s post is that you can do it on social media silo sites, but what about on the open web? I think that Tantek and Aaron would like to be able to see this happen on the open web, but they mentioned a third party silo (Linktree) as a solution.

I think that people like to get stuff for free. They like to access web services for free. So when someone thinks “I would like to have a website”, their first thought may be to look to a free service. However, in many cases, they do not “own their data“. They may not even own their own URL. To own your data, to own your URL, has a cost. It can be a small cost, but there is a cost. I would say that creating a site on WordPress.com, and paying a fee to have your own URL and to not have ads on your site, is the simplest way to have a site and own your data and URL. To totally own your web presence requires a little more cost and effort (I wrote a book on how to do it!), but again this is totally doable. Ton says he would create a small site writing HTML in Notepad. He could, but then he would need web hosting and a URL (see my book for how to do this cheaply!). Again, it comes back to the answer “it depends on what you want”. If a person is willing to let another site host their words for free – go for it! If you want to have more control, host it yourself, or pay for a site you control (like Micro.blog or other hosting sites).

Another OPML viewer for Federated Bookshelves

I am playing with a new toolkit from Dave Winer for working with OPML (https://github.com/scripting/opmlPackage), and modified the client example to read my booklist file – nice!

A reader wanted instructions on how I did this, so here they are:

  • Download the zip file from the Github repo
  • Edit code.js in the client folder to provide a URL for an OPML file that is available on the web
  • Upload the files to some web hosting
  • Go to index.html to view the OPML file

Is good code boring?

Juraj Malenica writes saying “You should develop boring code”. His post highlights the following:

  • Make your code readable
  • Keep your code predictable
  • Your code is your documentation

If we take these as attributes of “boring code”, are these also attributes of “good code”? Let’s take a look.

Code readability (the ability to understand a source code function) is a good one. For most of my career, I have been working with existing code bases, and ability to understand what has been done before is very important. Working in the avionics industry, requirements and traceability go a long way towards helping understanding legacy software. If this is not available, avoiding the use of difficult-to-understand coding techniques can enhance readability.

In Juraj’s post, code predictability covers naming conventions for parameters/functions/files. For the projects I have worked on, coding standards help to define these conventions. Juraj mentioned a Python standard, there are many available.

Finally, code as documentation is a good goal. If there is no other project documentation, the source code should contain all the information necessary for another developer/engineer to pick up the code and add new features.

After this review, I would say these “boring” elements are also included in code that would be considered “good”. Is this everything needed? No (it is necessary, but not sufficent), but this is a good start.

How can we work together on the open web and on software development

I have been in several conversations in the last week (voice and email) where the concept of “working together” in software development came up, and several threads emerged:

  • how the original developer doesn’t/shouldn’t have to do everything – others can contribute (to me, a key concept in open source)
  • how interested/engaged users can be an important force in the direction in which a software application or tool goes forward

Dave Winer has written about this many times:

I have tried to follow that second point in several ways:

I am getting ready to start working in the computer music area again after a long absence, and I am reviewing available tools to see if they fit the areas I am interested in. In that way, I am trying to practice the concepts of working together as I have outlined above.

Anyone want to work together with me? Let me know!