22nd May 2020

I came across Charty recently on Twitter, and it looks like it’s going to be a great addition to the growing collection of apps that are designed to slot directly into the Shortcuts app.

After playing around with it, I was going to write an in-depth article on what I thought about it, but instead I’ve found three articles that I think explain it really well. And they also include examples so you can see what type of charts you can create.

Greg Morris:

This is one of those apps that at first you dismiss, but when actually looking around the app you realise just how helpful it can be. That’s because developer Rodrigo Araújo has thought about almost every aspect of the app. Building on the success of his first app ChartStat he aims to make it easy for everyone to visualise any kind of data.

Jason Snell:

Making charts by hand is labor intensive. But it gets easier if you can make the chart one time and just update the data as new numbers flow in. If that sounds like a job for user automation, you’re singing my tune—and I’m happy to report that the new app Charty is built to add charting capabilities to the iOS Shortcuts app.

Matt VanOrmer:

There are lots of Shortcuts actions and routines that generate data and could easily benefit from a simple bar graph or pie chart to provide useful insights more quickly and effectively. One example that comes to mind is graphing time-tracking data from Toggl once every week, let’s say, to see what tasks or projects you’ve been the most busy with — all without having to open the unpleasant Toggl app or the clunky web client from your iOS device. Charty is the perfect companion for those who accumulate lots of meta-data about their lives and want to frequently revisit and reassess the areas they are seeking to improve — whether that be calories burned, books read, or tasks completed, Charty plugs right into your existing Shortcuts routines and allows you to quickly turn those datasets into easily-digestible graphics. The option to create default chart format settings and custom “Export Profiles” of chart size, font size, and background color both help to add consistency in how your charts are formatted before saving them for yourself or sharing with the world.

18th April 2020

Last night I spent some time reading on my iPad, and I noticed a few articles that I might want to link to from my blog. Except I didn’t want to start creating drafts in iA Writer, or doing any manual work. I just wanted a way to remind myself that I want to link to this at some point.

I started to think that I could simply create a reminder in the Reminders app (I’ve switched from Things), possibly with the URL as a note so I could get back to it when I needed it again. However, that would require me to then later load the URL, and fetch the details from it. And seeing as I would have had the article loaded at the time of reading, it made more sense to store this data, and then be able to reference it at a later date.

So I came up with an idea of two shortcuts, one to store relevant data about the article I wanted to reference, and then another which I could use to select from the list and kick off a draft in iA Writer.

That’s when I thought about using the recently released data store app, Data Jar, which is a fantastic tool for storing all kinds of data.

Store Link Post Idea

To start off, the Shortcut I created to do the initial data storing and reminder creation was relatively simple. It accepts input from the Share sheet, in the form of a Safari web page, and then has just three actions:

  1. Add a new reminder with the title of the article to my blog list.
  2. Create a dictionary with four pieces of data – the title, URL, any text that was selected that I want to quote, and also the author. Although I’ve found the author to not be very reliable.
  3. Store this dictionary at the end of my drafts list in Data Jar.

Download the Shortcut: Add to Drafts List

Starting a Link Post

This shortcut is a bit more complex, as it has to do quite a few things:

  • Retrieve the list of link post ideas from Data Jar.
  • Show the list, and allow the user (me) to select an option.
  • Transform the various pieces of data into a link post outline.
  • Create a new document in iA Writer.

It’s a bit long, so I’ll put the long screenshot below, and then explain why it may seem pretty complicated for what it does, and the things I had to work around.

Start Link Post From Draft Shortcut

To start off, the shortcut gets the list of drafts from Data Jar. This contains all the drafts that have been saved.

It then does a little transformation with that data, using a temporary variable in Data Jar. It clears the value for the specific key I’m going to use, and then it loops through the list of articles, and extracts the title and the index of each article into a new list. This is because we need to show the list of articles, and also perform operations on the specific article that was selected.

