2023.01.25.

2023.01.11.

Re-reading 43folders.com

I recently started making read/review-related GTD projects to be more disciplined about consuming websites and books. I do this because I want to extract information from them and not just read and forget it.

The current one is 43folders.com, which is old, but still contains many valuable tips and tricks regarding Mac productivity. I’m unsure if there is anything like that today like the Mac blogging scene was from 2003-2008 – maybe MPU Talk — when everybody was obsessed with GTD, QuickSilver, Mac OS X, and productivity. Good times!

Anyway… I started to archive interesting articles linked on 43 Folders into DEVONthink. Sadly, many of those blogs are no longer around, but archive.org has them saved.

Screenshot 2023 01 11 at 11 46 54

2022.09.03.

Using Apple Reminders for GTD

The built-in tools of macOS are capable of serving a complete GTD system, making it possible to fully automate it without additional software.

These tools aren’t made for GTD per se, so we must strive to implement a simple system for ourselves. We have to focus on achieving goals using our GTD system, not perfectly organizing our stuff.

There aren’t many people who use macOS tools to their full potential. It happens probably because not many people can think in systems; they expect the tool to give them a system. macOS doesn’t provide you with systems. It is a general OS that needs to be bent to the GTD way of things.

The new features of Apple Reminders make it capable of replacing more serious task management apps. There is no better time to consider using Reminders as a free alternative to OmniFocus or Things.

I will show you how to set up Reminders for a GTD-inspired workflow in this post.


Creating two groups for our lists

We can create two types of lists in the Reminders app: traditional lists, which can be used for planning, and smart lists, which are best used for everyday work.

Traditional lists are simple containers where we can organize and store reminders. It’s similar to having a list of reminders written down on paper, but a digital reminder can do way more than its analog relative. It is essential to mention that we can indent reminders under each other on these lists, which we will use later.

Compared to this, smart lists can be updated automatically. They can sort and display reminders for us based on predefined parameters, which makes them the perfect candidate for creating context-based lists. There is no way to show a reminder with sub-tasks on a smart list. Fortunately, we don’t need to manage sub-tasks in a GTD system by default because every project should have concrete next actions. If you need a checklist for a next action, you can store that inside the reminder’s notes field.

To organize our lists appropriately, we have to create two groups that will split our lists by type.

  1. First, we have to create a “Planning” group that will organize our lists used for project-based planning.
  2. Second, we need to add another group called “Doing,” which will contain our context lists.

Using the “Planning” group

The “Planning” group represents one of the two horizons of GTD, where we see our next actions grouped by projects.

We will keep our traditional lists organized inside the “Planning” group so that each planning-related list will be in one place. It can help if you create separate lists for each of your responsibilities, like personal or work projects.

These lists will contain projects by keeping top-level reminders for every project, and then its next actions will be listed as a sub-task under the project’s reminder. By organizing content this way, we will connect projects to next actions.

Contexts will be assigned using tags, which is one of the new features of Reminders running macOS Monterey and iOS 15. If there aren’t any tags set on a reminder, we should consider it as a future next action, which we can’t do anything about immediately, but we want to avoid forgetting it. Keeping project plans in Reminders is fine for smaller projects, but for more significant projects/goals, we should keep our notes, possible next actions, plans, assets, and ideas in a separate app.

If we assign dates for these reminders, they will show up on the Today list on the day we set; also, we can keep track of upcoming reminders on the Scheduled list as their date is approaching, basically using this feature as a digital Tickler File.


Connecting next actions to projects

Lists inside the “Planning” and “Doing” groups are used to sort our next actions by project and context. I should mention some caveats though related to this list organization method.

  1. First, our events/appointments/meetings are still kept separately on our calendar, so we have to review them individually.
  2. Second, there is no logical difference between a project-related reminder and a next action-related reminder inside Reminders. If you are coming from a dedicated task management app like OmniFocus or Things, it can feel weird at first when we use the same type of reminder for projects and next actions as well.
  3. Third, relating next actions and projects can be challenging, resulting in more time spent on system administration than necessary (I write about this in more detail below).

Now, it’s time to talk about the nuances of the connection between projects and next actions. In the original GTD implementation, there is no connection between them; everything is on separate lists; we are the ones who logically connect these once a week during the Weekly Review.

Nowadays, task management apps are training us to see tasks listed directly under their project. But what about other types of next actions that we keep in other apps, like our calendar? We can only assign next actions to projects that we hold in our task management app; these apps don’t keep track of our calendar events. During Weekly Reviews, we can be under the impression that all we have to think about related to a project are the tasks listed under it, forgetting about other places like our calendar. We have to connect those to their corresponding projects manually in our head. It would be a better workflow to let the software handle these connections automatically; sadly, no such software exists yet, so we have to find the logical connection between things, so our minds can see the whole picture.

Connecting next actions to projects can also slow down inputting information into our system. In the classic GTD implementation, all we have to do to add a new item is append it to the appropriate context list. Suppose you want to keep track of the relationship between projects and next actions. Additional information will be needed—usually in a different form field—which slows down the input process. When the only thing that we have to fill in is the task’s name, we think more about how we should name it (knowing that we won’t see the project related to it). We will phrase more precise next actions, so we can imagine the physical activity better before we start doing it, which results in less procrastination, and more work being done without much thinking.

It is good to know (from the UI point of view) that Reminders won’t display the projects on context lists because—compared to OmniFocus and Things, where the project and the context are actual properties of the to-do—in Reminders, the project is just a structural connection (the parent of a reminder).

As you can see, connecting next actions to projects inside Reminders can be cumbersome because we have to set up a tree-like structure where next steps are nested under projects using drag-and-drop. When you have an Inbox list (which we will talk about later), you have to drag the reminder to the corresponding list inside “Planning,” then click on the list again in the sidebar, find the reminder, and drag it under its project. The last step can be done using keyboard shortcuts, but it is far from being as intuitive as assigning projects to next actions in OmniFocus or Things; people accustomed to these apps can feel like this step is a chore in Reminders which results in more time spent on system administration than necessary.


