Todoist AppleScripts, Services and AppleScript API

Todoist AppleScripts, Services and AppleScript API

In order to live in an Android/Mac/iPhone/Web based world, I had to switch from my beloved OmniFocus over to a new todo application. What I ended up settling on was Todoist – an elegant, eminently cross-platform, and generally simple task manager.

The major failing of Todoist compared to Mac-specific todo lists is its lack of integration with other apps via services, LaunchBar, etc. It has a powerful API, but no local AppleScript support for proper scripting.

Enter these scripts: using the excellent JSON Helper for AppleScript as a support tool, I have put together two critical pieces for my workflow: An AppleScript to quickly add a task via LaunchBar (easily edited to support Alfred, Quicksilver, etc.), and a Service that lets me clip text from any app and create a to-do.

Due to the need of integrating with web services and providing useful notifications, these scripts require the free JSON Helper and the inexpensive-but-critical Growl. They will also only function if you are online since they rely on Todoist’s web API.

Prior to installing/using these, you will have to open each item in AppleScript Editor and Automator (as appropriate) and add your API Key from your Todoist settings.

As a special bonus, I have also included an AppleScript file that contains a subset of the Todoist API suitable for copying/pasting into your own scripts for further Todoist automation.

Written on December 20, 2012

Keeping two Macs, and iPhone and an Android Nexus 7 Tablet Synchronized in Perfect Harmony

I’m currently rocking a Nexus 7, an iPhone, and a couple of Macs. While it’s entirely possible to keep them all playing nicely with one another, the way to do it is not obvious nor simple, so I thought I’d share my tools in case it will help other people. So far it’s proven to be reliable and seamless once it’s set up.

I’ve never liked iCloud or its document model. It’s only being used on my iPhone for cloud backups, documents (for save game backups mostly) and Find My Whatever (I have a 3 year old). I do not use it for any desktop applications because it just doesn’t work reliably.

Google manages my calendars and contacts (you can do it without ever turning on Gmail). iOS and Android both handle these flawlessly. Contacts are synced through CardDAV (here’s how to set it up) which works great. Unlike the old Exchange-based sync, this supports all of Google Contacts’ fields.

On the Mac, I could use Address Book, but instead I’m using CoBook. It syncs perfectly with Google Contacts and also shoots my contacts over to Address Book/Contacts so that I can get at them in Email. Just be sure to turn off iCloud and Google syncing via Address Book/Contacts on the Mac or else disaster will ensue.

Email is straight up IMAP email. I use Fastmail for email, but am trying out Gmail just to see if I like the Android Gmail app better than the standard Email one.

Then I have my work email, contacts, and calendars, all of which are on Exchange. Easy. Using the stock Mac stuff, which I prefer to Outlook. Every device handles it without trouble.

So that takes care of the basics. To actually get stuff done, I haven’t had to change my workflow much, since everything syncs with Dropbox. Here’s the basics:

Reading

Mac: Google Reader, Instapaper in the browser

iPhone: Reeder, Instapaper

Nexus 7: Feedly, JustReader, Instapaper

Productivity

Mac: Microsoft Office, Dropbox, Evernote

iPhone: Office-squared, Dropbox, Evernote, Readdle Docs

Nexus 7: Kingsoft Office, Dropbox, Evernote, Astro File Manager

Music

I use Rdio and Pandora for most music. I uploaded my tunes to Google Music in case I want to listen on my Nexus, but really my iPhone is my listening device. I have iTunes match, but don’t plan to renew now that I can use Google Music if I want to listen to that one song I didn’t sync.

Pros/Cons

The biggest disadvantage of going three-platform is that I’ve had to give up on two of my standby apps: 1Password and OmniFocus. I’ve found inferior but acceptable alternatives in LastPass and Todoist, respectively. Todoist is actually growing on me quite a bit the more I use it, and I’m probably a little more productive since I’m spending less time fiddling in AppleScript. I can’t wait for 1Password to come out for Android (soon!) since LastPass is a program that only its mother could love. 

