Book Review: Atomic Habits

As a fellow productivity geek, my pal Pazy recommended I check out ‘Atomic Habits’ by James Clear. You can read his write-up on his blog here. The book takes a look at different ways you can improve different elements of your life by shifting your perspective from solely looking at outcomes or goals, to change at a smaller scale. To do that, Clear provides a variety of practical tips that help you to adopt and cement new habits which over time lead to larger benefits.

Looking at tracking habits is something that I only really started thinking about in the past few months, after I began to use Notion, and started thinking about my repeating tasks as habits rather than to do list items. This turned out to be transformative, as there is something far more satisfying about maintaining a streak than there is checking off a task, only to immediately re-add it to your To Do list for the next day.

There were lots of compelling ideas in the book that merit further exploration, and I suspect I will have to go back over them a few times to make the most of it. A few in particular stuck out for me though:

Habit Stacking

One of the ideas that I liked in particular was the concept of ‘habit stacking’, which involves taking something that you do on a recurring basis, and connecting it to another habit (or series of habits) that you want to adopt. In other words, if you are struggling to remember to do a particular task regularly, tie that in with a specific recurring task that you know you’ll do whatever happens. For example: If you have a cup of coffee every day, but want to get better at listening to a podcast, conjoin the two. If you find that your desk is constantly getting cluttered, resolve to tidy up one piece every time you get up to go to the bathroom, or grab a drink.

Similarly, you can chain or cascade different habits together, so if you are chucking some bit of rubbish from your desk every time you get up, and are already in the kitchen, tie that action to another habit – like washing one plate or cup. This is something that we already do in many ways, such as brushing our teeth after we take a shower in the morning, so it’s a matter of adapting these chains to include the habits that we want to improve upon.

Gradual Improvement

The whole idea of habit stacking is rooted in the idea that by adopting habits which make changes – irrespective of how small they might be – that incrementally they lead to much larger change over time. Even just improving something by 1% each day will eventually lead to significant development. In some ways, the argument is that the act of repetition alone is more important than the quality of the action – at least in the start. Once a habit is formed, you can then increase or adapt the quality or intensity of the action. In other words – if you are trying to learn a new language, simply sticking with it and doing five minutes of practice a day over a long period of time will ultimately provide a greater basis than erratic periods of concentrated effort. This will sound familiar to anybody who has seen DuoLingo’s sales pitch.

This idea is something I’ve come across before – particularly in relation to learning guitar – where authors recommend starting out by just strumming the guitar for 30 seconds a day at first, then building that time up once the habit is formed.

As someone who goes through periods of fixation on particular past-times, such as becoming very intensely interested and inspired to make music, write, or take photographs, I find the idea of using habits to balance out those waves somewhat; and as a means to maintain some level of interest even through periods of relative lack of inspiration quite compelling. However, I do also think that on its own, dedicating very small amounts of time to a particular task will not – in the long term – lead to the kind of growth that I am interested in. For example, you could do 5 minutes of Japanese on DuoLingo for years and probably pick up a decent amount, but if you are serious about fluency, at some point you need to make sure you develop your habits. I need to reflect a bit more on how to do that in a sustainable way with multiple competing interests which could ostensibly take up a significant amount of time.

Improvement isn’t linear

Another thing that stuck out for me from the book was that improvement follows an exponential curve, rather than a linear one. By that, I mean that often it can seem like you are getting absolutely nowhere, until you reach a certain point – and then lots of things click into place at once. This is something that I have definitely experienced – both with playing guitar, and with learning another language, and I am sure lots of other people will have as well. The book’s contention is that we expect improvement to be gradual, obvious, consistent, and visible, but that that isn’t how it happens in reality. If we recognise and accept that, then it helps maintain momentum.

Summary

Because every blog needs a conclusion. If you want to take up something new, get better at tidying up, or just gain a new perspective on how we manage daily tasks, I’d say this is worth a read. If nothing else, gradual small bits of work feel like much less of an obstacle than letting things build up into one single large task – and the strategies here help with that.

You can buy a copy of the book here.

NB: If you click through on Amazon via the link above and purchase something, I may get a (miniscule) referral fee. Thanks in advance!

How I replaced everything with Notion: Recurring Tasks and Wishlists

Things: To Do items and other projects

I’ve written before about how much I love Things, and that hasn’t changed. When it comes to organising and tracking daily tasks, Things is still my go-to. However, there were a couple of issues that I had begun to run into which were becoming counter-productive:

  1. Too many tasks, not enough organisation: Similar to what I had experienced with Evernote, while I was quick to dump all sorts of things I wanted to do into Things, it seemed like the ‘Someday’ and ‘Anytime’ pile were growing and growing into a huge, unmanageable mass. Piles of articles to read, videos to watch, and miscellaneous tasks. Even using tags, it was becoming a strange source of low-level anxiety, as I knew I would never get round to doing anything there.
  2. Recurring tasks never ‘completed’: Lots of the things I want to do are daily tasks, such as practicing Japanese, or making music. The problem with this was that most of my To Do list never really changed. I would tick off the checkbox, only to… immediately re-create it for the next day. It felt like a pointless exercise, and didn’t provide any of the satisfaction that I should feel upon completing a task.
Things Organisation
Eugh, what a mess.

What I realised was… neither recurring tasks or lists of videos to watch, articles to read, or music to listen to are actually To Do list items at all, but something quite different.

What I thought of as daily tasks are actually habits, rather than ‘to do’ items.

This was an important one. Realising this was liberating, as I could approach the issue differently – with a Habit Tracker.

My habit tracker within Notion.

