Things Wins Apple Design Award 2009

Tuesday, June 9th 2009 was a special day for Cultured Code. You might have already heard about it if you are following us on Twitter. During the week of June 8th, Apple held its annual World Wide Developers Conference (WWDC) in San Francisco.

This year, an unbelievably large crowd of more than 5000 developers went to the Moscone West conference center to get the latest scoop on Snow Leopard and iPhone OS 3.0, along with meeting Apple engineers and bombarding them with questions.

The evening of the second day of WWDC is traditionally reserved for celebrating the winners of the Apple Design Award (ADA). The trophy is a very elegant cube with a transparent Apple logo that lights up when you touch the cube:

Apple Design Award

Receiving an ADA is the dream of every Mac and iPhone developer. While not as glamorous as the Oscars - we are developers after all! - the significance of the ADA for the Mac community is not unlike that of an Oscar for the film industry.

Before we flew to San Francisco, we tried to convince ourselves that we had an actual chance of winning, but our hopes dwindled when we sat among thousands of other developers that Tuesday evening. With so many other contestants, receiving an ADA felt virtually impossible. But it happened! When Things was announced as a winner, we all shared a frozen moment in time - it was a dream come true.

Winning Apple Design Award
Image courtesy of Hussein Morsy

Being awarded a prize for design excellence from a company like Apple means an awful lot to us. We are happy and proud; but most of all, it is an encouragement to continue to do the best job we possibly can.

Things 1.1.2 and Things touch 1.3.5 Released

Now that Things 1.3.5 for iPhone and iPod touch has been approved by Apple and is now available on the App Store, we are announcing the release of Things 1.1.2 for the Mac.

Things

Besides a host of bug fixes and smaller changes, there are three major areas of improvement which are important enough to deserve their own blog posts:

There are also many smaller (but not less important) improvements we couldn’t fit into one of the articles linked to above. Some of them fix issues that were driving some of our users crazy, such as keyboard shortcuts. ⌘S is no longer used to move a to-do to the Someday list. While the letter “S” is certainly not completely unrelated to the word “Someday” ;), pressing ⌘S is too deeply associated with saving a document in many user’s muscle memory. Therefore, the keyboard shortcut ⌘Y now toggles the active/inactive state of an item, moving next-action steps and active projects to Someday, or - vice versa - items from Someday back to the Next or Active Projects list.

Another keyboard shortcut that has changed is ⌘→ to bring up the dialog for moving items. The new shortcut is ⇧⌘F. The letter “F” refers to the corresponding menu command “File…”.

Due dates! There are so many different ways for using, or even not using, due dates to get organized. Some users found themselves having many overdue items, but ended up being reluctant to move the dates farther into the future. After all, changing a due date is probably not going to help you reach your goals earlier next time. Previously, when you you set an overdue item to “Not Today”, it was still moved back to the Today list when you re-opened Things or when you synced with your iPhone or iPod touch. The new versions of Things for the Mac and Things for iPhone and iPod touch will instead keep the items in the Next list until the next day.

If you are syncing with your mobile device, please be sure to update both Things for the Mac and Things for iPhone and iPod touch to get a consistent behavior across sync sessions.

Other improvements include:

  • A faster and more reliable software update mechanism
  • A unified way to send support inquires
  • An updated iPhone preference pane that provides even more help and feedback to new users
  • A more robust mechanism for discovering and pairing the desktop version of Things with its mobile sibling, in particular with busy networks

Don’t miss our more detailed articles below, and please don’t forget to download the new version of Things for iPhone and iPod touch. On both your mobile device and iTunes you might have to manually check for updates before Things touch 1.3.5 shows up. Enjoy!

Things 1.1 Brings Extensive AppleScript Support

No Mac application can truly be considered complete without AppleScript support. We are very happy to announce that version 1.1 of Things brings full scripting support for most aspects of the application. But hold on a second, isn't AppleScript only relevant for programmers? And what is AppleScript anyway?

Apple Script