The tag

As I mentioned before, there is no difference between project reminders and next action reminders, so it’s a good idea to set the tag for reminders which are representing projects. You are right to ask: why is there a need for this tag when every next action is a sub-task of a project reminder defined as a parent?

First, not every next action is related to a project. You will create a bunch of singular to-dos which doesn’t need to be assigned to a project because they can be completed alone, for example, “refill paper in the printer,” “clean the desk,” “moan the grass,” etc. Since these reminders are not represented as sub-tasks, they will show up at the same level as projects, so it’s a good idea to differentiate these singular next actions from projects.

The second thing which can make the tag useful is highlighting orphaned projects. As we complete the five steps of GTD, we will end up with projects with no remaining next actions because (if we are lucky) we’ve completed the project, or (which happens more frequently) we forgot to capture a next step about the project. There is nothing wrong with that: this is why we keep the project list around, so we can remind ourselves to define next actions for every one of our goals. If our project reminders are marked with the tag, we can find orphaned projects more quickly in a long list; we don’t have to stop and think about if the reminder represents a project or a singular next action.


The Someday/Maybe list

The goal of the Someday/Maybe list is to have a place where we can collect things that we aren’t engaged in right now. This list can contain stuff that we’re are “cooking”: can be ideas, inactivated projects, dreams, goals that need to be achieved in the future, etc. We don’t think of them as “active” right now, but any one of them could be activated, “maybe someday.” We keep the Someday/Maybe list in the “Planning” group, so we’ll have a place to save these items later.

Here’s a good idea to integrate into your habits when a project becomes inactive: remove every tag of every reminder representing the inactive project and its next actions, then move these over to the Someday/Maybe list. This way, our project list is kept clean, so we will not think about outcomes that aren’t available right now; also, next actions from inactive projects will not show up on our contexts lists inside the “Doing“ group. We know that our context lists show only to-dos, which are actionable right now.

It is crucial to review the Someday/Maybe list from time to time (ideally weekly) since it can quickly turn into a dumping ground for random ideas, which we never review. If you use the Someday/Maybe list this way, you’ll become a compulsive collector: you capture things, but you throw them into a never-reviewed self, and in the end, you’ll end up with a lot of unused stuff.

According to GTD, your mind can’t let go of something until you give that thing the proper attention. We have to review our whole system habitually because that’s how our mind can relax and be sure that it will encounter information stored in an external system regularly.

When you introduce a new habit, you have to prove that you do it regularly. The only way to integrate a new behavior into your identity is to make your brain trust that it is done habitually (trusted system). When this happens, we change our identity and turn the habit into autopilot mode; our brain will rest and let go of the burden of reminding.

As you can see, you have to agree with yourself that the Someday/Maybe list needs the same attention and maintenance as the whole system so it doesn’t turn into a place of forgotten ideas.


Using the “Doing” group

We have to be in constant motion to gain back control. Rather than starting from stillness, it’s way easier to change the direction of something that already moves. One of the fundamental aspects of being in control is taking the appropriate next action at the right moment, which could propel you to the final goal.

You achieve change with a bunch of small steps, done consistently. It is similar when comparing the directions of two vectors starting from the same point. Over time, the endpoint of two vectors can get far from each other, even when you have a couple of degrees difference in their directions at the starting point.

Using next actions, we can slice and dice otherwise hard-to-do processes into smaller pieces, so over time, our life will be in a state where we can declare a project done. Because a next action is atomic, it has to formulate an actual physical activity.

If the meaning of an activity (tracked in an external system) is not apparent, then the brain has the burden of thinking about it again, which uses up a lot of unnecessary brainpower to figure out stuff you already figured out. You should be able to imagine any next action physically without thinking about it too much. You are more likely to complete a physical activity if you can imagine it in your head, which reduces the chance of procrastination.

When you start to do real work, next actions have to be obvious, so you can quickly scan through a list of tasks on a context list. The best thing to do is find similar steps, then do those in batches to avoid multitasking with many unrelated activities.

It’s easy to slice your work into different situations, like when you are at the office and want to accomplish something quickly or have a phone and 10 minutes to do one or two short calls. These situations are called contexts which we represent with tags in Reminders.

We mainly use smart lists inside the “Doing” group to filter reminders that have at least one context tag assigned (I also like to keep other lists inside the “Doing” group, like my Groceries list, which I share with my wife); we set tags up for every next action when we add them inside the “Planning” group. You can organize next actions via drag-and-drop as well: when you drag a reminder onto a smart list, Reminders will apply every tag from the smart list’s filter.

The goal of keeping context lists is to remember if you have a list for different situations. If you do, you can open it and review your possible next actions. You do this multiple times a day; every time, you have to ask yourself: what’s the next thing to do?


Reviewing the system

Using the “Doing” and “Planning” groups, you can sort your content by projects or contexts. This way, you can immediately review your system in any situation based on the nature of the work.

The “two horizons” based sorting is usually available in serious task management apps like OmniFocus, but with the system described here, you can have a similar setup with Reminders.

We discussed the importance of reviewing context lists in the previous section: we sort our next actions by context because we should see only tasks that we can pick in the current situation (considering the limits of the context). The classic example of situational limitations is when you sit on a plane, and you see “moan the lawn” on your “Home” list… well, you can’t do that since you’re on a plane.

Usually, there are two types of next actions on our context lists:

  1. Activity-based next actions, which can be done within the limits of the context. A descriptive next step can help you imagine how the activity will look when you do it.
  2. Verb-based next actions, where we are doing something about or something with the item that the reminder directly mentions. Usually, you can do these activities in one sitting, like utilities to pay, articles to read, receipts to organize, etc.

If we look at contexts, we can see natural and artificial contexts.

  • When you’re in a natural context, you automatically reach for the list at the right moment.
  • For artificial context, you need an external reminder to check the proper list (such a reminder can be your calendar, where you can create an event to check the context list; this way, you can block out a couple of hours to do just one type of work).