There are various different kinds of habit tracker templates available, and I customised one that I found online (I can’t remember where now, sorry!). Each week I create a new table, and adjust the habits I want to focus on as appropriate. This not only allows me to more easily track and report on my progress – but also frees up my To Do list in Things for one-off, immediate tasks that need to be completed on a specific day.

Things to Read, Watch, and Listen to

As I mentioned, my Things ‘Anytime’ lists were filled with different articles I wanted to read, or videos I wanted to watch at some point, and it simply wasn’t working. Instead, I created different databases in Notion to gather and organise this stuff.

For example, here is my list of films to watch…

an excerpt from my Reading List (don’t judge)…

and my trimmed down YouTube list (filtering out the Japanese learning videos, as there’s so many of them).

The beauty of this is that I can organise them in a much deeper way with Notion, assigning tags, related URLs, authors, etc – and then sort/display them on that basis. Rather than facing a huge list of items to get through like when they were chucked into Things, I can now dive in to the specific database and find exactly what I want when I have some spare time. I can also add notes and ratings when I’ve actually read or watched them, which are also reportable/sortable.

Blog Post Ideas

Ideas for blog posts were another thing that I used to store in Things, which didn’t really work out all that well. The reality with blog posts is that they all exist at different stages – and are more like mini-projects than To Do list items to be checked off.

Now, I organise them as documents within Notion, like so:

Each entry acts as its own ‘page’, which can contain notes, images, etc, and I can assign tags depending on the status of any particular post (from idea, to ‘in progress’, to completion).

Again, doing this means that my To Do list is freed up and reserved for items which require action and completion in the short term – which brings added focus and clarity.

Visibility

Aside from the deeper meta-data capabilities that come with Notion’s database approach, there’s also something else which has proven to be invaluable, but also really simple… and that’s the visibility of the tasks.

While hard to capture in a screenshot, all of my different lists or projects can be displayed on my home dashboard in a neat, logical, organised way.. with a custom view as appropriate. This means that instead of dumping things into ‘Anytime’ or ‘Some Day’ in Things and forgetting about them, I can keep certain projects or items on my radar – without them becoming too intrusive or overwhelming.

Summary

Things is great, but trying to use it as a master tracking utility for everything simply wasn’t working for me. Offloading the larger and longer term projects to Notion, and having Things focus on specific things I need to get done on a day to day basis has made a huge difference. Give it a bash. 

How I replaced everything with Notion

Knowing my penchant for a productivity tool, my good friend Pazy suggested I investigate one that I hadn’t heard of before: Notion. From what I could gather, it was a central place to store a whole manner of different kinds of notes.

I was initially a bit wary of diving head-first into Notion, as I have both used and built up a significant amount of content in Evernote over the years. However, the temptation was too much to resist, and I gave it a whirl. After just a short time, I was convinced. Notion is the promised land.

Notion logo

Coming from Evernote

While Evernote has been touted as the single place that you can quickly grab and throw all of your various ideas, links, clippings, and files that you come across on a daily basis – Notion takes that idea a step further. Rather than just acting as a huge repository with search capabilities, Notion encourages you to store information in a far more organised way, making heavy use of its own databases. At first, I found this a bit confusing, as my Evernote ‘save it all’ approach didn’t quite fit neatly… but once I realised that Notion involved a fundamentally different approach to data organisation, it made much more sense.

Databases versus Notes

I can already hear people turning off at the sound of databases. I was the same. Pazy is a database guru as part of his day job, so I just assumed he was naturally inclined to gravitate towards databases in his personal life too. However, Notion utilises and presents databases in a way that you wouldn’t even realise they were there unless you stopped to think about it. Essentially, rather than storing information in a text-note, you are gently prodded to put it into tables, with tags – all of which is presented in a logical hierarchical structure. Before you know what’s happened, you suddenly have the ability to organise, filter, and display your notes in a much more powerful and diverse way than would have been possible with the alternative.

To give a concrete example, as a musician I keep a note of tracks I have started working on, but which might not be finished. In Evernote, that looked something like this:

Notion for song tracking

and here is an excerpt of how it looks in Notion…

Song List Notion

Of course, Evernote can also present data in tables… but with Notion the key point is that the information is treated as a searchable database, rather than just text presented in a different way. With Notion, I can now quickly and easily see which projects are at which stage, and filter them depending on the different variables that I want to display.

For another example, I used to collect recipes to give me ideas for what I could eat on days where I lacked inspiration. In Evernote I would collect these by meal type, but in practice I found that the limited ways to filter these outside of just a plain search meant that I almost never referred to them. Now, they are stored in a dedicated database in Notion:

Recipe List - Notion

Looking for a vegetarian dinner? What about an egg-based breakfast? Maybe just a gluten-free snack… It’s as simple as combining the tags and filtering for desired results.

Recipes - Notion filtered

So much easier than sifting through a huge pile of text-note clippings.

Personal Workspace and Linked Databases

One of the other most useful features of the database storage model over using text notes, files, or simple tables is that you can create ‘linked database views’ in different places. In other words, you can have one central database for a particular purpose, and then filter that database to display the relevant data for the appropriate section you are working in. That sounds a bit convoluted, but here’s a practical example. If I want to compile a Reading List of different blog posts, books, journal articles etc that I want to read… rather than having different databases for each area of my life (work, personal, music, language learning, etc), I can have the main database like so:

Notion Reading List

and then under a specific page, I can have a dedicated ‘view’ of that same database, presenting only the relevant entries. For example, here is how I have the Reading List set up to display on my dedicated Japanese learning page:

Japanese Reading List

Note that it isn’t just displaying a particular sub-set of the data (filtered by those articles tagged ‘Japanese’), but I can also choose how it appears on the page. There’s a bunch of different options including simplified lists, full tables, galleries, etc.

