May 2022

Jun 05, 2022

May has just closed out and in the UK that means that we have had the benefit of a few public holidays - this year including an extra day for the Queen’s platinum jubilee. Warmer weather has arrived, but not without the usual grey days and random showers - it is the UK after all. It is scary to think how quickly the year is passing by, but I’ve seen more people out and about, and more events occurring. Day-to-day life is starting to feel like it is getting back to normal after the influence of COVID-19; it is just a shame the same cannot be said for all places across the globe. Hopefully, more peaceful times will return soon and thoughts can return to bad politics rather than warring or pandemic politics.

For my activities, it feels like it has been a busy month picking up lots of requests and making a little progress in some areas of my own. I still need to make a concerted effort on a certain project to “start shipping” as the popular phrasing goes, but I’m optimistic that June will be when it comes together.

ThoughtAsylum

On my website, following on from the posts at the end of last month, I rounded out my Badger 2040 (an eInk badge) series with details of some custom badge displays. The Badger 2040 is such a versatile little gadget and I hope to get a lot of use out of it.

This month I also put out a few posts relating to how I document my automations. These included a post on how I’m using Hook in combination with Obsidian as well as how I use Hook to link Obsidian and Keyboard Maestro - not a standard integration.

Forums

As ever I’ve been relatively active on a couple of my favourite online forums.

Drafts

May was a busy month on the Drafts forum, and I managed to pitch in on what feels like a greater than average number of queries.