We use project-based sorting in planning mode to answer higher-level questions. Projects are adding directions to otherwise seemingly dumb processes. You can’t keep a process under control without a concrete project—a project is like a stake in the ground. During planning, you can get a project under control using the following process in your head (or for complex projects, using external tools such as mind maps and outlines):

  1. A brief description will automatically make you imagine a successful outcome for the project: try to phrase it in one sentence.
  2. By creating next actions, you slice the project into smaller, achievable pieces. If you do these next actions, your project will become a reality after a while.

Project planning can give you a direction, but it doesn’t mean you will accomplish your goal the way you planned.


Linking external assets

There are project-related assets like project plans, emails, and references which you may want to access quickly. Reminders is one of those Apple apps (next to Notes) which integrates with the “User Activity” system.

If an app supports Handoff, its content is probably linkable from Reminders. You can create such links in two ways:

  • You can open Siri and tell her to “Remind me about this.”
  • You can select any text in the source app, control-click on it, and share it with Reminders using its share extension. Some apps can share their content directly with Reminders.

Above that, we can link to content using URL schemes and deep links.

  • If we paste a link into a reminder’s notes field, it will turn into a clickable link.
  • Also, every reminder has a dedicated URL field that can contain web and application links. If you paste a link here, Reminders will show a small thumbnail under the reminder. You have to click on the link, and the resource will be loaded.

You are right to ask, what’s the point of connecting reminders with related assets? If you think about it, the asset is the noun, and the reminder is the verb which clears up what we should do about or with the noun. As you can see, the two go hand-in-hand, making our life easier by giving us a shortcut from the verb to the noun.

Writing down our thoughts on paper is the best way to untangle and give order to them. Paper has a tactile feel, and its freeform nature makes it a natural tool for this task. Digital tools are better at making information searchable; they can also store the results of our thinking, so we can naturally use them in conjunction with paper.

Knowledge is distributed between our mind and external tools supporting it. These tools can rely on our brain’s recognition capabilities to remind us of things; you can harvest this unique relationship between tools when you have to recollect a context, a project, an action, or any other project support material.

Supporting our minds with external tools gives us a shared system between the two, where the sum of the two results in knowledge. This way, you can use the best tool for the job: your mind to figure things out and external tools to store that knowledge.

As you can see, managing the connection between reminders and related support material can shorten the time between a thought and an accomplishment.


Setting up and using an optional Inbox list

We can’t let go of something until we pay attention to it. We need to have directed awareness, so we must write down potentially meaningful stuff floating around in our minds. GTD can help you with that, but you need to be mindful. Our brain constantly thinks about unclear stuff to indicate open loops: you must pay attention to that.

You have to collect (write down) ideas, have to’s, should to’s, anything that is potentially meaningful to you, then review and decide about what each item means, what you’re going to do about it (if anything), and finally pick where is the result of your thinking is going to be stored.

When everything is in its place, your brain can let go of this mess, relax and accept the current reality.

Almost every task management app includes a section for unprocessed items (called the Inbox), which makes the collection and processing GTD step easier; you can store things in your Inbox which are still uncleared. You can adapt something like this in Reminders, too, by creating a new list called Inbox. You can set this as the default list, so you can instantly start collecting things you haven’t decided about yet.

Using the Handoff integration mentioned in the previous section, you can add new items system-wide to Reminders similarly to other GTD apps. New reminders added via Siri and the Share Sheet will automatically appear on the Inbox list.

You can also use the Inbox list as a form of a temporary notepad to plan a project and its next actions. On this list, you can unpack a whole project with all related next steps, which can be dragged to their final places at the end.


Simple GTD

The workflow I introduced to you above is just one way to integrate GTD with the free Reminders app built into Apple’s platforms.

The point of GTD is to make sure that what you do at the moment is the right choice from your options, so your brain can focus on the current moment and stop worrying about the past and the future. We have to trust our system and use its list habitually.

When we’re reviewing our lists, we will trust that by storing the results of thinking in an external system, we will pick the right thing to do in the proper context—having a system that works like well-oiled machine guarantees that we will reach the goals that we picked for ourselves.

2022.07.04.

Answering follow-up questions about the Process perspective

I linked yesterday’s post on the Process perspectives in a bunch of places and generated a bit more negative feedback than I expected. I was confused because I still think this is a cool trick to have in your toolbox. As “cornchip” said it on the MPU forums:

This is a nice tactic to add to the swiss army knife of tools needed to break up a stagnant list.

I see great questions emerging in the discussion around this trick, which I wanted to answer here to provide a bit more logic.

Should I replace this with the GTD Clarify and Organize step?

Don’t use a remixed version until you are confident that all the habits around GTD are wired into your brain. Afterward, you can use this perspective to enhance your existing inbox emptying habit progressively.

Do I have to tag everything that goes into OmniFocus?

No, but you can. There is a setting in OmniFocus called “Clean up inbox items which have” which controls when OmniFocus should remove items from your inbox on clean-up. Mine is set to projects; otherwise, the Process perspective won’t show actions grouped by project.

Kourosh mentioned that this could lead to untagged/unprocessed items leaking into the system from the inbox, which is technically accurate, but don’t forget if you use this trick:

  • a: the Process perspective always shows unprocessed items which you can clean up,
  • b: if you do Weekly Reviews properly, you should trust your system, but more importantly, you’ll review everything again and catch these items.

Do you still use the OmniFocus Inbox?

Yes. As I mentioned, this perspective is great for breaking down a long list of unknown stuff, but sometimes I straight use the Inbox because it’s easier.

Isn’t it an unnecessary step?

It depends. I wouldn’t call it “productivity p0rn” because it genuinely helps to clarify the unknown.

Imagine you have to clean up a messy kitchen. First, you start to pre-organize: collect the dishes, throw away junk into a trash bag, etc. Then, you wash the dishes, clean the kitchen table’s surface, and get the trash out; sooner than later, you end up with a clean kitchen.