As you can see, rather than creating a typical file structure where you collect pages and files or notes within a hierarchy of folders, Notion encourages you to put together what are essentially ‘dashboards’ of data. This means that on the top level you can display the data from the various collections underneath it – not just act as a blank ‘storage box’. This is an incredibly useful feature, which means you can set up different workspaces for different projects, or for different areas of your life… even if just to separate out work and personal items.

Web Clipper

Evernote’s Web Clipper tool is known for its ability to grab almost anything from the web and squirrel it away for reference – whether it’s screenshots, selections of text, full web-pages, or whatever else – so Notion has a tough act to follow in that regard. In practice, it isn’t as configurable on the surface, which is a bit of a shame. However, it is deceivingly powerful. Here is how it looks when saving an article from a site:

Notion Web Clipper

As you can see, there aren’t all that many options. On the bottom right you can click and search for the page you wish to import the clipping to – but not much else. What isn’t obvious though, is that Notion will grab various fields, and import them into the appropriate tables of a pre-existing database. That means, that it will save the URL into the ‘URL’ column of your Reading List table. This is really handy, as it means you have to do less leg-work when it comes to getting different kinds of info into your custom databases. Unfortunately, the extent to which you can modify this is fairly limited… (as in, to tell the clipper to save the URL to a different table field, etc) but hopefully that will come in a future update.

UI and Page Formatting

The UI of the Notion block-style editor is particularly nice. Emojis are littered everywhere, acting as icons or nice little visual indicators, and you can customise pages with images pulled from around the web. There’s even an Unsplash integration, which is a pretty great way to directly get access to high quality images for free.

Unsplash Integration - Notion

There is also a wealth of different ways to format the information on your pages and organise them as you see fit, including collapsible sections, different headings, etc.

rich text editor Notion

Anyway, you’ve all seen rich text editors before… but it’s worth saying that the options here are far more fully-featured than I would have expected.

File Handling and Embeds

It should go without saying, but embedding content from other parts of the web like YouTube is really easy. However, at first I thought that file handling in terms of uploads might not be so great, based on various reviews talking about how great Evernote was at handling all kinds of different file types. In practice though, this wasn’t really the case. While you have to purposefully create an ’embed’ block first and then upload your file to Notion for it to display inline (if you just drag and drop, it will create a download link instead) – it is still perfectly functional, handling PDFs, MP3s, etc.

File handling Notion

The one caveat here is that while Notion is free for personal use, uploading files larger than 5mb requires a paid account – which starts at 4USD per month for an annual subscription (or 5USD on a monthly basis).

How I use Notion

Years ago I helped create a Wiki style ‘portal’ for a company that I worked for. The idea being to serve as a central Intranet dashboard full of links, news, and other resources that folks might need. The software we used wasn’t exactly up to scratch, but it got the job done. If Notion had been available back then, it would have fitted the bill perfectly – and that’s one of its major strengths.

Instead of having all different kinds of data stored in different services that I inevitably forget about (Pocket, Evernote, Google Spreadsheets, etc), I now have a single personal ‘portal’ which displays a whole bunch of stuff that I need and use on a daily basis – or simply want to be reminded of. Links to commonly used sites, goals for the year, habits I want to track, articles I want to read, etc. There’s so much information collected and organised in the one place that it’s hard to show just what I mean, but here’s something of an insight…

Notion homepage

Having everything I need organised and presented in this way, where I can see the status of a bunch of different ongoing projects at a glance, and dig in deeper into the sub-pages for more information as required has been really liberating. Instead of just chucking every little thing I find on the web which might be useful one day into vaguely defined categories in Evernote (which never really worked very well), I now have things much more neatly defined, and feel so much more organised. It has lifted some kind of low-level mental pressure around accumulating so much data that I would never be able to find again because of its haphazard nature.

Conclusion

I really didn’t expect to take to Notion in the way that I have. While it did initially take some adjustment to understand its core kind of usage philosophy, and a bit of time to set up and input my data in a way that made sense for me, it has replaced and improved on so many different areas of my daily workflows that I can’t imagine going back to Evernote.

Ultimately, the data that I save is now far more organised, far easier to access, and much more useful than it ever has been before as a result. I would definitely recommend it to anybody interested in keeping track of their digital knowledge base.

There is so much more to the app than I can squeeze into a single post, including the ability to manipulate or query the databases via scripts, etc… and so I’ll post a few follow-ups with specific use cases for more details.

Remaining Productive with Things: The Pandemic Edition

Back in March I wrote about how I managed my time using the task manager app, ‘Things’. The gist of that post was that rather than struggling to remember or stay on top of all of the various activities you want to complete (no matter how small) – you chuck them all into Things, and free up the mental energy that would otherwise be expended in tracking them.

For a while, this approach worked really well, but over time I found that I was confronted every day with a huge list of tasks that needed completed, and there wasn’t any kind of tangible satisfaction in completing them, as I knew at midnight the next day’s tasks would appear on cue. Rather than helping to alleviate stress, Things began to contribute to the overwhelming pressure of everyday life, which had come sharply into focus thanks to national COVID lockdowns and varying restrictions. Things I was ment to enjoy (like making music) were reduced to yet another tickbox to be churned through.

What made the above worse was that there were recurring tasks that I wanted to complete, but often failed to find time for. I didn’t want to take them off my daily list, but I didn’t want them to have the same mental load as other tasks.

Taking inspiration from this blog post, I followed Andrea’s lead, and changed the way I approach task management with Things. Rather than having one large daily list of jobs to get through, I now have them separated into their respective categories. The tasks that I definitely want to complete that day come in at the top, under ‘Daily Tasks’, and I try to keep this to a manageable load, so that I can always clear them out. Other things that I want to get done, but don’t necessarily have to get done that specific day are then available for me to work through, based on how I feel/what energy I have that day.

