Things 0.9.2 Brings Support for Leopard’s System-wide To-do Service

May 24th, 2008
3:44 pm

What Were We Thinking? Main A Phone, an iPod, an Internet Communicator, and a Full-Featured Task Manager!

As the title suggests Things 0.9.2 not only brings iCal sync but more generally support for Leopards system-wide to-dos. What is the difference? With Mac OS X 10.5, the database that stores the user’s calendar data was integrated into the system. Developers got a whole new API that is simple and fun to work with. More importantly though, changes that are made through this new API propagate practically instantly through the system. To-dos will show up in iCal, Mail or any other participating application the very moment you press the enter key in Things.

On previous systems, syncing to-dos between applications was a complicated process that sometimes even had to be triggered manually. Since we wanted to provide the best experience for our users, and most of them are on Leopard anyway, it was clear that we wanted to use Leopards to-do service instead of the older slow sync. Unfortunately the new and older APIs cannot be used at the same time. Providing backwards compatibility with Tiger is a whole new development effort, which we might attempt later along with .Mac sync.

Getting Started

You turn on iCal sync from Things’ preferences:

icalsync-screenshot1.jpg

In addition to what you might recall from our previous post, we have now included an Options button. It opens a sheet (see below) where you can customize whether tasks show their associated project and tags in other applications.

icalsync-screenshot3.jpg

These options are turned on by default. You can also add tags and projects from iCal or other applications. For example, adding “@Home” to the title of a to-do in iCal instructs Things to add the tag “Home” to it. There is no need to worry that this feature is triggered by accident, since only existing tags are used. You can safely enter email addresses for example. These won’t be recognized as tags and don’t trigger the creation of new tags in Things. The same goes for projects. Only existing projects are recognized and no action is taken if multiple projects with the same title exist in Things. Things is also smart enough to ignore projects that are already logged or in the trash.

We have carefully taken precautions to prevent you from shooting yourself in the foot :). It is not possible to delete to-dos from Things by deleting them in other applications. Since we have no control over applications that integrate with system-wide to-dos, we cannot prevent situations where a large number of to-dos might be accidentally deleted by badly written third party apps.

It is also not possible to delete tags, or projects from other applications. It is just too easy to accidentally type over a title deleting all meta data that might be there. And to-dos removed from their project or missing their tags might be very difficult to find. The iCal sync feature has been designed with the assumption that Things is the primary to-do manager and that other applications, like Mail or iCal, are mostly used to conveniently retrieve stuff or enter new items.

Complete Control

If you want complete control over the syncing process, choose “Custom” from the Sync menu. The dialog transforms into advanced mode allowing you to associate different lists (foci), tags, projects, and areas of responsibility with each calendar.

icalsync-screenshot2.jpg

You do not need to worry whether the list of to-dos you sync with each calendar overlap. If they do, Things will simply sync with the first calendar in the list that matches. Of course, you can reorder the list of calendars in Things.

The criteria you associate with each calendar work both ways when it makes sense. For example, if you specify the “Errand” tag for a certain calendar, then only items having the “Errand” tag are synced with this calendar. If on the other hand you enter a new item in iCal, this item will automatically get the “Errand” tag in Things. The latter, however, only works with a single tag. If you specified multiple tags, there is no way to find out which one you would like to be added in Things. The same is true for projects and areas of responsibility.

Usage Scenarios

Here are some usage scenarios that might not be completely obvious:

  • When you create a to-do in Mail using a selection of an email message, the URL for this message is added to the notes section of the corresponding item in Things. Clicking on it will open the associated email message in Mail. Please note that due to a bug in Apple Mail, it will only honor the deletion of to-dos when running. Superfluous to-dos need to be manually removed from Mail.
  • You can also use iCal subscriptions. Let’s assume you subscribed to the calendar of your significant other. Just activate this calendar in Things for the Next list for example. (You also need to make sure, that syncing to-dos is activated for the subscribed calendar both in your as well as your spouses calendar.) Your spouse can now send you to-dos, by simply adding them to the corresponding calendar. Note however that subscriptions are read only. There is no way for you to change such a to-do in iCal. Not even by checking it off. No matter what you do in Things that would normally cause the item to change calendars, or be entirely removed from iCal, will have no effect.
  • You can use applications like Anxiety to create a HUD style Today list that is always visible.