We do the same thing here: we’re pre-organizing a long list of stuff, so we can make sense of how much cleaning we have to do, then we clean each item in context with their related entities. This way, we keep our attention a bit more focused and keep support material easily reachable (especially if you link associated things in the notes field of your projects).

The point is to reduce the unknown and add structure to the inbox processing habit. You don’t need to do this all the time, but after, let’s say, 20 unprocessed items, this can be a beneficial step.

Don’t you keep too much stuff in your OmniFocus Inbox?

As David Allen says, I keep everything in the inbox which is “potentially meaningful” to me. Maybe, in the end, I only save 10% and throw away 90%, but the point of using an inbox (and GTD, for the matter) is to empty our head, and keep it that way.

There is an excellent video about this topic from the Next Action Associates called “What’s The Difference Between An Input And An Inbox?“.

Why do you need access to projects when you process your inbox?

It’s simple. Because I have support materials linked to projects in their notes field. I need to access them via links (and Hook) to store future actions, notes, etc. Having a list of items grouped by projects lets me easily select the project in the list, invoke Hook, or click on the links in the notes.


I hope this post answers your questions about the Process perspective and makes you reconsider adding it to your OmniFocus toolbox.

2022.07.02.

Reduce context switches in the OmniFocus Inbox using a Process perspective

I watched a video from Cal Newport on how he uses a simple text file for the sense-making of a bunch of new information. He mentioned that instead of processing his emails one by one, he captures the essence of every email into his text file, then starts to categorize it, organize it by projects, etc. This gave me an idea about solving a similar problem I had with my GTD inbox for a while now.

GTD recommends that we process our stuff in the inbox sequentially, without grouping beforehand. The problem with this approach is that many items related to different projects are scattered in our inbox, so we’re jumping in and out of projects while processing our inbox. This constant context switching drains energy from our brain.

If we want to spare our attention, it is a good idea to group our unprocessed inbox items by project, so we can reduce the context switching when we process them. Using this approach for the GTD Process and Organize steps will ensure that we clean things related to each project in one go, not randomly.

I will show you how to do this inside OmniFocus, but you can also steal this approach for Things using a similar “Process” tag.

Why is this a problem?

The point is to add a temporary structure to information in the inbox. I usually do some form of project planning and next action creation when I’m emptying my inbox. The problem is that I constantly switch thoughts about many different things as I go through each item. It would be nice to have them batched and grouped by their project. This can reduce the attention switching to different topics/projects.

Let’s say we have an inbox like this:

  • Item 1 (could be about Project X)
  • Item 2 (could be about Project Y)
  • Item 3 (could be about Project Z)
  • Item 4 (could be about Project X) ← This is where I will have to return to “Project X” again. This item can even be connected to “Item 1” somehow.

I hate when I have to switch my current context (not my GTD context, but the current mindset that I’m in) and go back to a project I already thought about and assigned a next action to; possibly, I even closed its support material since then.

Having new information pre-organized by projects (or topics) can reduce the load of thinking about a project twice or more in an inbox processing session.

Using the Process workflow

  1. The first step is to create a new perspective in OmniFocus called Process with the rules shown on the screenshot above. You’ll use this perspective to process things instead of the standard OmniFocus Inbox.
  2. It’s essential to have everything corralled into the OmniFocus Inbox, so you can stop jumping around different inboxes, but more importantly, have everything pre-organized by the project. Go through your inboxes (email, Slack, DEVONthink, etc.) and link a new action to all unprocessed items in OmniFocus. The Hook app can help a lot with this step.
  3. Open the Process perspective, where you’ll see your unorganized stuff sitting in the Inbox waiting to be pre-organized. You must quickly go through each item and assign it to an existing or new project (don’t assign tags). You don’t have to come up with the final name for a new project. Set whatever comes to your mind; the important thing is to pre-organize unprocessed items in this step. If you don’t know where to assign it, just skip it, or move it into a singular action list related to an area.
  4. When you have pre-organized everything, you can click the clean-up button (or press Command-K) to see all of your unprocessed items grouped by project. Now you can go through each item and deal with them in the context of its project instead of having them all over the place.

Why having a pre-organized inbox is better than a flat list of unknown stuff

I always get annoyed when I deal with something related to a big project in my inbox, and then 5 minutes later, another thing pops into my view about the same subject. I have to open the project and its support material again, get into the same mindset, and maybe even reconsider everything I figured out 5 minutes ago. It is a dumb way to plan things.

I’ve been pre-organizing inbox actions by the project for about a month now, and I can assure you that having unprocessed stuff grouped by the project can make a big difference. I can process my OmniFocus Inbox about 15-20% faster than before, but more importantly, I don’t feel tired after doing it. I stopped switching contexts for every item; instead, I’m spending more time at the project level and dealing with new things from this perspective.


I wrote a follow-up post to this one answering reader questions about this workflow.

2022.03.21.

2022.02.23.

Archive Hook bookmarks with DEVONthink

I was in a Tinderbox Meetup last week, which was more about Hook than Tinderbox. I’m not a Tinderbox user, but I’m interested in how other people use their tools.

In the middle of the call, somebody had a question about Hook bookmarks. More specifically, can Hook archive its bookmarks as archive.org does with websites in general? Well there is no feature like that in Hook, and to be honest, doesn’t even need to be, because Hook has great Apple Script integration, so we can query bookmarks from its database.

In conjunction with DEVONthink, we can archive our bookmarks from Hook and save them as Pinboard does. I made a script for this a while back and it’s really helpful. It runs once a week, archives all websites from my Hook database into DEVONthink.

Setting up the script

First, download the script from here.

The scripts collect everything into one group in DEVONthink, so you have to create one where the archive can be stored. I would advise a new database even if you don’t have something similar already.

Open the script you downloaded. You’ll see two lines at the top of the file.

set webArchiveDatabaseUUID to "databaseUUID"
set hookedWebsitesGroupUUID to "groupdUUID"

You have to replace the databaseUUID and the groupdUUID part with the UUID of the database and group from DEVONthink. To do this, open DEVONthink, ⌃click on the database in the sidebar, and pick “Copy Item Link”.