How my Things to do list is organised now.

This new approach has made a huge difference to my relationship with the daily to do list. Rather than feeling like I am endlessly fighting a losing battle to keep ticking off checkboxes, I can now see at a glance exactly what tasks need to be done that day. By keeping those separate, deliberately chosen, and manageable, I no longer feel like the other bits and pieces that I want to do are a chore. If something isn’t in the Daily Tasks list – it can be done another day… and ironically, since adopting this method, I’ve gotten even more done than usual, because I don’t feel the same pressure to complete everything.

Pomodoro

One other thing that I have adopted which is worth mentioning is the Pomodoro technique. The general idea here is that you split up your time into chunks of about 20 minutes, and deliberately focus on a particular task for that period of time, before taking a break and either moving on to something else, or committing to another 20 minute period of focus.

This notion isn’t anything new. I am sure I’m not the only one who sat in maths and thought ‘Okay just get through the next five minutes and then it’ll be another five minutes after that’. Plenty of people have written about this extensively elsewhere… but it’s not an approach that I’ve ever really come to use in any disciplined way. Breaking up my tasks at work was always too difficult, and concentrating for 20 minutes to then have a break and return to the same tasks felt too artificially scheduled for my liking.

However… since I switched up my approach in Things, I’ve had success using the Pomodoro model for my own personal projects – particularly those that I want to get done but struggle to get the motivation to start. For example, I am currently learning Japanese, but sometimes (often) the prospect of firing up the flashcard app for an indeterminate amount of time seems like too much of a chore, and I put it off. Before I know it, I haven’t done it in days.

Now, I sit down and say – okay, I’ll just do it for 20 minutes just now, and then go off and do something else. Knowing that it’s such a short amount of time means I can focus much more than I normally would, and I have been rattling through tasks like never before. This also helps me work out just how much time I actually spend or need to spend on certain activities to complete them, and it can be much less than I expected.

We’ll see how this mutates and modifies as time goes on, but for now… this is the approach.

Staying Productive with Things

Things Logo

More than productivity

I am a person that needs to have a bunch of different projects going on at any one time. Whether it’s making music, writing blogs, building weird keyboards, or restoring old iPods, if I don’t keep my mind busy, it quickly begins to turn in on itself. At the same time, my work involves managing a variety of disparate projects that can vary from day to day.

All of this has become increasingly difficult to keep track of over the years, and none of the various calendars, diaries or bits of software I tried really helped. However, about six months ago my colleague and friend Bryan convinced me to give an app called ‘Things’ a go, and it has pretty much transformed how I manage my time. As well as becoming far more productive, I have found that I am far less stressed out, and feel more in control. I had never appreciated just how significant the cognitive load of having to juggle so many tasks was, or how much anxiety I had internalised as a result. Now, I no longer worry about forgetting to do something, or lie awake at night unable to sleep while my brain organises the things I have to do the next day.

At the end of the day, Things is just a To Do list app, but it’s an especially pleasant one to use, with a really smart workflow. Rather than wasting what Bryan would call ‘brain cycles’ worrying about er, things, you let Things take care of them. In particular, it wasn’t until I found myself increasingly filled with despair about the unfolding COVID-19 pandemic that I realised just how invaluable Things had become for keeping my mind clear. Rather than allow myself to become consumed with the developing news cycle, I instead chose to rely on Things more, and focus on what I wanted to get done in the following days. While it seems trivial, this helped tremendously. So in this blog I wanted to share a bit about how I make use of Things, and what I’ve learned.

The Basics

Things is a beautifully designed to-do list app from Cultured Code which runs on both Mac and iOS. It doesn’t run on Windows, and (annoyingly) there is no web or Android version (though see this post for my workaround). The current version at the time of writing is Things 3. It is apparently based on the ‘Getting Things Done‘ methodology.

Boiled down, Things essentially just provides a very pleasant way to quickly create and manage tasks – the beauty of it though is the myriad of different ways that you can view and organise these. At its most simple, you have an Inbox where you can dump all sorts of to do items to be organised, and then categorise them into different subject matter areas or projects.

Things Inbox

Tasks can be set to only appear on a specific ‘due date’ – presented in the ‘Today’ window. They can also be set to recur upon completion, or at set intervals.

Things Today view

For tasks that absolutely must be completed by a certain date, you can flag them up with a deadline.

Deadline - Things

Selecting an Area or Project on the left will display only the tasks that are associated with it, if you want to focus on something specifically.

Things

If you have tasks that you want to get to, but they aren’t time specific, you can throw them in the ‘Anytime’  bucket… and for ideas that you want to explore at some point, they can be filed away under ‘Someday’ for when you get time. You can also tag any task to further organise them to whatever level of detail you want.

Things Anytime

There are a bunch of other features as well which I won’t go into in any depth just now – such as the Logbook which keeps track of all of your completed tasks, the calendar integration so you see what appointments you have on any particular day, and the ‘Upcoming’ view which provides a longer term perspective of what’s on the horizon.

How I use Things: Workflow, Tips & Tricks

Everybody will use Things slightly differently, and I borrowed a lot of my approach from my sensei Bryan. However, here’s some of what I’ve found works:

Add everything – no matter how small – I literally add everything I need to remember to do as a task into Things. Whether that’s remembering to wash the dishes, or to chop carrots for dinner, I offload everything onto there so that I don’t need to think about it. At first this can seem pretty ridiculous, or like you are outsourcing your faculties to an app, but it frees up your mind to focus on other things that are more important. This also means that you have a mixture of things you enjoy as well as specific obligations – which helps to avoid dreading opening the app in the first place.