The other minor disadvantage is that the address fields in Google Contacts are less flexible than those in Address Book, especially when it comes to custom labels for multiple entries of the same type of address or phone number. Not a huge deal.

Other than the programs mentioned above, I don’t feel like I’ve given up on anything. Most of these apps were the same ones I already relied on. Furthermore, everything I do, pretty much, can now be accessed online from any computer. (Documents require a round-robin with Google Docs – I suppose I could have used Drive in the first place.)

It’s also worth noting that I could pick up this whole workflow and move it to a Windows, Linux or even a Chromebook machine and be up and running in a few minutes with all my key files. I can’t see myself doing that in the future, but it’s pretty spectacular.

Finally, this makes me sad for Apple and for iCloud. By restricting things to their own ecosystem, Apple’s made their service next-to-useless. There are lots of options out there, and so long as some people avail themselves of non-Apple products, iCloud’s utility will be greatly limited.

I have some more thoughts on Android vs. iOS, but I’ll save those for a later post.

Written on December 17, 2012

Summarize All Your Evernote To-dos

Summarize All Your Evernote To-dos

Putting to-dos in Evernote is great for ad hoc task management, but once you’ve put them in there, how do you find them again? A saved search is a great place to start, but there’s still a lot of clicking to find exactly what you need.

This script creates a note that neatly summarizes all of your notes with to-dos, as well as the individual to-do items. One click takes you from the summary to the relevant note. It’s also handily divided up so that you can skim your to-do items by notebook, note, and tag.

Surely not a replacement for a full to-do manager, but it’ll get you most of the way there.

One note: This requires the free AsObjC Runner application to handle some of the text processing.

Written on November 15, 2012

Windows 8 is the closest I've ever come to going Microsoft

I got my wife a surprise present yesterday: a new Asus laptop running Windows 8.

I was a little iffy on whether Windows 8 was a good idea, given the reviews that have said it’s a bit disjoined going from the new fancy Windows 8 layout to the old Windows world. My wife’s hardly a geek, but I figured I could downgrade if she hated it.

As it turns out, she loved it, and I’m also extremely impressed.

The new interface is easy on the eyes, easy to work with, and takes some of the best elements of elegant websites and brings them to the desktop. There’s literally nothing there not to like, especially given that you can back into regular old Windows for those times you need unrestricted access to the filesystem, multiple windows, or to run some creaky open source application.

My one criticism is that the gestures and metaphors for working with the interface are unintuitive with a mouse/trackpad. With touch they make perfect sense, but with a trackpad there’s a learning curve. In other words, watch the tutorial video before you get started.

Honestly, this makes me really think about whether it’s time to jump ship to Microsoft. Okay, I’m not TOTALLY serious, but with Apple moving farther away from my ideal for the Mac, a $500 laptop with an amazing and innovative user experience and a full suite of applications… there’s a lot to like there.

Apple has to step up their game, both on Mac and iOS, if they want to stay ahead of Microsoft. Who’d have known that Redmond would get back into the game with truly innovative and new ideas of how a computer ought to work.

Written on October 29, 2012

Trying comments again

I disabled comments some time ago due to an unreasonable amount of comment spam. I’ve missed the interaction, and I know that when people run into issues with my little scripts they like to have a way to get in touch. So I’ve enabled comments through Disqus, which claims to have pretty good spam filtering.

If you happen to be a comment spammer, please do us all a favor and take up a more useful profession. Perhaps wrestling great white sharks.

Written on October 26, 2012

Markdownify Evernote

Markdownify Evernote

Take your current Evernote note and convert it from Markdown into beautiful rich text. If your note happens to have attachments, they’re maintained (albeit moved to the bottom of the note). 

To use it, you’ll have to install Markdown or Multimarkdown. It looks in the usual places for the commands, whether installed through a package manager or manually.

Cautionary Note: If your note is already in rich text you can get some weird results. To prevent disaster, the original rich text of your note is copied to the clipboard, so you can paste in as an undo.

Written on October 26, 2012