Land in Sight

When we started the public development of Things, we invited everyone on an “interesting journey”. And interesting it was, to say the least. It also was a much longer one than we ever expected.

We are very happy to announce today that Things 1.0 will be released at Macworld Expo 2009, on January 6th. Here is what will be constantly on our minds over the next few weeks, the Things release countdown timer:

0
0
0
0

When you embark on a journey, you know the direction‚ maybe the destination; but you cannot‚ and in fact you don't want to‚ control what happens on the way. After all, it's the unexpected things that make a journey interesting.

Some things are bound to happen, like users strongly advocating features we previously didn't deem that important. Needless to say we were happy to oblige: Things 0.9.2 Brings Support for Leopard's System-wide To-do Service, Recurring Tasks XXL. Some things you wish to happen, like the iPhone SDK and the amazing iTunes App Store. And some things you can only dream of, like being mentioned on Apple's iPhone page.

What was first, the hen or the egg? When relying on venture capital, it is clearly the company that is created first. Then the company creates its products. With an indie developer, things are not that clear cut. An indie developer jumps first and then learns how to fly. First and foremost is always the product; then the company is built to support and nurture the product as needed.

As paradoxical as it may sound, we found that the biggest enemy of an indie developer is success. The more successful we became, the less time we could spend on the actual development. This summer, when we were laying the groundwork for the future of Cultured Code, we even dropped the ball. We were no longer able to keep up with blog and forums. No doubt, people noticed. And how could they have known that it was actually us working overtime that caused the lapse?

We decided that this cannot ever happen again. But promises aren't enough. After all, we are product guys. What we clearly needed was a communication guy. Hiring the right people is crucial to the success of a company. If you don't get it right, you are doomed. That is why we are so happy that we have found the perfect fit for Cultured Code: Michael Simmons. He gets who we are. Michael will watch our backs and take care of any obstacles that may come up. In short, he will help us to stay what we are: product guys.

Cultured Code Team 2008

Things touch 1.1 Syncs, Syncs, Syncs

This morning, Apple gave the green light for Things touch 1.1. The most prominent new feature is the ability to sync with the desktop version of Things. It took us quite some time to find and fix most of the syncing related bugs, many of which were reported by our 100 brave beta testers. Thanks to all of you!

Other improvements are a faster dialog for entering new to-dos, an app icon badge, and a customization of the automatic logging behavior. We have also added localizations for French, Spanish, and Japanese.

Enabling Sync

Please make sure that you have both the latest desktop version (0.9.4) and the latest iPhone version (1.1) installed. Also, both your Mac and your iPhone/iPod touch have to be connected to the same wireless network. To turn on syncing, start Things on the desktop, go to Preferences > iPhone, and follow the on-screen instructions.

App Icon Badge and Automatic Logging

The app icon badge is disabled by default. To enable it, just launch the Settings application on your iPhone and go to the Things settings screen. The automatic logging behavior can be changed in this screen as well.

What's Next

The past few weeks have been quite a ride. We all worked very hard to get the syncing update out, so now is the time for us to relax a bit and refill our energy. We have also found a wonderful new office to move into which no doubt will boost our productivity even more :)

Once we are back to coding, there are quite a few to-do items on our list. First, the desktop app will see some long awaited improvements that will push it closer to 1.0. The iPhone version will also get updates that bring bug fixes (if you find any), and support for Tags and Areas. We will post more details on the roadmap as soon as we get to it. And as always, we will keep you updated on our progress via Twitter.

Things touch 1.0.1, Syncing, and How to Prevent Data Losses When Updating iPhone Apps

As you probably know, before allowing anything into the App Store, Apple reviews not only new applications but also each update of existing ones. This process took quite some time for 1.0.1, but we are happy that it is finally available. The update brings important bug fixes and a German localization.