The temporary list is then displayed, and from the chosen article, the Index is then used to fetch the complete article data from Data Jar. That includes the title, author, page selection (snippet), and the URL.

Once that data is extracted, the page section is formatted as a Markdown Blockquote via Text Case (my app), and then it’s put together with the rest of the data to form a basic link post outline.

Finally, the outline is URL encoded and opened as a new document in iA Writer via the URL scheme.

Download the Shortcut: Start Link Post From Draft


These two shortcuts are simple in theory, and to be honest I could have achieved the same result with less complexity, and maybe even without Data Jar. However, I like that the storing and kicking off a link post in iA Writer are separate processes. Because it allowed for more flexibility in the future and also doesn’t distract me at the time of reading an article. Which was one of the big reasons for me making these.

I really liked using Data Jar for these as well, so I hope I can make use of it again in future shortcuts!

Links

Find the apps used, and the shortcuts below:

30th May 2019

I wrote recently about how I’m automating my daily journal, and it mainly focussed around how I started the writing, as the publishing was quite a manual process.

However, I’ve now managed to automate the publishing part of my writing process. Which I’ve been using for every blog post since, not just my daily journal.

I started off with Federico Viticci’s Publish to WordPress shortcut1, which he posted on his incredible Behind the Tablet article. But I had to make a few changes to make it work with the way I’ve configured my blog.

Here’s Federico’s description of his shortcut:

Publish a Markdown post to WordPress via the Shortcuts action extension. The shortcut can extract the h1 Markdown header from a post and use it as title. Optionally, you can publish both standard and “linked list” post types by adding a custom field supported by your WordPress installation.

The changes I made were:

  • Changing the Format parameter of the ‘Post to WordPress’ action to Ask When Run. This way I can alter between standard and link type posts. The shortcut already handled linked posts so it could extract a URL and add that as a custom field on a post. But my theme styles linked posts slightly differently, and it depends on the post format to do that.
  • I also changed the Publish Date parameter to Ask When Run as sometimes I like to schedule posts. Or if I’m publishing my journal, and I’ve slightly run into the next day, I like to make sure it’s published on the correct date.
  • One section I removed was the file saving, as I don’t particularly need another copy of the final results. I like to think of my blog as the place for canonical copies.
  • The last action was to open MacStories in the browser, so of course, I changed that to the url of this blog. So I can quickly check out the live version.

In essence, it’s a relatively simple shortcut, in that it takes text and publishes it here on my blog. However it takes care of so much of the annoying parts of the publishing process, such as setting the categories, tags, post types, extracting links for sources, and still more. I guess that’s the perfect case for automation.

One last thing I have to call out, is the natural language parsing when entering a publish date for a post. When using the web interface for WordPress, I found it really irritating to use the date/time picker. But now I can write something like “tomorrow at noon” or “yesterday at 23:00”, and it just understands it perfectly.

I’m not sure if this will directly benefit anyone, but I hope it at least shows some benefits of using automation when publishing to a blog. And also, that it’s very beneficial to keep checking out the many Shortcuts that people like Federico are sharing.

Download Federico’s “Publish to WordPress” shortcut.

Download my modified “Publish to WordPress” shortcut.


  1. The shortcut also includes the Title Case action from my app, Text Case. Which I (with a massive bias) find very helpful. 
17th May 2019

Since the start of this year, I’ve been writing a daily journal on a separate part of this blog.

After I started writing the entries, I realised I didn’t want the boring task of creating the file in a specific directory, and creating the same title/header over and over again. So I added a tiny bit of automation.

Things Task

iVBORw0KGgoAAAANSUhEUgAABS0AAAo4CAYAAAC8JoK+AAABgmlDQ1BzUkdCIElFQzYxOTY2LTIu-2.PNG

The first thing I did was to set up a task in Things, that repeated every day, simply to tell me to write my journal. After a while, I noticed that I would sometimes get very close to 12 before remembering about it. So I added a reminder for 11 pm, which gives me a bit of time to delay and still get it done in time.