First off was a a query about using JavaScript to change a string of text to title case. The Drafts user wanted to include something in an existing action. I suggested using a function from my Drafts library (TADpoLe which includes not only David Gouch’s gold standard for title casing, but also string normalisation - as I had previously encountered issues with diacritics when using this function.

Another query from the same poster related to some challenges using the mailto URL scheme via the x-callback-url scripting functionality in Drafts. Now mailto isn’t an x-callback-url, so I’m a little surprised I got this working, and I would not recommend it as the best approach, but it does give a level of simplification.

There was an unusual conversation that was a bit of a diversion from the norm on the forum where someone asked what is the best way to deal with app registration numbers, etc? I provided a few thoughts, but it is interesting to see how a variety of people approach this. How do you do this?

Someone asked some questions about importing content from another draft. For this one I was able to direct them to my Drafts blog post on transclusion which illustrates the Drafts transclusion action for previews as well as my own non-preview-based alternative.

As with many requests, the next one I want to highlight began as something rather vague. “Looking for tag prompt action” obviously had a clear meaning to the person who posted it, but it really didn’t convey the meaning to others. Over the course of the discussion I teased out the details of what they required and I created a maintainable action that allows a user to add one or more tags from a list to the current draft.

There was a brief diversion back to an old topic on date localisation and also one on Notion where the key was to read the details for how the action works.

One Drafts user also didn’t realise that the action bar and the action group listing are intentionally disconnected allowing you quick access to multiple sets of actions on screen.

One user asked a not so uncommon question these days about integrating with a web service that has no API - in this case, Substack. I offered up a few standard, generalised alternatives, but fundamentally the issue is companies developing platforms with no thought to integration. I work in the Enterprise IT space in my day job and have a a team of integration and development specialists, so I am 100% biased on this point, but at the same time, designing in integration has been a key aspect of system architecture design for decades. Web services not built on top of capabilities that incorporate an API layer have quite frankly been designed poorly. They may have industry leading excellence in other areas, but such absence is a glaring flaw,.

There was an Apple Watch question where the answer was, shock and horror, to consider not using Drafts. Drafts is a powerful and flexible application, but that does not mean that it needs to be part of every process. If there is a consistent and direct approach where Drafts contributes nothing, set it aside. It will still be there for when you do need it.

A query about using the New Draft with Template displaying fewer templates revealed that the user had inadvertently modified their default workspace. That’s definitely a change to watch out for.

Org-mode is a topic that comes up every once in a while, and some work has been done by Drafts users to provide some org-mode support, but questions on support for org-mode do continue to come up. This one just needed a search in the directory, but the follow-up questions were a little odd. How should you render org-mode for a preview or export? I would have thought just as plain text.

I helped out one user in expanding a script to do some automated cross-linking via a Drafts action for creating a new draft, and another user in modifying an action to add items to a list.

The common i*OS question of how to include newlines in a text replacement as part of a general list of challenges around a text replacement. I think I was able to provide the poster with a reasonably comprehensive list of options using text replacement, TextExpander, and a highly flexible Drafts action (by David Chartier).

Quick Note is a feature that lots of people seem to love, but as a Drafts user, I’m not feeling it so much - I find it pretty quick and easy to access Drafts. On the Mac it’s just a key press away, but one user wanted to reproduce the effect using hot corners to trigger Drafts.

Formatting numbers is not something I had seen come up in Drafts before, but I made some suggestions to a poster about how they could add number separators. Greg followed this up with a suggestion if the desired separators are linked to the user’s own language preferences.

One Drafts user asked some foundation and concept-related questions over on a thread about “GTD-ness” of software that I hope I was able to guide them to a better informed position on. The original post is an unusual but interesting one. I didn’t reply to that one on the forum, but my own opinion is that there is much more interpretation and nuance expected than presented in the topic. I say this as someone who has had the GTD process as my background wallpaper on my work PC for just shy of two decades now as a reminder of the two-minute rule, and as a great talking point for when I’m preparing for a presentation to a customer. They love to hear that you have a system for being organised and I often find I share it on afterwards , so people get extra value from working with me.

Finally, there was a detailed report of a JSON Parse error continuing to affect TADpoLe. It seems I had missed out some places which the Drafts URL scheme update had impacted, and no one had reported them until this post came along with some suggested fixes. I ended up reviewing the original code and applying equivalent changes to the source library. I just find it odd that non one had reported the issues in the last few months. It took me less than ten minutes to review, fix and republish.

Automators

I have not been quite as busy over on the Automators forum this month. I did try and get in relatively early in the month with my annual automators' wishes for WWDC post. Unfortunately, this year the uptake of contributions has been far lower in volume than usual.

I gave some help to someone new to Apple Shortcuts on some newline regular expressions, shortcut output, magic variables, and file management. They seemed to a little lost and had not spent time learning some of the basics for what they wanted to do.

One Scriptable user posted a query about passing the HTML of a webpage to a shortcut from Scriptable. There are a few answers in the thread, but I stand by mine and my explanation of why the alternative probably is not what the original poster requested - though the original poster seemed to find value in both, which left me wondering if the original question was mis-worded.

The same user also posted a query about calling a shortcut from a Scriptable script using the x-callback-url protocol. This was something that had been covered a couple of times at least on the forum, but they ran into a number of issues around the validity of URLs and the functionality offered by the Shortcuts URL scheme. After some false starts I ended up rewriting their code to show them a workable example of how and why it works.

One user posted about a challenge with Drafts for posting to Obsidian. The issue with this seemed to be that they were referring to information that was several years out of date so I pointed them to more recent information. It is always worth jeeping in mind that the best place to start with an application is usually the current manual and not old forum posts.

Another Obsidian related query was more or less directed to me in the poster had been somewhat inspired by some of my Obsidian posts. The question related to using the Templater plugin to create multiple files based on a folder of reference files, with string interpolation. The request was well explained with examples and evidence of what they had tried. As a result I put in the effort to provide a pretty detailed answer; though it was interesting to see the resolution to the cross-posting over on the Obsidian forum too (where I also lurk from time-to-time).

If you are taking part in a beta, do make sure you report odd behaviour through the beta feedback channels. Unless a forum is specifically set up to feedback to the developer on the beta, then it probably isn’t the right place to post about bugs - including Apple Shortcuts layout bugs. At some point I really should write up a post on how to beta test responsibly that goes into more detail on things like this. Given WWDC is just around the corner, I might have to prioritise that one.

Another Apple Shortcuts user asked about appending to Notes, but really it was a much wider note automation question, along with a workaround I came up with for what looks to be a Shortcuts permissions granting issue.

The last one to highlight this month is a request for automations to help clear out iCloud content. It took a couple of goes, but I think the criteria point got through and I did provide some examples as a starter. Fundamentally, you need to have a clear understanding of what you want to do as a fuzzy approach will more likely do too much or too little rather than exactly what you had hoped but had not really spent time thinking about.

Other

The big news for me this month is that the Shortcuts for Mac Field Guide by David Sparks is now available. Why is that news for me? Well I’m in it! I was interviewed earlier this year by David for the field guide and I am one of the “Shortcuts Power Users” included in the guide. It looks like mine is the longest session, and I hear that some of my stuff may also get a mention elsewhere in the guide.

I shared a few “power user” shortcuts with David for the guide, so if you want to up your Shortcuts game on the Mac I would suggest taking a look at David’s guide. At the time of writing there is a discount available, and this is the first guide David is offering with a plus version that includes some additional webinar content. Even the standard version is over eight and a half hours of video content, plus way over 100 shortcuts for you to dig into.

Another thing to highlight is that my Keyboard Maestro Shortcuts plugin is no longer required. The latest version of Keyboard Maestro effectively includes the same functionality (plus some functionality not available to a plugin), so I have already migrated my actions across. The only exception is if you have diacritics in your shortcuts names. I had previously fixed this issue in my plugin, and so I have reached out to Keyboard Maestro’s developer, Peter Lewis, with the details and he is on the case.

Both of these are not May effort by me per se, but I have been busy with other things. I have already mentioned the update to TADpoLe, but I also applied a couple of updates to my Keyboard Maestro workflow for Alfred - Conductor. Daniel Thorpe had been having problems installing Conductor and as a result I updated some diagnostics (including updating my standalone Python3 test workflow for Alfred). It now pulls in extra information for shared Python configuration as well as individual configuration. An additional external trigger for choosing a macro was also added.

I write a blog post as part of my day job on the latest updates for SAP Employee Central Service Centre. Normally I post these to my website shortly after the original publish and social media push, but on this occasion my article is gated, meaning you have to sign-up to receive the company newsletter to download a copy. As a result, I have not published it just yet, but once it has been ungated or a reasonable amount of time has passed I will publish it on thoughtasylum.com (with a link back to the original source site as usual).

For those of you who read about my Apple Watch storage woes in last month's update, I did manage to resolve the issue on my own. The storage lied about e-mail, and disconnecting my e-mail from my watch magically freed up a vast amount of space that was apparently ‘not associated with the Mail app’! The latest watchOS update also seemed to free up a little more space, so I 'm now running at much more normal storage levels on my watch.

Finally, I have been working on lots of process and configuration updates around my use of Obsidian. I have been experimenting with more dashboard style notes, theme adjustments, new documentation templates, population of more information on automations, and a few less successful tests. Some of the automation documentation posts mentioned above have come from my final bits of tinkering in some of these areas, but it is certainly an ongoing investigation of revising some of my existing practices.

Upcoming

As I noted earlier, progressing one of my big projects is going to need to take a front seat this month, but I also know June is going to be a month where I am contending with a lot of other personal demands on my time. I think I will need to get creative to make the progress I want to.

Doctor Drafts (my Alfred app workflow for Drafts) is also something that I want to add some additions to this month. I want to add some additional options to customise and extend some of the standard functionality. It is something I had planned since its original release, but have not yet got around to doing. However, a user on Twitter recently noted a customisation they had made. That customisation will be removed on each update, but is exactly the sort of thing the enhancement would provide. The updates may not appear until July, but they will be something I am working on in June.

Once again, all that is left is for me to once again thank all of you who have contributed a coffee (or more). You all continue to be awesome and I continue to be caffeinated and productive.

Enjoy this post?

Buy Stephen Millard (ThoughtAsylum/@sylumer) a coffee

More from Stephen Millard (ThoughtAsylum/@sylumer)