Make use of shortcuts – There are a bunch of useful shortcuts, the most important of which lets you very quickly add in To Do list items to your inbox while you are browsing the web, to be categorised later. Learn these, as the less friction you have in adding tasks or managing them, the easier and more natural it becomes – and the more you can focus on what you are doing at the time.

Only add things to your daily pile that you can actually achieve – It took me a while to realise that I would add all sorts of tasks to my daily list that I wanted to do, but which realistically I would never be able to get done. That ended up pretty demoralising, as I saw the same To Do items rolling over day after day, unchecked. Now, I only add things that I either have to get done, or which I have a reasonable shot at completing, and it has been far more effective.

Organise your tasks for the following day – Every night I look over the tasks I have for the next day, and organise them roughly by when I want to complete them, and ask myself what seems reasonable to do in one day. If it seems like there’s too much, I punt it to the following day. This ritual helps me organise my thoughts and get to sleep faster.

Set smaller goals, and be judicious with repeating tasks – It can be tempting to set a goal like ‘I will do one hour of Japanese study every day!’ and to add it in as a repeating task that appears on your list on the stroke of midnight. However, I found that this was actually counter-productive, as I began to just ignore these broad repeating tasks. Instead, I would manually set much more specific, one off tasks, like ‘Do 2 lessons on DuoLingo’ – which made them far easier to complete.

Use tags creatively – There are all sorts of cool ways you can make use of tags. For a practical example… I save lots of news articles to Pocket, but never actually get around to reading them. The same applies to YouTube videos. Now what I do is chuck them into Things, and tag them with the time they will take to complete – ’10m’ for example. Then, whenever I have a spare ten minutes and I’m not sure what to do – I can dip in and quickly find something to fill that time.

Separate out evening tasks – There’s no point having stuff you have to do after dinner wrapped up in the same list as everything else, and Things lets you specifically ring-fence tasks for the evening within a specific day. Make use of this!

Projects are useful! – I didn’t really utilise the Projects feature for ages, relying instead on individual tasks within Areas, but then I realised you could put Projects under Areas. Game changer. Now I use Projects a lot to manage groups of different tasks that add up to a larger goal, which is really useful.

Summary

…and that’s it. At first I didn’t really get what the big deal with Things was, and thought some of the practices were a bit bizarre and redundant, but I genuinely think that organising things in this way has made a huge difference to both my productivity, sense of achievement, and overall zen. It ain’t cheap, and they need to hurry up and just make an Android app already damnit, but I’m not sure what I would do without it at this point.

Things Blog

Submitting to Things 3 App from Telegram with Integromat

My colleague Bryan is a productivity whizz. So much so that we often question whether he is actually human, and whether or not he would pass a Turing Test. I too am partial to finding ways to improve things that I have to do every day, and so when he gave a passionate recommendation for the To Do list app ‘Things’ from Cultured Code, I wanted to dive in headfirst, and I loved it straightaway.

No Android App

The problem with Things 3 however, is that it runs entirely within the Apple ecosystem. That means there’s no web interface, and crucially… no Android application. Having ditched the iPhone a while ago, I was left with no easy way to quickly add items to my To Do list while out and about. There is a way to send tasks via e-mail, but having to open up my mailbox, find the contact etc felt like too much friction for what should be much simpler.

Telegram and ifttt

What I do use all the time is the secure messaging app Telegram, and my dream was that I could just fire off a quick message and somehow have that shoot off an e-mail which would add the task to the Things inbox. It seemed like ifttt.com would make this simple, but it was actually much harder than expected. GMail’s ‘send’ integration no longer seems to work, and the built in ‘e-mail’ service only allows you to have one address associated with your ifttt account at any one time – restricting my workflow options as a result. This really should not be that complicated!

Integromat

I came across Integromat, which is essentially a much more powerful version of ifttt. The premise is the same though: You connect up a bunch of services, and tell them to do various tasks based on different circumstances. Unlike ifttt though, you can delve pretty deeply into the automations. It’s a bit trickier to pick up at first – especially if you aren’t familiar with programming, but gives a far greater degree of customisation.

To get my messages from Telegram into Things, I created the following ‘scenario’:

Integromat Telegram Bot ThingsThe way it works is by having a dedicated Telegram bot watch out for messages and send them via my GMail account to the special e-mail address for the Things inbox.

I decided that I might want to use this virtual helper for other things though, and didn’t want every single command I sent it to end up in Things as a To Do list item. To avoid that, I set up a filter on the scenario so that it would only send e-mails if the message began with ‘todo’ or ‘/todo’. Additionally, I used a text parser to take out those trigger words, and to add in a prefix of ‘via Telegram:’, so that when I look back on my outstanding tasks later, I have a bit of context about where they came from. In other words, if I add some bizarre things to my To Do list when intoxicated, at least I’ll know that it was down to Telegram.

For the final bit of the puzzle, I added in a step for the bot to reply when the workflow was processed successfully – including a copy of what was sent to Things:

Telegram Bot success messageIn Telegram, that looks like this:

Telegram Bot Things 3

Finally, here it is, magically appearing in my Things inbox for parsing later:

Things Inbox

p.s. You might be wondering what that reference to ‘operations’ at the end is all about. With Integromat, you get a certain number of resources allocated per month, depending on what kind of account you have. A free user gets about 1,000 operations per month, and each time I add a To Do list item, it takes up about 5 operations. With my awful maths that works out at about 200 To Do list items per month… which should be way more than I ever need, but I wanted to have some kind of visual indicator, just incase things started re-routing to a digital black hole somewhere.

The End?

