I’ve recently been trying out Kanban boards for my personal use, both at home and at work.
I’m by no means a software developer, but I find the idea of selecting a subset of tasks to be done today and then further highlighting the one task that is currently in progress to be very helpful for a scatterbrain like me.
In my work, I also get constantly interrupted by people asking me questions or handing me “one quick task” – so it’s always helpful to see what it was that I was working on before the interruption.
But as much as I like the Kanban board idea, I was not interested in trying another task manager (i.e. Trello). I am happy with OmniFocus, and I wanted to see whether it was possible to implement a Kanban board with OmniFocus.
Kanban Board Layout
I searched online for solutions other people have come up with. And there were a few, most of them involving the capture of OmniFocus data and then creating a visual board using some script of another.
Although there were some interesting ideas, I didn’t want a board I couldn’t edit and that required me to jump back into OmniFocus to tick off my tasks.
One of the other suggestions was to create tags for the different Kanban columns and then open multiple instances of OmniFocus, each showing their respective “column” of tasks.
This was a workable idea for me. It just required a little fiddling with Keyboard Maestro to create the three instances of OmniFocus and have them show the correct Perspective. (I’m not a programmer, so I don’t need the “Testing” column. However, I have replaced it with a “Waiting” column – sometimes, I need to pass tasks off to other people, and I need to keep track of what I’m waiting for.)
The other option, of course, is to have the one instance of OmniFocus open and select just the Kanban tags I’m interested in seeing.
Update: There is now an additional script in the plug-in called “Kanban View”. Activating this script will automatically take you into this Top-Down view. This might be the easiest way to implement the kanban view (if you don’t want to mess about with Keyboard Maestro).
OmniFocus Automation Plug-In
But this was just the barest of what I need to make a viable Kanban board – you see, I needed a way to move tasks between the columns quickly.
It was possible to edit the task tags manually, but the whole point was to make this as painless as possible (not to mention that to move a task from one column to another properly, you had to remove the tag of the previous column as well).
So I created a few automation scripts to remove unwanted Kanban tags and assign the correct one quickly.
I’ve put all six scripts into one OmniFocus Plug-In bundle. I chose to create a plug-in bundle instead of standalone files because the bundle allows me to include icons that would show up in the toolbar if you were to add the script up there.
You can download the OmniFocus plug-in here. Unzip it before trying to install it.
For more information on how to install OmniFocus automation plug-ins, please visit the Omni Automation website.
TLDR; You double click it on the .omnifocusjs file and follow the OmniFocus prompts.
There is just one thing you need to do before using the scripts – and you don’t even need to do it if you don’t care about keeping your OmniFocus tags neat – create the tag “Kanban” and create the following sub-tags (you would want them in this order):
- To Do
- In Progress
- Waiting
- Done
Update: If you run the “Kanban View” script, it will automatically create all the tags required.
How I Use the Scripts
I put the scripts in the OmniFocus toolbar for easy access.1
You might notice the icons look a little different in your version – that was because I realised at the time of creating this blogpost that my icons don’t show very well in dark mode, so I went and changed all the icons.
Otherwise, you can activate the script by going to Automation > Kanban:
Update: You will now see the “Kanban View” script above “Kanban: To Do”.
Every day I go through my master list of potential tasks and select the ones I want to work on today. I then activate the “Kanban: To Do” script and the selected tasks would be assigned the appropriate tag.
I then move to my Kanban board layout – whether that is the three-column view or the top-down view, it doesn’t matter – and I select the one item that I want to start work on. I click on the “Kanban: In Progress”. This moves the task into the appropriate “column”, and I begin my work.
If a task gets held up because I’m waiting for someone to give me something, I click on the “Kanban: Waiting” script and the task would be moved to the “Waiting” column. I either rename the task or add a note to remind myself who I was waiting.
As an alternative, you may want to check out Rosemary Orchard’s “Complete and Await Reply” automation plug-in. This plug-in marks a selected task as complete and create a duplicate of the task and prepend the task name with “Waiting on reply: ”
Just a note though: this plug-in doesn’t assign any tags to the task, so you would still need to use the “Kanban: Waiting” script to move the task to the correct column.
Once I complete a task, I use the “Kanban: Done” script to move it to the Done column. The script marks the task as completed and assigns the “Done” tag to it.
You only need to do this if you’re interested in seeing how many tasks you’ve completed in a day (it might give you a sense of accomplishment, or you may want to review your completed task for planning purposes). If you aren’t interested in this, you can mark a task as completed normally once you’re done with it.
The Done column is actually a specially created Perspective that shows all completed items with the “Done” tag.
Once I’m done with my end of the day review, I select all the tasks in the Done column and run the “Kanban: Clear” script. This would clear the “Done” tag from the tasks, and the tasks would disappear from the Done perspective.
— * —
The scripts are fairly straightforward; for the most part, they just remove and assign tags. But that’s the whole point of the automation – to remove friction and speed up a task I have to do multiple times a day.
And the great thing about this Kanban Board automation? It works even if you have other tags assigned to the tasks. If on a particular day, I didn’t want to view my task as a Kanban board I can still use my “Hot” perspective (flagged tasks with either the “Personal” or “Work” tag assigned) to work on my Top-3 tasks of the day.
Let me know in the comments below if this helped in any way.
@vishae This is really clever!
@canion thank you for reading. I hope my write-up made sense. I tend to over-explain sometimes (or not explain enough at other times).
Awesome read. Please write more plugins!
That’s a fascinating idea. I like it!
still wrapping my head around this… 😎
Love the idea nice. Have you also shared the Keyboard Maestro scripts? I’d love to play around this those too?
I’m afraid the Keyboard Maestro I created is very personalised (utilised a lot of keyboard shortcuts).
But I did post it here: https://discourse.omnigroup.com/t/omnifocus-automation-kanban-board/58169/17
Even if my example isn’t very helpful, someone else in the forum had created a KM script and they posted it in that forum thread as well.
Hope that helps.
Great idea. I’m going to try this right away. Can you please share some info or a link to the Defer plugin you’re using in your Automation menu screenshot above? Thx!
Hmm, I don’t have anything official for the Defer script, but here is the script for the “Defer: Monday” script that you can edit for all the other defer scripts.