Now, replace databaseUUID, with the link you copied. You’ll see something like this.

set webArchiveDatabaseUUID to "x-devonthink-item://CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "groupdUUID"

Now, remove the x-devonthink-item:// part, so the top of the script should look like this.

set webArchiveDatabaseUUID to "CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "groupdUUID"

Go back to DEVONthink and copy the group’s link from the same database (it is important to keep the group in the same database) by ⌃clicking on it and picking “Copy Item Link” again.

Replace groupdUUID with the copied link in the script again.

set webArchiveDatabaseUUID to "CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "x-devonthink-item://B6C2C659-5682-45B5-8D59-107A641F8C2D"

Remove the x-devonthink-item:// part and then save your changes. The top of the script should look something like this now.

set webArchiveDatabaseUUID to "CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "B6C2C659-5682-45B5-8D59-107A641F8C2D"

Now comes the fun part. You can run the script and DEVONthink will start downloading your Hook bookmarks into the group you choose.

The first run can take a while depending on the size of your Hook database. Subsequent runs should be faster since the script downloads only newly added bookmarks.

It is important to know that the script doesn’t sync Hook and DEVONthink, deleted bookmarks from Hook will still be present in DEVONthink.

Also good to know, if you want to archive sites behind a login, you have to sign-in in DEVONthink before you run the script.

Triggers

I keep this script in the ~/Libary/Scripts/Applications/DEVONthink 3 folder, so it’s available from the script menu in macOS – or in my case, from FastScripts. This way, you can run the script manually from DEVONthink.

You can even make it run automatically. If you use FastScripts, you can create a new DEVONthink reminder on the group you created to store Hook’s bookmarks and set it to run an Apple Script like this every week.

on performReminder(theRecord)
	tell application "FastScripts"
		set scriptItem to first script item whose name is "Archive Hook Bookmarks"
		tell scriptItem to invoke
	end tell
end performReminder

If you want to run it outside of DEVONthink, you can use for example Lingon, which makes it possible to run any Apple Script in the background daily, weekly, monthly, or whatever interval you want.

2022.01.16.

Refactoring my GTD system – part 5: the Mobile inbox

I’m using GTD for almost ten years now. I consider myself an advanced user, but I want to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.


Paper is still with us, and we have to be prepared to keep it somewhere temporarily until we process it. GTD says that we have to keep a physical inbox at home and the office, but what about those times when I’m on the road?

The best way to manage incoming, paper-based material when away from my inbox is to keep a folder in my bag: it is my mobile inbox where I can collect stuff when I’m out for multiple days or going to a meeting where I expect to receive papers. I can park notes from my Capture Wallet, contracts, quotes, reference documents, invoices, contact cards, etc.

Following David Allen’s advice, my mobile inbox is a plastic manila folder. I use a plastic one because it’s more durable—a paper folder would quickly fall apart in my bag. I like the manila style because it’s easy to throw stuff into it, which is one of its disadvantages too: I have to be a bit more careful when I lift it because things can slip out.

For some reason, manila folders are not very popular in Europe. I couldn’t find plastic ones in A4 size, so I had to order a couple of them from Amazon. Smead is a US-based company that makes excellent quality manila folders, although these are letter-sized ones. In my opinion, the difference between letter size and A4 is negligible for a folder that I use to hold papers temporarily.

It is vital to treat the mobile inbox the same way as I do my other inboxes. When I arrive back at my desk, I unload the contents of my mobile inbox into my physical one for later processing. When I’m on the road, the folder is my physical inbox, so I process stuff directly from it.

2022.01.14.

Tot for iOS is on sale, so I bought it, but I’m not sure if I need it when I’m already using Drafts. Tot almost does the same thing, but I like that is very fast. I used it multiple times today to draft Slack messages, store random pieces of information, keep a bunch of temporary links around for a coding session.

It is a better version of Stickies which syncs with my iPhone and my iPad.

I assigned ⌃⇧T as a global keyboard shortcut for Tot, which opens it from my menubar. Speaking of keyboard shortcuts, I like that I can open each slot via ⌘ paired with its corresponding number key; ⌘1 opens the first slot, ⌘2 opens the second one, etcetera.

Right now, I’m tinkering with Tot. I have Drafts running next to it, and I feel like they overlap too much, but Tot is just better for storing random pieces of bits and blobs.

Maybe at the end each of them will have its place in my tool chain.

2021.12.21.

Reply to hheJhsbjkJb8hhsj:

I’ve never understood why people use high/low energy contexts. For myself, what constitutes a high energy task can change from day to day. Some days I’m in the mood for creative work like mindmapping and brainstorming, and digging into financial spreadsheets can seem like heavy work. Other days Im in the mood for procedural work and creative thinking requires more brain power.

Me neither.

I don’t even understand how you can get an objective filter on being in a “high level” or “low level” state. It’s too black and white, I usually somewhere in the middle.

When I feel tired, I don’t even remember that I use GTD and have a menu of options to pick something from. Even when I do remember to review appropriate context lists, I don’t start to think about energy levels. I’m tired, I just naturally pick something easy from my Computer or my Home list, or just don’t give a damn and watch something from my Read/Watch list (or start scrolling RSS/Twitter/Reddit)

My GTD contexts

I mostly use the default contexts list. It’s not a coincidence that David Allen still recommends these. Sure, you have to remix them to your liking, but you also have to define clear edges for each of them so you’ll know which one to use at which time.

