I use Things as my personal task manager, and aside from a few small complaints I am quite happy with it. But/and, over the years, I’ve noted a few things that could be improved. I’ve been able to address two of these issues myself with some small Go programs.
Add weather forecasts to Things with wxcal
When planning tasks for the next few days in Things’s Upcoming view, I find it useful to have a quick summary of the weather forecast. This isn’t something Things supports natively.
Things does, however, support calendars, and calendar events do appear in the Upcoming view. So, my solution: create an iCal feed for my local weather, subscribe to that calendar in Google Calendar, and let it show up in Things!
wxcal is a simple program that fetches weather from the weather.gov API and writes a compact summary of the forecast to an iCal feed. It runs on my web server periodically and updates a public iCal feed of Ann Arbor weather. Its usage is straightforward and the README covers it in detail, so I won’t go over it here.
Attach files to Things tasks with mailto-things
Things doesn’t support attaching images or files to tasks. This is one of my main complaints when comparing Things to eg. OmniFocus: I’d like to be able to take a quick photo and capture it directly into my Things Inbox.
Things does have a feature, “Mail to Things”, which provides you a private email address
@things.email. Any text you send there will be converted into a task in your Things Inbox, with the email’s subject line as the task title and the email’s body as the task’s description.
So, I wrote
mailto-things. This is another small Go program that runs periodically on one of my servers.
mailto-things checks a Gmail account for new emails from you, writes the attachments out to a web-accessible directory, and then sends the email along to your private
@things.email address — but with plain old URLs in place of the attachments. The end result is almost like having proper attachments; the files aren’t themselves in Things.app, but they appear as clickable/tappable links, which I think is Good Enough.
I’m writing these attachments to a folder that’s synchronized between my computers via Syncthing, so I have a local copy of my files as well.
Again, the README covers installation, deployment, configuration and usage thoroughly, so I won’t repeat those details here.