Syncing will be part of the next update. Coding of the desktop/iPhone sync feature is almost complete! Jürgen has successfully synced the 800 items in his library (not including the logbook). During the next few days we will apply final tweaks, ensure that the whole process is forgiving of network failures. And of course, we will be doing extensive testing.

Users of many other applications have reported data loss problems after installing updates, and sadly, Things is no exception. This is not a fault on our side, but rather a strange bug in iTunes/iPhone OS. From a quick survey on Twitter we can tell, that for most users the update went without a hitch. But a few users reportedly lost their data. As far as we know, no one has yet been able to reliably reproduce this bug, so we don't know how long it will take Apple to fix it.

Once syncing between Things and Things touch is finished and available, the whole data loss issue will be much less of a threat. In the meantime, and for those of you who don't use Things on the desktop, there is a procedure you can follow to prevent data losses until Apple has resolved the issue. Note that this procedure works equally well for all iPhone applications, not just Things.

Updating safely

  1. Back up your iPhone by syncing it with iTunes just before you install any update.
  2. Disconnect your iPhone and install the update on the device.
  3. If you didn't lose your data, all is fine. If you did lose your data, you can restore it from the backup. But you have to be very careful. When you connect your iPhone to your computer, iTunes automatically overwrites the existing backup with a new one. Since you just lost your data on the device, this will effectively delete your previous backup from iTunes! To prevent this, you need to do the following:
    1. Disable automatic syncing for your iPhone in iTunes' preferences before you connect the iPhone again (iTunes > Preferences > Syncing > Disable automatic syncing for all iPhones and iPods).
    2. Connect your iPhone and wait until it appears in iTunes' sidebar. Since syncing is disabled, iTunes won't back up your data automatically.
    3. Right-click (or control click) on the iPhone and select "Restore from backup".

Things for iPhone and iPod touch available

We are happy to announce that Things for iPhone and iPod touch is available now! If you own one of those devices you may want to watch for this icon in the iTunes App Store:

Things for iPhone and iPod touch

Developing Things touch has been an incredible experience. The capabilities of the device and the software development kit are amazing. With just over one month development time, meeting the deadline for the App Store's launch seemed difficult, if not impossible. But we did it and we couldn't be happier.

The code for Things touch comes in at a quarter of the size of the desktop version. And we couldn't reuse a single line from the desktop version. Everything is new and shiny, almost as polished as the box depicted in the app icon :) By now we are so exhausted, it is doubtful we will be even able to finish this post... :).

There were a few trade-offs involved: for one, we have at least two completely different approaches to the tags interface, and there wasn't enough time for real world testing to rule out either of them, or to find the perfect synthesis. So rather than delivering the next best approach, we decided to disable tags in 1.0.

Second, syncing with the desktop version of Things is not yet possible in 1.0. Based on your feedback we decided that seamless over the air sync with the desktop version is a must. Unfortunately, there wasn't enough time to ready this feature in time for the App Store launch. Releasing a critical feature like this under time pressure without extensive testing is a big no no. Plus, iTunes automatically backups your to-dos every time you connect your iPhone, so data loss is not an issue. Of course, we could have delayed Things touch in order to implement full syncing. But considering the more than 100 amazing responses to our previous iPhone article, it was completely obvious that releasing Things touch even a single day later than absolutely necessary was not an option.

By now you can probably tell that version 1.0 of Things touch will not be around for very long. We will quickly add substantial features in a whole series of free updates. There are already two improvements that are not present in the desktop version. An extensive description of Things for the iPhone complete with screenshots will be available soon. We would be happy if you give us your support for our continued work and buy Things for the iPhone and iPod touch. As a courtesy to our avid Things users we decided to start at an introductory price of $9.99. Take advantage of it now, it won't last for long. And don't forget to rate and comment on our App Store page if you like to.

On the weekend we will be partying and relaxing, sharing some time with our families. But first thing Monday morning, work on the first update will begin. And then in a few days a badge on the App Store icon may tell you that a free Things update has arrived, one from many, that will make your task management even more enjoyable and effective.