Here are mine:

  • Nearcut: my day job, which is mainly development. These tasks require a different mindset, so it makes sense to group them.
  • Freelance: yet another computer context. I have a bunch of freelance projects that I do as a side job.
  • Decoding: I write a blog, record podcasts, and such. Next actions that require a deep work mindset, but not related to work, go here.
  • Computer: I can do general things (admin, web browsing etc.) at my MacBook Pro or my iPad Pro. Sometimes I have specific next actions for a specific device, but it’s rare.
  • Crafting: next actions related to keeping a Zettelkasten system maintained (kinda like my Budget context). These actions usually link to notes (and sometimes project plans, mindmaps) that I want to develop further and add it to my slipbox which I keep in Craft.
  • Budget: a helpful one when I’m doing YNAB, or I have to do something on my bank’s web app.
  • Calls: calls (and sometimes messages).
  • Home: to have something to do when I’m not at any of my computers.
  • Errands: well, errands to run.
  • Groceries: a shared groceries list with my wife.
  • Agendas: I keep people and meeting related agendas here.
  • Waiting for: Stuff I’m waiting on from people. I add the date as well to each of these reminders and review them every other day.

I also keep a list of lists that collects all of my next actions list, my Read/Review lists, my video, and audio-related lists as well (Apple TV, Netflix, Prime Video, Podcasts). Why do I have this? Because I want to keep track of which list is for what, so I keep clean edges in my system (and easily create posts like this).

2021.08.14.

Where to go after 1Password 8?

After this week’s news on 1Password forcing users to the crappy experience of being an Electron app, I started to look for alternatives. I haven’t decided yet, but I’m considering the following options.

  1. Elpass: subscription-based, native iOS and macOS apps, looks good.
  2. Secrets: one-time payment, native iOS, and macOS apps, also look good.
  3. iCloud Keychain: free, built-in to iOS and macOS; also, it will have a couple of new features this autumn, like two-factor authentication.
  4. Update on 2021-08-14: Minimalist: I got this recommended in the comments, looks pretty cool as well.

I’m leaning toward iCloud Keychain because, nowadays, I like to use the built-in tools of the Apple ecosystem.

The only question I have with iCloud Keychain is where to store passwords of my servers and a couple of app licenses? I think the built-in Keychain app on macOS will be OK for this. It can store arbitrary username/password pairs (great for servers), and it has secure notes which can hold the small number of serial numbers I have.

Right now, the next step is to clean out my old passwords from my 1Password and iCloud Keychain databases before starting the migration process.

2021.08.06.

Refactoring my GTD system – part 4: using Apple Watch as a safety net for capturing

I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.


I already talked about the various capture tools I use in my GTD practice. I wanted to expand upon my Apple Watch usage a little bit more.

Since I have my Apple Watch with me (almost) all the time, it makes sense to use it as a secondary capture tool. I have two watch faces set up so that when my primary capture tools are not with me, I can still easily have a mechanism for capturing.

It’s best to use the Apple Watch for dictation or writing with its Scribble feature, but these methods are not made for lengthy talking/writing—although I never had a problem with that. I usually jot down or dictate a couple of quick thoughts here and there.

I use Drafts at night by capturing my notes with Scribble and Voice Memos for dictation when driving or walking. Each of these contexts has a corresponding watch face set up: a red Modular face with a Drafts complication used during the night, and an X-Large watch face which has a big, easy-to-tap Voice Memos icon in the middle for driving and walking.

I try to automate when these watch faces should show up. When my Apple Watch switches into sleep mode, Shortcuts changes my active watch face to the red Modular one. I also get a notification to change my watch face to the Voice Memos button when I leave home.

When I don’t have my phone or my notepad with me, the Apple Watch still can be used as a safety net for capturing. Like the old saying of “the best camera is the one that’s with you,” I can also say that the best capture tool is the one that’s with you.

2021.07.18.

Refactoring my GTD system – part 3: keeping capture tools everywhere

I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.


I have to prepare because I’ll run into things through the day which has a potential meaning to capture either via writing or dictation. Therefore, I have to keep capture tools in those places where I frequently show up.

By default, my preferred ubiquitous capture tool is the Capture Wallet, but there are contexts where I can use tools that are more appropriate and convenient.

At my desk

I can take notes slower and easier at my desk, so I use a Baron Fig Confidant notebook. I use a journal format: each day gets a header, I keep everything in a list annotated via Patrick Rhone’s Dash Plus method. I can capture ideas, track my time using timestamps, write down what I did; sometimes, I even use it as a regular journal.

My Baron Fig Confidant is a versatile tool. Since it has pages with a dotted grid, I can use it for mind-mapping, diagramming, and wire-framing. I can keep the digital noise away by using an analog tool for thinking.

In the car

It’s essential to use a capture tool that is quick and doesn’t need much attention while I’m driving. I found that the easiest to use capture tool is my Apple Watch and the Voice Memos app.

I also keep a notepad here to capture ideas (sometimes even groceries lists). When I’m driving, I’m asking the person sitting next to me (usually my wife) to write stuff down for me. The notepad is shared, so my wife can capture her stuff as well. Since we’re frequently discussing agenda items in the car together—which always triggers new stuff to capture—it’s convenient to keep a shared notepad at hand.

In the bed at night

I can have ideas in the bed in three contexts:

  1. Before sleep, when the lights are still on, and we’re talking about something with my wife (or I’m reading).
  2. In the dark when I wake up in the middle of the night.
  3. In the morning when I’m reading.

I keep a small notepad next to the bed, which I use when the light is still on or in the morning. I wear my Apple Watch during sleep for sleep tracking, so it’s natural to take notes using Drafts digitally. I use the Scribble feature to write in the dark: usually, I capture no more than just a couple of words to remember the idea next time.

On rare occasions when something still bugs me, and I wake up because of it in the middle of the night, I have to grab my iPad to write down longer forms of thinking. Usually, I can sleep well after I captured what was on my mind, but it’s more important to capture these things during the day, so I can go to bed with a clear mind and sleep well.

Keeping a checklist of capture tools

I have a pretty extensive set of capture tools, and it can be dangerous if I forget to dump stuff I collected into my inbox. Before I start to process my inboxes, I go through a checklist of these tools to make sure I gathered everything into one place to continue to process them.

Habits are also essential to form: I do drop things into my inbox on my own from my more frequently used capture tools like my wallet or Drafts. But I still use a safety net in the form of a checklist, so nothing lays around unprocessed at the end.

2021.05.10.