So there you have it: How I got around the problem of adding tasks to my Things 3 To Do list when I’m not near my computer. Integromat looks very cool, and I’m going to have to think up some other commands for my bot to respond to… but really, this would be much simpler if Cultured Code would release an Android app.

Productivity Apps: Keyboard Maestro

keyboard_maestro_logoI’ve had this article on the back burner for almost three years now, but for the next thrilling instalment of my productivity app blogs, I’ll be turning to look at Keyboard Maestro.

Don’t let the somewhat dated website put you off, the app itself is unbelievably powerful. I have to admit to being wary when I first tried it out. The learning curve is steep, and the documentation pretty unclear – especially when compared to the other productivity apps that are available. However, after months years of sustained use, my feelings towards Keyboard Maestro have completely changed. It’s tough to get into, but so worth it. I honestly don’t know what I would do without it at this point.

So if Keyboard Maestro is so great, why did it take me so long to publish this? Well, there’s a few reasons. Firstly, there aren’t so many general use cases for Keyboard Maestro – at least not for me. Instead, it’s an app that’s best for repetitive tasks that are very specific to each user’s needs, which makes it difficult to give good examples. Secondly, it’s an app that you tend to set up and forget… before rediscovering it later on when your needs have changed, and you realise: “Oh! Keyboard Maestro could make this way easier!”. I’ve gone through that cycle a number of times, and after rediscovering just how awesome it is, I decided to finally complete this post.

What does it do?

Okay okay so Keyboard Maestro is great, but what does it actually do?. This is a good question, as it isn’t immediately obvious. Essentially, Keyboard Maestro allows you to take any task that you have to repeat, and automates it. If you’re familiar with Alfred, think of Alfred workflows, but on steroids. The key difference is that instead of having to write Applescript for every action you want to complete (which is still an option, by the way), there are a whole bunch of options baked in. Whether that’s telling the mouse to move and click on a certain point, displaying a popup message, getting an image size, filling in a field on a website, or whatever. You get a lot of control from the get go.

Keyboard Maestro Actions
Some of the ‘actions’ available.

 

The sheer power of Keyboard Maestro is also its undoing in a way. It’s easy to look at the list of actions and wonder when you will ever use any of them. The UI is not the most intuitive, and you’d be forgiven for giving up at the beginning purely on that basis alone.

If you want to carry out simple, general tasks, then there may well be a nicer app that lets you do those things. However, that isn’t the point of Keyboard Maestro. Keyboard Maestro is there to help you automate pretty much any task that you can think of.

In addition to the automation, there is a whole host of other cool features that you can do a deep dive into – such as an extensive multi clipboard manager, application switcher, and others – but for me the real glory lies in the macros.

What can it do for me?

 

One of the biggest hurdles to starting off with Keyboard Maestro is working out exactly what you’ll use it for. It takes a conscious effort to work out what tasks you could automate – which isn’t necessarily something you thought was possible beforehand. Once you do sit down and give it some attention though, you’ll soon come up with plenty. Do you have to fill out specific fields on a website more than once? Use a macro. Do you need to convert HTML to markdown? Use a macro. Need to extract URLs from a big block of text? Macro. The possibilities are endless.

As part of my job, I regularly have to review and respond to reports about different websites using a helpdesk system. Each one (generally) requires me to:

  1. Find the website URL in the e-mail and open it.
  2. Decide what to do.
  3. Note down the action taken in certain circumstances.
  4. Reply by copying a specific part of the original message, and quoting it back in a certain format before providing an appropriate response.
  5. Select a certain option to mark the issue as ‘Resolved’ or ‘On Hold’.

All of these steps are fairly straightforward, but a lot of time is taken up by clicking through the same tasks for each – even when I use a textexpander or snippet manager like Alfred. Sometimes the URLs are jumbled up and I need to fix them before opening or responding, or they are buried in huge blocks of text… etc. However, with Keyboard Maestro, I can reduce this all to a couple of key presses, with a couple of macros doing all of the following:

  1. Extracting all of the URLs from the messages, and opening them in new windows.
  2. Pasting the URLs in the correct quoted format at the top of the reply, along with the appropriate response.
  3. Adding whatever notes needed to track the action taken in a specific field.
  4. Marking the issue Resolved or On Hold as appropriate.

The only thing Keyboard Maestro doesn’t do is decide what action to take – which is just as well really, for a variety of reasons!

Like many of the examples, that one is very specific, but it demonstrates a bit of how granular and useful Keyboard Maestro macros can be – and will hopefully get you thinking about your own use cases. Here are some other more general tasks I regularly deploy macros for:

  • Inserting a URL wrapped in a href tags.
  • Pasting text with different styles of quotes depending on the situation.
  • Parsing blocks of text to extract URLs and/or e-mail addresses.
  • Getting ID numbers from long URLs.
  • Pasting items in a bulleted or numbered list automatically.
  • Filling out forms online.
  • Copying the current URL from my browser window (and doing stuff with it).

The most powerful and useful ones are those that have very specific, work related use cases. With a bit of imagination, you’ll come up with your own, so I’d encourage you to give it a bash.

Triggers

To wrap this up, I wanted to highlight one more feature of Keyboard Maestro that makes it stand out from other productivity apps. For those veterans amongst us who regularly make use of workflow improvements, it’s easy to run out of hotkey assignments, and Keyboard Maestro has a bunch of different ways to solve that problem. First off is the use of ‘palettes’, which lets you assign the same hotkey to different macros – and then select them from a menu – or to activate different hotkey sets depending on what you’re working on that day.