Journal Template Shortcut

To take the hassle out of creating the initial file, I created a relatively small shortcut that creates the template and opens it in iA Writer.

I have a specific directory for my journal entries, and this keeps them all in one place.

It also uses the current date to create the filename and the heading for the post.

From there, it opens iA Writer, so I can jot down what I did in that day. And it’s ready to be published

You can download my “Journal Template” shortcut for reference.

Linking the Shortcut to the Things Task

Image.PNG

While Things is useful enough to help me remember I need to write my entry, and the shortcut helps to create the initial file, I also linked these together.

I did that by adding a custom URL into the body of the Things task, so whenever it notified me, I could tap on the task and then on the link. It would then launch the shortcut, and lets me immediately start writing.

It also allows me to not starting right away, as sometimes I’m not in the best place to do it, or I just want to put it off a bit longer.

The url is quite simple, and is in the following format:

shortcuts://run-shortcut?name={name}

{name} is the name of the Shortcut, but URL encoded. You may be able to work this out yourself, but my app Text Case can also do this for you.

More Automation

After I finish writing my journal entry for the day, I then publish it to my blog. I use the built-in “New Draft on WordPress” share extension, which then opens the draft in Safari where I can add the category, and publish.

It’s a reasonably quick task, but something else I plan on automating. So in the near future, I will be creating another shortcut, that can take the latest journal entry and publish it to my blog using the specific category and time I like.

7th June 2018 | Permalink

We believe that a truly smart bank should empower people to manage their money in a way that suits them. Today, we’re proud to announce that we’re the first bank to partner with the world’s largest automation platform — IFTTT!

In a nutshell, IFTTT lets you personalise how you manage your money. You can create your own rules, called Applets, to connect your Monzo account to the services you regularly use. For example, say you use the iOS Health app to log your calories. With IFTTT, you could enable our pre-made Applet that means every time you buy anything at Starbucks, you’ll automatically log 200 calories on iOS Health.

Yet nother reason why Monzo is the best bank in the world.

Read about Monzo’s IFTTT Integration.

30th May 2018 | Permalink

Tim Hardwick, writing for Mac Rumors:

Stationery Pad is a handy way to nix a step in your workflow if you regularly use document templates on your Mac. The long-standing Finder feature essentially tells a file’s parent application to open a copy of it by default, ensuring that the original file remains unedited.

Stationery Pad doesn’t get much attention these days, but it’s a neat alternative to repeatedly editing templates and using the “Save As…” command, which can lead to overwriting the original file if you’re not too careful.

I had no idea this existed. I will most certainly be making use of it in the future.

1st March 2018 | Permalink

Matt Birchler has a pretty common request for Siri, and that is the ability to schedule requests.

While all of these assistants can turn things on, turn them off, move thing up and down, and such, they can only do those things now. I can turn on the lights now. I can open the garage door now.

It makes so much sense for this to be supported. Sure you might be able to schedule actions inside of an app. But if voice is an official method of input, you should be able to do everything with it.

There’s not even a particularly high barrier in creating a delay/schedule system. The simplest method I can think of, is that when a voice assistant hears a request with a related time, all it needs to do is store that exact request (even plain text is fine), along with the date/time. Then the system can set its own reminder, and at that time, it simply performs the request automatically, and deletes it from the queue.

9th October 2017 | Permalink

At this years MacSysAdmin conference, Sal Soghoian (the king of automation) talked about his new role at the Omni Group, and work that they have been focussing on.

The talk was titled “OmniJS: Automation Magic comes to iOS and macOS”, and you can guess everything from that. There’s a bunch of demos from Sal, showing off the new scripting possibilities (on iOS and macOS), and it’s really impressive.

You can find the video, presentation slides, and information on the entire conference at the MacSysAdmin 2017 page.

10th February 2017

