Speeding Up Things.app
Things.app, from Cultured Code, is great. I have been using it to track my to-do items for over 2 years now. When I first got it, it had just been released, but it contained all the parts I needed in a list manager. A nice interface, a desktop client and iPhone app. It was also fast, well designed, and easy to use which is always awesome.
However, lately I have noticed that it sometimes took several attempts to launch it. When it would finally launch, it would be next to unusable. Adding an item to my list would take anywhere from a second to 20 seconds. The quick dialogue box would occasionally show up. Sometimes it wouldn't show up at all. Things, my go to app for my day-to-day tasks, had become a hinderance towards getting things done.
After hitting the Cultured Code Support Forums, I found out that has been a pretty common occurance. One of the suggested fixes was to clean out the logbook where all your completed to-do items live. Since we like to try and audit our work flow from time to time, flat out deleting all of my logged to-do items wasn't really an option. After a little more digging, I found an AppleScript that would export completed logbook items to a CSV file and then move them to the trash. This sounded like just the thing. I had at least a few completed items for every working day since 2009.
Here is what I did BEFORE I ran the script:
- read it. It helps if you know a little about AppleScript. You should always read free scripts to make sure they are not doing anything nefarious.
- back up your computer (time machine works just fine - see the cultured code wiki for info on Things backups)
Now that I was confident that my to-do list wouldn't vanish if the script accidentally ate it all, I got set to run the sript. On first run, it warns you that it might run a little slowly. This was the understatement of the year, likely due to my having 1000s and 1000s of logged items. To save you some time, here is what I did to approach this grinding script.
- empty trash in Things.app
- run the script
- check Things.app occassionally to see if I had passed 400 items in the trash
- if there were more than 400 items in the trash, then stop the AppleScript
- verify my CSV file contained data
- clean out trash in Things.app
- run script again from the top and have it write to a new file
I'm happy to report, that after dumping out over 3000+ logged items into a growing list of CSV files, Things.app is now awesome and speedy again! Hopefully this helps someone else out there.
NOTE: This is internet advice, we are not responsible for any damage, loss of data, etc... Use at your own risk.