If you already use Alfred, Keyboard Maestro is a brilliant complement, rather than a replacement in this way too. There is a specific Alfred workflow that lets you search and trigger Keyboard Maestro macros from the Alfred search bar, which is incredibly useful for those that you may use occasionally, but don’t want to dedicate a precious hotkey to: Alfred Maestro.

Finally, triggers aren’t just confined to mere hotkeys. Oh no. Pretty much any event you can think of can kick off a macro. If you want certain changes to happen when you connect to a particular WiFi, you can make that happen. Execute commands remotely by running Keyboard Maestro on a server? Why not. Run certain checks when a USB device is plugged in? Easy. You can even have Keyboard Maestro react to MIDI notes and values, which opens up a whole world of interesting hardware controllers aside from the keyboard… something I’ll be exploring in the next post.

In the meantime, go forth, and automate!

 

A Hyper Key Solution for Mac OSX Sierra

In the past I’ve mentioned how I have streamlined a lot of the everyday tasks I have to do through the use of various keyboard-centric apps such as Alfred and Keyboard Maestro. One of the linchpins of my setup is the use of something called the ‘Hyper Key’, which is essentially re-mapping the fairly useless Caps Lock to act as a super-function key, letting you trigger all sorts of shortcuts and different macros.

This particular configuration relied on two bits of software, called Karabiner and Seil. However, earlier today I was forced into upgrading from OSX El Capitan, to OSX Sierra, to fix an issue with some other apps that I was having. Of course, upon upgrade, I discovered that the Karabiner/Seil combination no longer functioned properly, and there was no real solution using the same tools. Sigh.

After a bit of digging, I discovered a way to re-enable the same functionality, albeit with a bit of jiggery pokery. Here’s how I did it:

  1. Install Hammerspoon. This is a piece of software that allows for automation, acting as an interface between a scripting engine called lua, and the OS itself.
  2. Install Karabiner Elements. This is a version of Karabiner that works with OSX Sierra. The latest DMG is available here.
  3. Under OSX Keyboard System Preferences pane, change the Caps Lock Action to ‘None’, to allow Karabiner to control it.

    Screen Shot 2016-10-28 at 21.12.04.png

  4. Set up Karabiner Elements to map the caps_lock to F18. You can also do this by adding in a config file to ~/.karabiner.d/configuration/karabiner.json, but it’s so easy to do manually that it seems overkill to go that route.

    screen-shot-2016-10-28-at-21-09-05
    How Karabiner Elements should look
  5. Now, load up a lua config file into Hammerspoon, by copying it to ~/.hammerspoon/init.lua – see below for examples.

The config file I am using is available over on GitHub here. It will re-enable the Hyper Key function for all a-z and 0-9 keys, as well as a couple of miscellaneous ones that I use, though it should be self explanatory on how to add new ones.

One thing to watch out for is that any Hotkeys set up in Alfred to launch applications with the Hyper Key don’t seem to work any longer, so for that, one way to get them to launch is to add a specific mapping in the init.lua configuration. Here’s what I’ve done to get 1Password to launch with CAPS+O:

-- Code to launch single apps that Alfred used to handle.
-- Hat-Tip: https://gist.github.com/ttscoff/cce98a711b5476166792d5e6f1ac5907

launch = function(appname)
 hs.application.launchOrFocus(appname)
 k.triggered = true
end

-- Keybinding for specific single apps.

singleapps = {
 {'o', '1Password 6'},
}

As you can see from the above, I obviously didn’t write the code to make all of this work. Credit for that goes to a combination of ttscoff and prenagha; I just tweaked it for my own simple use case and wrote this up in the hope that others might find it easy to follow.

Good luck!

Productivity Apps: Alfred Remote

Two weeks ago, the creators of one my favourite Mac apps – Alfred – released a second app: Alfred Remote.

alfredremote

What does it do?

Alfred Remote is an app for your smartphone (currently iOS only) that integrates with Alfred, and allows you to control your Mac from your phone. You can launch apps, interact with the system (to logout, dim the brightness, shut down the computer, etc), or run more complicated workflows.

What’s the point in that?

At first it isn’t quite clear what the point in some of the features of Alfred Remote are. They might be designed really nicely, and work well… but why bother launching an app on your computer from your phone if you then have to be at your keyboard to use the app anyway? It would be awesome if there was some way to input text into open apps, for example, but there currently isn’t – not easily anyway. I was a bit disappointed, as it seemed like a nice idea that didn’t have much use outside of controlling the screen when you were giving presentations.

However, as with Alfred itself, the ways in which it can become useful don’t come clear until you start to dwell on them a bit more. I realised there were more than a few things I would do on my laptop that would be great if I could control remotely – like when I was watching films on Netflix or VLC. As more and more people use computers as media centres, this app will prove more and more useful. It might be true that many of the issues that it can solve are very niche, but often they are the hardest ones to find a solution to.

On top of controlling your computer remotely, rather than thinking about it in terms of something that would be used instead of the keyboard or mouse, we need to consider the benefits of using it to augment them. As one fellow Alfred forum members put it, think of it as ‘Alfred Sidekick’ rather than Alfred Remote.

What do YOU use it for then?

The ways in which Alfred Remote will be useful will differ depending on your own needs and expectations. The beauty of the app is having the framework there, ready for you to create your own custom solutions to your individual problems.

For me, the first thing I did was to create a workflow for the media player VLC.

We don’t have a TV at home – as I don’t think the licence fee is worth the cost. As a result, we watch a lot of DVDs and other media files on a big LCD external monitor. Not having a remote control can be a bummer, so… I created one!

alfred remote vlc

The basics are there – play/pause, and buttons to change the volume – but there’s also a few that I added in specific to issues we came across, like to turn subtitles on or off, to fullscreen the window, and to increase or decrease the audio delay to compensate for lip synching issues. Simple, rough, but works great. Download VLC Remote Control here.