Weirdly, I do this “interstitial journaling” for years now, without calling it anything. Although I don’t track tasks in it, just for the current session; those get captured in my GTD system.

What I don’t do habitually yet is the mindfulness journaling aspect, which could be another excellent use for Craft in an outline format. I like how Roam formats daily notes, which can be reproduced in Craft as well, but Day One and Drafts are so much quicker for capturing quick posts. I could look into how Craft can be automated, but I kinda like that Day One stores the location, weather, and so much more enhancing my journal.


Seems like this a recurring idea of mine.

2021.05.09.

Drafts is a digital Hipster PDA

  1. Drafts is an app optimized for taking quick notes and sending them to other places instead of storing them in the long term.
  2. Each Drafts note has a unique ID which can be understood as a digital index card linkable from anywhere.
  3. These notes are temporary, so I’m not keeping them in the system. After I processed one, it can be thrown away.
  4. Notes in Drafts don’t need much organization; everything is on a simple list. When I’m done with a note, it can be trashed or archived.

2021.05.04.

Refactoring my GTD system – part 2: the Capture Wallet

I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.


I like to use my iPhone as a capture device, but the elegance and simplicity of the David Allen Notetaker Wallet is something I wanted to explore for a while now. I prefer paper for capture and general note taking because:

  1. it doesn’t notify me about anything,
  2. it doesn’t have a battery,
  3. there is no way to multitask on paper,
  4. and it’s the classic example of tools that do one thing well.

You can’t buy the David Allen Notetaker Wallet anymore, but I found a good alternative called Capture Wallet which copied it almost as-is, but it’s a good thing. There are two versions: “Artisan” and “Business.” I use the latter one because it’s more minimal and also cheaper.


It is way more convenient to use perforated notepads for the GTD capture process because I can tear pages off. Each page contains one (maybe two) notes, which makes processing stuff easier—I can deal with one thing at a time, then throw it away. Because I regularly tear-off notes and drop them into my inbox, my notepads are always fresh and clean; I don’t carry around old stuff as I do with notebooks.

I still use my iPhone as a secondary capture device. I have Drafts installed (which I consider as the digital version of the Hipster PDA), so I can write things down when I don’t have my Capture Wallet around, although I prefer it over my phone.

2021.05.02.

Refactoring my GTD system – part 1: list managers are overcomplicating our systems

I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.


The initial version of GTD is based on more straightforward tools than most digital list managers. It is essential to learn how to do GTD in the default way because each step and tool has a purpose; there are no unnecessary things. We’re doing something wrong if we can’t keep our GTD system up and running with just the tools and ideas mentioned in the book.

Avoid having a connection between projects and next actions

Many list managers connect projects with the next actions, but in the original GTD approach, there are no connections between them. Everything is on a different list. We’re the ones who connect everything when we do the Weekly Review.

Digital list managers connect only subsequent actions to projects; they skip calendar events, project plans, etc. We have to find these on our own, but doing it can be confusing. When we do the Weekly Review, we can be under the impression that all we have about a project is the next actions connected to it, forgetting other activities like events on our calendar. We have to get the pieces together of all the remaining stuff for ourselves. It is way easier if the software can connect everything to us, but there is no technology capable of doing this, so we have to find the logical connection between things. Having seen the entire picture is the only way we can relax our minds.

Connecting subsequent actions to projects can result in unnecessary steps when adding a new to-do. Using simple lists is straightforward: we add a new item, and we are done; on the other hand, having a connection between projects and next actions is meta-information, usually yet another field to fill, which makes adding things slower.

If we don’t expect to see the title of related projects in our next actions lists, we will be more considered about how to phrase our actions. It results in a more precise next action which we can imagine easier, thus doing it without much thinking later.

Having many features is distracting

Professional task managers have many features which have to be set up and maintained, which takes a lot of time. These features can be helpful, but GTD doesn’t need more than having simple lists. We can even do the right thing at the right time with GTD on paper where advanced features are absent.

Before we try to solve a problem with advanced tools, we have to consider using something simpler which can yield the same result. For example, we can use paper to think, but store the result of that thinking in digital tools. Having many features can distract us from work by fiddling with the tool. The importance of a project is not defined by the tool we’re using to administer it.

2021.03.16.

Sequential projects

Here’s a couple of things regarding sequential projects:

  • Keep future actions in your project support. You don’t want to keep them in your head. It feels nice when you can open an outline or a mindmap (or whatever), and you can effortlessly add the next action on the project.
  • Get into the habit of capturing. When you complete one next action, you should grab the next one into your inbox since some part of your world changed. You have new information that you should pay attention to.
  • Weekly reviews are the safety net for still need to capture things.

I know some apps like OmniFocus let you add future actions that magically pop up in your next actions lists when you complete a previous one, but they do more harm than help. Almost every time, the next step needs processing anyway, so these subsequent half-baked actions that you add in advance are going to create less trust in your next actions lists.

2021.02.26.

The readability of GTD list managers

Three was a topic I saw a couple of days ago on /gtd, where redditors discussed which GTD app is the most good looking. It reminded me of a problem I wanted to write about for a while now: their list design’s readability. I know OmniFocus, Things, and Reminders well, so I concluded my experience about their typography below:

A lot of people would say it’s Things. It has a friendly UI, but from a readability point of view, it is one of the worst.

In my daily work, I have two problems with Things:

  • It only displays one line per task, which means, if you have longer task titles, you’ll end with a bunch of text clipped out, which is annoying on an iPhone. You have to open each task to see the full title, which is no fun when you quickly want to review your errands list.
  • Things displays every task list grouped by project. If you like me, you’ll usually have one next action per project, so having each project being this prominent is making your lists very noisy.

I stopped using Things because of these issues, and I switched back to OmniFocus, which displays full task titles, and has nicer list readability overall. Apple Reminder is also good at showing lists, which matters the most at the end, so I would go with OmniFocus and Reminders.

Let’s see these apps next to each other. From left to right are OmniFocus, Reminders, and Things.