Federico Viticci, the King of iOS Automation has just written a great piece, regarding the latest update to Workflow for iOS.

With today’s 1.7 update, the Workflow team isn’t introducing Instant Variables. Instead, they’ve rebuilt the engine behind variables on a new system called Magic Variables, which completely reimagines how you can create workflows and connect actions for even more powerful automations.

More than a mere tweak for power users, Magic Variables are the next step in Workflow’s goal to enable everyone to automate their iOS devices. By making workflows easier to create and read, Magic Variables are the app’s most important transformation to date, and the result far exceeds my expectations.

I’m not a full time iOS user for work purposes, but with the features and innovation that is happening on the iOS platform, it makes me ever so more curious to take a bigger step. Just today I we looking at my automation options on macOS, and although there’s things like Keyboard Maestro, or the built-in Automator, there just isn’t a Workflow alternative.

Time like these make me wonder what it would be like moving fully over to iOS, but as an app developer it seems like I’ll be to macOS for a while. I’m certainly not saying I dislike the Mac platform, I’m a huge fan of it, and I’m loving my new Touch Bar MacBook Pro, but there’s just more happening over there.

The grass seems greener.

30th January 2017

Over the past few days I’ve been setting up my own media server, and in particular, Plex. Plex is a great tool that can do wonderful things to your media collection, but the one thing that I just love is that it can take plain video files, an then give it so much context. It really makes your library something to look at.

The Server

The actual server itself is my old MacBook Pro, which I don’t think is the best machine for the job, but it’s the best spare machine I have available at the minute. I’m not going to write down all the specs, but it’s got an i5, 4 GB Ram, and a 1 TB hard drive. The only job of this machine however, is to manage my collection, the storage is a 3 TB NAS drive that I’ve had for a while.

My Collections

At the minute I have three different libraries in Plex, one for all the movies I have downloaded, second for the TV Shows, and then I have also included my iTunes Media folder as a library, as I have a huge number of films in iTunes.

Now let’s get on to how I populate these libraries (Leaving some ethical behaviour behind of course).

TV Shows

The TV Shows are just video files that I have collected over the years and obtain manually, there are a few applications that can track new episodes, and even download them automatically, but I haven’t found any that I deem good enough. I don’t watch many tv shows, so a tiny bit of manual work isn’t a big deal for this.

Movies

My Movie collection is a mix, I have ripped some movies in the past (I hate DVDs), and also have a rather magical automation for downloading other movies I like. Here is a step by step process on how this automation works:

  1. Find a movie on Trakt, and add it to my watch list.
  2. CouchPotato finds new additions in my Trakt watch list, and then populates them in it’s own database.
  3. Every so often, CouchPotato will check to see if any of the added movies are available to download (with some quality preferences).
  4. CouchPotato then sends these links to download to Transmission, which is currently running as a local web server.
  5. Transmission will triage each addition, and with some specific restrictions like cumulative download limits and speed limits (that actually change depending on the time of day), start these downloads, and place them in the correct folder on the NAS.
  6. Plex Media Server tries to detect when new files are added to the libraries (It also checks regularly), and then it will analyse the media, add it to the library, and also put together all the needed metadata.

It’s a really fast process, and I enjoy how little work I have to do to make something happen. I’m sure the process may change in the future, but at the minute it feels pretty seamless.

iTunes

This is definitely where my main content comes from, it’s where I get all of my favourite content. Even to a point where I will have a copy of a film, but I will then also purchase it on iTunes. Because it means I get the best quality available, any iTunes extras, and I also feel like it’s future proofing my movie collection slightly.

Thoughts

I’m starting to really see why I hear so many good things about Plex, it’s easy to set up, it work’s nearly everywhere, and it just makes my media collection look amazing.

Running my own media server is something I think I will take further, and if I can pick up a cheap Mac Mini soon, that may be the next step. With my Amazon Dot, and now this small project, automation is becoming a fun hobby.