Next was Flux. Flux is an app that gradually changes the colour temperature of your screen throughout the day, in order to prevent eye strain. I hated it at first, but now I love it. Along with Alfred, it’s one of the first apps I’d install on a new computer.

The one problem with Flux is that it can interfere with the colour rendition for when you’re playing movies, or working on photos. There are ways to make up for this, but often it can be a pain if you’re sitting on your couch to go into the settings and find what you want. So…

Flux Alfred Remote

Here is my Flux Remote app. I can disable it for an hour, until sunrise, for the current app, access the preferences, enable movie or darkroom mode, and even quit the app completely. Download it here.

Third came Flickr. I love Flickr, particularly browsing through other people’s photostreams and seeing their work. Problem is, I’d really love to do it sitting with a glass of whisky, with the pictures in high resolution glory on my big screen rather than on my laptop. Luckily, Flickr’s interface has some keyboard shortcuts built in. I used these to create…

Flickr Alfred Remote Control

Flickr Theatre. This is really simple at the minute, but it lets me load up a big stream of pictures, browse between them, zoom in on them if I want, view them in lightbox mode, and then add the ones I like as a favourite. Pretty basic, but in the future there are a whole load of other things that could be possible. Download it here.

Now on to something that is more along the lines of the ‘Alfred sidekick’ mindset that I mentioned above. I edit a lot of pictures, and I am terrible at remembering the shortcuts to open common things like Curves, Contrast, etc. No matter how often I use them, they just don’t stick. So I had an idea… why not create a dedicated Alfred remote page to control these?

Screen Shot 2015-02-12 at 16.12.29

This is still a work in progress, so not online to download yet – but essentially I can keep my iPhone open at the side of the keyboard whilst editing pictures, and call up the tools I use frequently without having to worry about remembering their keyboard shortcut. Awesome.

These are just a few examples, and there are plenty more coming out all the time. I also use the built in iTunes control, and some others – but have chosen just to focus on the ones I’ve created specifically, as there is documentation out there on the rest. The Alfred community is alive and well, and the possibilities available by using workflows are pretty powerful. There have already been hints that future versions will contain more advanced features based on the feedback that has been received so far, so it’ll be interesting to see how things develop.

Where do I get it?

Currently the app is only available for iOS, but that should hopefully change in the future. It’s available for $4.99 on the App Store, or £3.99 in the UK.

To find out more, visit the Alfred Remote page.

Productivity Apps: Bookmarking with Shiori

Shiori

Bookmarking

Bookmarking. It’s something I’ve always struggled to find a good solution to. The in-browser features don’t really make it easy to quickly find common URLs, and I’ve tried to use other websites in the past, but they just didn’t seem to stick in my mind.

What I’ve Tried Before

The closest I’ve come to finding an answer is in Alfred, which I’ve blogged about before. There are a few different ways you can bookmark with Alfred, but I didn’t quite find that any of them matched what I was looking for.

First, I tried using the ‘web search’ feature to associate bookmarks with particular keywords. The problem with doing this though, is that you need to remember the exact keyword to call up the site you want. As as a result, it isn’t all that great for keeping track of lots of different locations.

Another solution was to use the Alfred Snippet Manager. This could be a really good solution, as you would be able to search by the title and description that you enter, as well as the content of the actual URL itself. However, if you already use the Snippet Manager for predefined replies – more like a clipboard manager – then having a large number of bookmarks in there could pollute the results, increasing the time it takes to find the things you need effectively.

I set out to find an alternative, and made use of my old Delicious account to create a workflow that could search through my bookmarks by making use of the private RSS feed. It worked, but was a bit clunky, and not as intuitive as I’d have liked. That meant that I didn’t ever really make use of it.

The real solution came in the form of a different app altogether…

Shiori

I stumbled upon Shiori completely by chance, and was surprised I hadn’t seen it mentioned anywhere before.

Both the website and the app itself are beautifully simple, and easy to use. You simply set it up to connect to a Delicious (free), Pinboard ($11 annually) account, or both. Personally, I use the latter – as Delicious keeps making changes to their service which break things. The $11 is worth the money. Call up the interface with a hotkey, and you can search through all of your bookmarks in an interface that is awfully similar in feel and operation to Alfred.

shiori_main

The similarity isn’t a criticism, as Alfred is amazing. You can search via tag, words, or even abbreviation. Like Alfred, the more you use the app, the smarter it gets – picking up on the type of searches you use most commonly to find particular bookmarks. Because it uses your login details (and doesn’t just pull it from the RSS like my hacky method above), it’s really fast too.

There’s also a hotkey that can be set to bookmark new websites quickly from the browser. If you have Keyboard Maestro installed, Joseph Schmitt has created a pretty sweet workflow which you can assign to an additional hotkey. It takes the highlighted text and automatically adds it into the ‘notes’ field. More on Keyboard Maestro in a later post.

This type of bookmarking is often called ‘social bookmarking’, as they are largely designed to be public, to share with friends etc. I’m not really into that, and prefer to keep my URLs private. Shiori makes it easy to automatically tag new bookmarks as private, to avoid having to do it manually yourself every time.

You can add in certain domains (if you want to keep particular – ahem – websites – private), but if you stick in an asterix, it will capture them all.

Screen Shot 2015-02-10 at 13.23.14

In summary, I love Shiori. The design is as nice as Alfred (and it works just as well), it arguably works better for bookmarks, and it helps keep things compartmentalised. Snippets are now assigned to one hotkey, Alfred another, and Bookmarks another.

Where can I get it?

You can download Shiori for free (yes, completely free) here.