As you can see, Things overflows the text and group actions by projects which makes the readability of a typical next actions list much worse. It was the main reason I left Things after using it for two years and switched back to OmniFocus.


I also made a switch from OmniFocus to Reminders in December, but that’s a topic of another post.

2021.02.25.

Remote work is not local work at a distance

Jason Fried wrote a post about doing remote work, with the expectations of local employment. This post resonated with me very well since I had a couple of weird interviews lately. Just a side note: yes, I quit my current job as a Ruby backend developer at TerraCycle about three weeks ago, and I’ll start working as a frontend developer/product designer at Nearcut on March 10th.

There are still companies that refuse to accept that remote work is a viable alternative. They want you to be in the office because “this is what we did before the pandemic, and everything should be back to normal soon.” No, nothing will be like before, and companies should embrace that, not deny it.

Not everyone’s like that. Even big ones consider remote work a viable alternative but don’t have the hiring process and experience to work like that, so they’re relying on old habits.

The enlightened companies coming out of this pandemic will be the ones that figured out the right way to work remotely. They’ll have stopped trying to make remote look like local. They’ll have discovered that remote work means more autonomy, more trust, more uninterrupted stretches of time, smaller teams, more independent, concurrent work (and less dependent, sequenced work).

I’m interested in what COVID-19 will do to remote work because, seriously considering remote work is one of the positive changes of the pandemic that happened in many workplaces. People were forced to work from home. Many companies figured out how to do this successfully, and they don’t want to throw out this knowledge because “everything will be back to normal.”


Jason also writes about native platforms:

Porting things between platforms is common, especially when the new thing is truly brand new (or trying to gain traction). As the Mac gained steam in the late 80s and early 90s, and Windows 3 came out in 1990, a large numbers of Windows/PC developers began to port their software to the Mac. They didn’t write Mac software, they ported Windows software. And you could tell – it was pretty shit. It was nice to have at a time when the Mac wasn’t widely developed, but, it was clearly ported.

When something’s ported, it’s obvious. Obviously not right.

Stuff that’s ported lacks the native sensibilities of the receiving platform. It doesn’t celebrate the advantages, it only meets the lowest possible bar. Everyone knows it. Sometimes we’re simply glad to have it because it’s either that or nothing, but there’s rarely a ringing endorsement of something that’s so obviously moved from A to B without consideration for what makes B, B.

Maybe Basecamp should create a Catalyst version of HEY for Mac from their iOS app, which is quite nice, instead of having a cross-platform Electron thing on the desktop called a “native Mac app.”

2020.09.17.

OmniFocus quick-entry iOS 14-ben

Tegnap megjelent az iOS 14, amiben van egy Back Tap nevű funkció. Ezzel a telefonunk hátulját kétszer vagy háromszor megtappolva lefuttathatunk különböző actionöket. Az Apple leírásából:

Back Tap lets you double-tap or triple-tap the back of your iOS device to automatically perform a range of custom tasks — from opening your favorite app to taking a screenshot. Choose from 24 different actions or create your own automated shortcuts to simplify your everyday tasks.

Mivel shortcutok is beállíthatók, így létrehoztam egy, a desktop todo menedzser alkalmazásokban látott quick-entry funkcióhoz hasonló shortcutot, ami bekér egy szöveget, majd azonnal elmenti azt az OmniFocus inboxszomba. Az egészben az a legjobb, hogy ehhez nem kell kilépnem az adott alkalmazásból sem, helyben lerendez mindent. Nagyon hasznos például telefonálás közben.

Az alábbi videóban megnézhető az egész működés közben és a használt shortcut felépítése is.

2020.05.24.

Befejeztem a napokban Sönke Ahrens – How to Take Smart Notes c. könyvét, ami legalább annyira fontos a mentális munkával foglalkozó emberek számára, mint a Getting Things Done könyv David Allentől.

A lényege számomra az volt, hogy felismertem mennyire fontos a külső eszközök használata a gondolkodásunk támogatásához, felszabadítva az agyunk kreatív kapacitásait. A másik big takeaway pedig, hogy mennyire fontos definiálni, szeparálni, majd rutinként beilleszteni egy munkafolyamat különböző lépéseit. Így kézzelfoghatóbbá válik minden bonyolult dolog.

Két jegyzet a könyvből:


Elkezdtem összegyűjteni és kiválogatni a jegyzeteimet a külső eszközök és a gondolkodás kapcsolatára. A későbbiekben ebből tervezek majd kitenni ide is egy hosszabb blogposztot.

Screen Shot 2020 05 24 at 14 29 21

2020.05.10.

Gyors tipp: sok webes alkalmazás billentyűzettel is irányítható.

Ha kiváncsi vagy ezekre a parancsokra, akkor nyomd meg a kérdőjelet. Az esetek 90%-ban meg fog jelenni egy panel, ami listázza az adott alkalmazásban elérhető billentyűparancsokat.

2020.05.07.

Replying to: Steve Jobs fotói a macOS-ben:

Még annyit az előző poszthoz, hogy a zöld növényes háttereket kifejezetten szeretem. Gondolom a zöld szín nyugtató hatása is közreműködik, de inkább amiatt, hogy munka közben nem látom a természetet, viszont egy rosszabb “emulált” wallpaper változat segíthet ebben.

2020.04.28.

I just grabbed out two old friend from the bottom of the drawer. I have a couple of projects running parallel, so it could be helpful to schedule which client I’m dealing with on which day.

Also capturing notes using analog tools is still the best (I love the smell of that pencil).

2020.04.08.

A Mac-based miracle

Apparently, you can create multiline text replacements on macOS:

It’s possible to use multiline text replacements on Mac, iPhone, and iPad, though you would need to use a Mac to create these text replacements.

On the Mac:

  1. Open System Preferences. Click on the “Keyboard” pane then click on the “Text” tab.
  2. Click the “+” button to add a new text replacement.
  3. Enter the shortcut text in the Replace column.
  4. Paste some multi-line/multi-paragraph text into the With column.

This text replacement syncs across all of your device using iCloud.

2020.02.09.