Deprecated: Return type of I::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 62

Deprecated: Return type of I::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 91

Deprecated: Return type of I::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 71

Deprecated: Return type of I::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 101

Deprecated: Return type of I::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 53

Deprecated: Return type of Collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/collection.php on line 80

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/public/kirby/toolkit/lib/url.php on line 135
One Tap Less | GoodTask 2 — Reminders for Power Users

GoodTask 2 — Reminders for Power Users


Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/public/kirby/toolkit/lib/str.php on line 506

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/public/kirby/toolkit/lib/str.php on line 506

GoodTask 2 for Mac is out along with a fresh update on iOS for the app that transforms Apple's Reminders into a productivity suite. The app was rebuilt from scratch on desktop to match Yosemite and bring features from the iOS version, such as Quick Actions, Smart Adds and no time due dates.

GoodTask 2 for Mac.

GoodTask can be as simple as Reminders, working as a better way to visualize your tasks, or as complex as your preferences want it to be. There's no natural language parsing — unless you use this action — but Smart Adds, a feature iOS users may already be familiar with. Think of them as internal Text Expander snippets with access to task creation functionality.

Most Smart Adds are built-in, for example, start your task with up to 3 exclamation marks to specify a priority. Custom Smart Adds are limited to toggling the alarm, and due times and dates, but I hope there's more to come since this feature holds potential for dynamic due times1, working with different parameters on the same snippet2 or just going crazy and setting entire tasks with 3 or 4 characters.

URL Scheme

You can parse a Smart Add through the URL scheme. Try this one with Launch Center Pro:

Add Reminder
goodtask://smartadd?text=[prompt:Remind me to...]&x-success={{launch:}}

Quick Actions are another noteworthy feature from GoodTask 2. Tap and hold on iOS, secondary click on desktop, to open a menu where you can increment due dates, clear priorities, duplicate, move or tag reminders. Every item can be edited to your liking in the app settings.

The Quick Actions menu in GoodTask 2.
Fast interactions with tasks in the Quick Actions menu.

GoodTask 2 is a great asset to Reminders' users looking for something more powerful without abdicating Apple's integration, with plenty more features such as Smart Lists, Day, Week and Month views — with individual filters and a Today Widget. GoodTask 2 for Mac is a free update for previous users, otherwise 25% off in the App Store with a free trial available. Goodtask 2 for iOS comes in 2 flavors, $4.99 paid upfront or free with a $4.99 IAP to unlock everything.

Follow the blog on Twitter and in a couple of hours I'll be sharing a couple of promo codes for both versions.


  1. Setting a task 3 hours from now, for example. 

  2. For example, setting a task as due in 3 dates at 7 pm in a single instance.