Chris did a great job in testing the new iCal sync feature. But with a feature like this, that can be used in so many different ways, it is quite likely that it is not yet void of bugs. Hope for the best, but expect the worst :).

Posted by Chris, Jürgen, and Werner

Pinging is currently not allowed.

53 Comments

  1. Congratulations! This is a huge milestone and you guys have done an amazing job! Thank you for all your hard work.

  2. Hm, so if I’m using a project managment webapp that has an iCal subscription option and it makes it’s tasks into iCal to-dos I can sync them into Things? Please say yes. :))

  3. really great stuff . .

    whats the next feature you guys will be working on,
    multi user support?
    sub projects ?
    iphone support ?

    : )

  4. Perfect !! Amazing !! Love it !!

  5. This is very, very nice.

    One thing would be nice would be if todos created outside Things could be synced to different place than the todos synced out.

    For example if I create a new todo in Anxiety I would like to see it in the Inbox in Things but the list from Things I want to see is the Next list.

  6. Excellent update! Bravo.

    Entering todos from mail.app is a little finicky. But I’m inclined to believe it’s a mail.app issue…
    I have iCal calendars sync’n to specific “Areas” Looks like, sometimes, todos are being created in multiple “Areas” when i change or move a task from one calendar to another in iCal/mail.
    -Turning off “show projects in titles” in Things seems to remedy the issue.

    I’ve got just one other serious problem!!! I have $40 burning a hole in my wallet… ;)

  7. thumbs up!
    now you can really use it in a productive environment…

  8. Im having trouble with the new version. I keep getting error reports which come out as this.

    Things 0.9.2 (330) on Mac OS 10.5.2 (Intel)

    NSCocoaErrorDomain:
    514

    NSUnderlyingException:
    Directory does not exist or is not writable /Users/leebo/Library/Application Support/Cultured Code/Things

    I have sent these reports through but wondering if anyone else is having this problem?

  9. please delete last comment. This idiot poster tried to do too many things at once and caused the problem.
    Apologies to all concerned for that and for being such a fool and then displaying it so well.

  10. this is what i was waiting for!

  11. At last Things gets fully integrated into my workflow! And not a moment too soon as I am hoping to lay my hands on iPhone 2.0 next month (finally) in Switzerland.

    The level of syncing control is VERY well executed. Kudos.

    Although I would like an option to sync with both Today and Next, and some way to make unassigned todos from other apps appear in the Inbox for processing in Things.

  12. Incredible! Things just keeps getting better and better. I am constantly amazed at just how good this software is.

  13. Very very nice! I love the instant global update of todo status across applications. Though why use those crippled todo implementations in Mail and iCal when you have Things?

  14. Very nice. Looks like hard work went into it. But it’s appreciated.

  15. This is a great start, but what I’d really like to see is the ability to sync not just focii but areas, projects, and tags.

  16. @Ivan, yes you can. But since iCal subscriptions are read only your mileage may vary.

    @motech, the next feature is indeed on your list. We will post about it in a few days. It is related to a certain mobile platform ;).

    @Paul Turnbull, @John, we are thinking in the same direction (import to Inbox). We are not completely sure however, whether this should be a global option or a per calendar setting.

    @John, Since the Next list also contains Today items, choosing “Next” will probably have the effect you are looking for?

    @Leon Spencer, it is already there. Choose “Custom” from the “Sync” menu as in the last screenshot above. There you can specify tags, projects, and areas. Of course, you also need to specify a list to start with. For example, if you synced the “Errand” tag, including items from the Logbook, Trash, etc. is neither feasible nor useful.

  17. Hats off, gentlemen (and ladies)

    This is the best iCal sync implementation I’ve seen so far. Can’t wait to see all the remaining features.

    Kudos to you guys.

  18. I am very interested in the feature mentioned as “Usage Scenarios” - my tasks often result from emails:
    “When you create a to-do in Mail using a selection of an email message, the URL for this message is added to the notes section of the corresponding item in Things.”

    Could anyone be so kind to explain the exact procedure to me? Do I have to use Services/Things/New To-Do….?

  19. @Hermann Klocker, in Apple Mail select some text in an email message. Then choose “New To Do” from the File menu (you can also add a corresponding button to the toolbar in Mail). You need to make sure that Mail adds the new to-do to one of the calendars you are actually syncing with Things.

  20. @Jürgen - Thanks a lot - I am a Mac Newbie and didn’t figure out this procedure (which is stunningly simple).

    This is a perfect solution for me, more than I had hoped: Syncing Mail with Things (on the one side) and using an IMAP-Account (storing the tasks as “Apple Mail Todos” on the other side) yields syncing Things to Web and the possibility to access Things-Tasks via Webmail (I don’t have a .Mac account). GREAT! What I have been waiting for (since the timeI lost my PDA ;-)

  21. I agree that this is a huge milestone crossed. The feature is very valuable and kudos to Apple for creating the system wide todos available. That is what a OS is supposed to do create tools to allow developers to utilize in their software. I love Leopard only features.

  22. I use a web site called Reqall that I love for capturing items. It complements my Things (and now ical todos) on my computer. It would be nice if Things would offer Reqall like features like voice to do’s etc.

  23. First of all: Great Job, thank you guys!

    But one problem:
    Yes, I can set up tasks in iCal and yes, they appear properly in things.
    Yes, I can set up tasks in things, and they appear properly in iCal and Mail.

    But NO, I can’t set up tasks in Mail and they appear in things. I can set up tasks, but they dont appear in things. Whats going on there?

  24. @Christoph, wrong calendar I guess. Mail automatically assigns the last calendar you used. Make sure to change it to one you are actually syncing. Also, Mail takes a few seconds until it sends new to-dos to the system.

  25. Great, really great.
    Is there a workflow to get Things working with iCal-Sync on two Macs? I’m using .Mac to sync iCal.
    When i copy the Database.xml to my MacBook, iCal-syncing is not active in Things on the MacBook. When i activate it, i get double entries in Things and in iCal.
    Or should i wait for the .Mac-feature?

  26. Jurgen!

    This is hands-down the most awesome GTD app to date. You guys have a killer piece of software on your hands, and I can only imagine what it’ll look like finished.

    Just wanted to encourage you & your team. Did some way-early beta testing for OmniFocus, and I feel like Things is what OmniFocus should have been.

    Keep it up!

  27. This is really great, it’s the big feature I had been waiting for, and the implementation is elegant and well-thought as always. Thank you!

  28. Congratulations with new version!
    Do you planing bring ical support for tiger os? or this will be only leopard feature?

  29. A perfect dream :-)

  30. cooles feature…und nun bitte noch die Möglichkeit, über die Menubar zugreifen zu können ergänzen…… ;-)

  31. This new version is fantastic. Absolutely fantastic. Since I am actually using CalDAV to get my calendars from home, work and mobile (the laptop) all synced with one another I now have all my tasks shared with one another regardless of the computer. This is a godsend for me.

    One thing I have noticed from this new feature, however, is that if you make a new project in Things on Computer A and sync its event to iCal, when iCal on Computer B CalDAV syncs and sends the ToDo to Things on Computer B it will just dump the ToDo into the Next bin, if a project of the same name doesn’t already exist.

    Maybe that is a bit complicated so I will give an example:
    I make a new project on CompA called “Tooth Collection” and a new ToDo for it “Buy tooth-smashing hammer” with the tag called “Work”.
    Things and iCal are set to sync all ToDos from Things tagged “Work” into my “Work” calendar, so away it goes into iCal.
    Since I have “Show project title” enabled in the options (but “Show tag” disabled) the project “Tooth Collection” is prefixing the ToDo item.
    I go to work and see that iCal on CompB has “Buy tooth-smashing hammer” added to the ToDo list.
    I open Things, which does not have a “Tooth Collection” project, so the “Buy tooth-smashing hammer” ToDo is sitting loose in the Next bin.

    Now… If I have already made a “Tooth Collection” project *PRIOR* to having these items sync with one another, the ToDo would be automatically added to the correct project. If not, creating the new project *AFTER* a sync with the same name will not automatically move them into the appropriate project.

    My request, then, is that if Things syncs with iCal and seems to have a project prefix in its title, perhaps it would not only search for the project, but add it to the projects list were it not already in existence.

    I realise that this sort of thing may be best left for the time if and / or when you get .Mac syncing implemented, as project tags, deadlines, notes, etc, are obviously not going to be migrated over with the ToDos themselves. So this might lead to project ugliness. But I wanted to bring it to your attention anyway.

    Anyway, now that iCal implementation is up and running I am finding the software much more useful. I just hope that iPod Touch (no iPhone in Japan) integration happens, either via a Things application or via the new iPhone / iPod Touch firmware including ToDo support within the calendar application. When that happens, I will be in heaven.

    Well, maybe not heaven, but at least it will elevate me to a higher plan of hell than the one in which I am currently living.

    Keep up the great work, guys!

  32. Very, very nice.. ;)=

  33. iCal support is great! Well done. If I understood corretly I can’t delete to-dos in iCal, only in Things, but I can set them as finnished?

    Just to make sure. Thanks.

  34. […] latest version of the Things task manager (0.9.2) incorporates synchronization and support for Leopard’s system-wide to-do’s! As has become the norm with Things, the new feature is extremely well thought-out, and in my […]

  35. Great feature! I can now use Anxiety and turn email messages in to-dos, just what I was waiting for.

    (now, next feature I’m wanting: badges for the dock icon :)

  36. 프리버즈의 생각…

    Things - iCal 연동도 Leopard에서만 되네 아무래도 Leopard로 가야겠다…..

  37. Thank you!

  38. Upgrade isn’t working for me. If I follow the auto-upgrade the version I have at the end is still 0.9.1.2. So I tried deleting the things.app file and downloading manually and installing. Same result.

    Am I missing something?

  39. @John C, voice to-dos are certainly interesting, in particular when used from a mobile phone.

    @Josip, I am afraid you might be right. But I need to look into this more closely until I can say for sure.

    @fatroom, as already mentioned in the article, we would like to add Tiger support sometime down the road. But we cannot make promises right now. Since Leopard gives developers so much cool stuff to play with, we’d rather see our users upgrade to Leopard :).

    @endekks, yes you are right, users shouldn’t attempt to use the iCal sync feature as a means to sync the Things library across computers. Since Things’ data model is much richer than that of iCal, it simply cannot be made to work properly. As you observed there is indeed a substancial amount of manual readjusting necessary.

    @Anssi, yes you can mark items completed from any application.

    @Nick, Some users seem to be getting cached versions of Things from an intermediate server. Our server has the new version of course. From now on, we will be appending the version to the name of the disk image. This should solve the problem. You can try it by downloading the new version (0.9.2.1) via Things’ software update mechanism.

  40. Are there any plans to allow for the creation of iCal events from within Things?

  41. @Chris N.: I second that feature.

    @Jürgen: I think it would be awesome if day specific tasks were synced to iCal as all-day events… That would be very GTD-ish - it is the way the book recommends.

  42. Great implementation, as always.
    The very next um..thing I’d like to see in Things is licensing mechanism. Guys, I’m feeling like I owe you money.

  43. Great job guys. Switching from omnifocus. And please ignore the requests to have Things involved in iCal events. Don’t replace the calendar. Just do a great job with projects and tasks. Feature bloat is the enemy.

  44. falcn. I’m right with you. Things is becoming a guilty pleasure. I’m ready to compensate the talent and hard work.

  45. @Chris N., trying to sync to-dos in Things with events in iCal is something that has the potential of causing a great deal of confusion. Events and to-dos are very different objects with different attributes (events cannot be checked off). We’d like to keep sync (already complicated enough by and off itself) as clean as possible.

    On the other hand, having a way to display tasks say by due date would be quite useful. We have some nice ideas to do this in a Things like way without using iCal as a hack :).

    @Mattias Thurfjell, I believe what you are referring to in the GTD book is where Allen describes the tickler file. It is a means of sending yourself reminders in the future. When something cannot be done before a certain date, you put a note in a place specific to this date (a dedicated tickler file or maybe a regular calendar). When the day comes you will be reminded of the task, but that doesn’t necessarily mean, you need to do it at that date. This is very different from what Allen calls the “hard landscape”.

    We implemented the tickler file through the Scheduled list. You can make items move to the Today list at predefined dates. If you sync the Today list, then the recently moved items will indeed show up in iCal but as regular to-dos not as events.

    @Janice, @falcn, @dan :) thanks so much.

  46. Hey Guys - fantastic app!

    I’m having a little trouble when items sync into Things, the email link to use for referencing (which is an awesome feature) doesn’t work. It goes to Mail.app and nothing happens.

    Any thoughts?

    (I am ready to hand over money to you)

  47. Congrats! I would suggest that the next really important feature to be added is the ability to schedule individual actions inside projects. This is the only GTD feature that is really missing for me in Things in terms of workflow, and I imagine for a lot of people to. Besides, I would guess it’s not hard to implement…

  48. […] for free!). Last saturday, Cultured Code released a small version update with a big new feature: system-wide To Do integration. Enter a To Do in Things, and it’s instantly in Mail and iCal. It’s a significant step […]

  49. Jürgen, I read your response to Chris above and understand the complications. Is there a means to create an option to view Events in the “Today” view? Or is that equally complicated?

  50. (I also sent this in as a feature request.)

    When choosing which items to sync with iCal, there should be another option aside from syncing ONLY items with a given tag or area. You should also be able to sync all items EXCEPT those with a given tag or in a given area. That way, you can keep some items “secret” and not have to manually add new areas or tags every time you make new ones.

    My use case: I want to share everything with my significant other except for to-dos relating to surprises for her or her family, e.g. birthday presents.

  51. @Jürgen: Yes, the tickler file is a huge aspect of it. In the seminar “Getting Things Done… Fast”, though, David says that actions that MUST be done on a specific day should be jotted down at the very top of that day in your calendar, not JUST on a list. The Today list is not just stuff I have to do Today, it is also things I want to or should do Today. I guess what I want is a way to show day specific MUST-tasks on the calendar in iCal, not just on the to-do list.

    Of course, Things is still awesome (at present, I would never switch to any other GTD app), but that feature would be a killer. It is bo no means a necessary feature.

  52. @Jürgen: I do get that it is too complicated… and would be confusing. I guess it is not so hard to add those tasks by hand in iCal…

    Thanks for a great app!

  53. @George, I think what happens is the following. The link in the notes section is actually created by Apple Mail. It is also available in iCal. Mail creates a link to the To Do item in Mail and not to the email message itself. Whenever you do anything that leads to this To Do item being removed from Mail, then the link ceases to be functional. I wished that Mail would create a link to the email message instead or even better automatically reverted to the parent email when the To Do item is gone. But since this is not the case, I will be looking into whether we can provide a work-around

    @Janice, we actually do have some ideas here. But don’t tell anyone… Don’t hold your breath either, since this will not make it into 1.0.

    @Nelson, you can specify multiple tags or areas. You could for example list all areas except the secret one. You can do the same with tags. But this might not yet be feasible: due to a bug - which will be fixed soon - parent tags do not match their children.

    @Mattias Thurfjell, I see that you are actually talking about “hard landscape” :). What you could do already is to use due dates. That way to-dos that have to be done on a particular day would at least be highlighted in iCal. Additionally you could check the “Hide To Do items with due dates after the calendar view” in iCal’s preferences.