AppleScript is part of Apple's automation technologies. It is an English-like language used to write little applets that can control the actions of a computer and applications that run on it. Here is an example:

tell application "Things"
    set message to the name of the first selected to do
end tell
 
tell application "Twitterrific"
    post update message
end tell

While it may seem obvious what this script will do, let's break it down for you. We'll assume you have selected one or more to-dos in Things. We will also assume that you have a Twitter account and the Iconfactory's Twitter client Twitterrific installed on your Mac, configured for the Twitter account. The above script will ask Things to return the name of the first selected to do. Then, it will make "message" a shortcut of the returned text. That text is now handed to another application - Twitterrific in our case - to post it as an update to your Twitter account.

It is easy to try the above script yourself. Just fire up Apple's Script Editor application which is already installed on your system. Copy and paste the above script into an editor window and click the run button in the tool bar. Oh, and you may want to make sure that a suitable to do is selected in Things ;)

Of course, you don't need to use the Script Editor every time you want to use a script. You can save your scripts and then run them by simply double-clicking them. Even more convenient, you can drag scripts into the Finder's toolbars for easy access. For an example, check out the Browse Full Screen script from Apple's website.

We have a section in our wiki dedicated to collecting user contributed scripts. If you are interested in automating Things, be sure to check it out every once in a while. Our Things AppleScript Guide, which you will also find there, is filled with snippets of example code which will get you started in no time. Happy scripting!

Things 1.1 Brings a New Model for Working with Delegated Tasks

If you haven't yet worked with the people feature in Things before, version 1.1 is the perfect opportunity to try it out. The new way delegated tasks are handled in Things 1.1 is much more flexible and also works much better when you sync with the iPhone or iPod touch version of Things. But lets start at the beginning.

People

For any person in Address Book, you can create a list in Things by choosing "Add Teammate..." from the File menu. If you have also stored the IM addresses of your teammates in Address Book, Things will automatically show their IM status in the sidebar:

People

For each teammate, you can now create a list of items you are waiting for them to complete. You can think of these tasks as being delegated to the respective person.

Previously, when you dragged an item - say from the Next list - onto a person in Things' sidebar, the item was removed from the Next list and shown in the person's list instead. This makes perfect sense since this item is now delegated to another person and hence, no longer your task. There is simply no other choice than to remove it from your next action list. Considering that the Next list has a tendency to grow very long anyway, every task not there is a good task. Or is it? In fact, many months of experience has told us differently!

There is another way to look at delegated tasks. Even though you have handed over the task to someone else to complete, you still have to make sure that the task gets done and that the results will meet your expectations. Some time after you delegate a task, you may want to be reminded to check whether or not it has already been completed successfully. In some cases, you may even want to get in touch with your teammates more often to check whether it is necessary to provide them with more help or information.

When you delegate a task, there are two aspects:

  1. The task that your teammate is supposed to complete, and
  2. Your responsibility to make sure that results are returned.

Previous to version 1.1, the behavior of delegated tasks in Things was modeled to capture the first aspect. We have now decided to give the second aspect precedence. Now, when you drag an item from the Next list to a teammate, it will show up in the teammate's list, but it still stays available in Next as one of your responsibilities. Of course, after delegating a task, at least for some time, there is nothing you can do about it. Hence, it shouldn't appear in your next actions list. What you can do now is to drag the task to the Scheduled list (works for tasks that are not part of a project) and enter a date in the future when you expect the task to be completed by your teammate. When that date arrives, Things will show your task in the Today list to remind you to check back with your teammate.

For complex delegated tasks that take a substantial amount of time to complete, it is now possible to combine start dates (Scheduled list) and due dates. You can use the due date to specify when the task needs to be completed at the latest. Due dates are often determined by external requirements beyond your control. By using the start date (Scheduled list) on the other hand, you let Things remind you to get in touch with your teammate to discuss intermediate results, or evaluate whether the due date can still be met. Then, you can reschedule the task based on the results of your discussion to make sure you will get back to your teammate in a timely fashion, ensuring results are delivered as expected.