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.

The 0.9.3 Release Got “Cancelled”

Sort of ;)

Things 0.9.3 brings dock badges, more compact Next and Today lists, 8 bug fixes, and a new "Cancelled" status for To Do items. While the latter is obviously a new feature, the deeper reason behind it, was to remedy a limitation in previous versions.

Previously, when a project that still contained incomplete items was checked off and eventually got moved to the Logbook, the incomplete items still remained in the Next or Today lists. While this is not entirely wrong, it is probably not what the user wanted. Either the user forgot to check off those items, in which case there should be a warning, or there was a deliberate decision to leave those items incomplete.

Of course, obsolete to-dos can always be deleted. But sometimes it is interesting to keep a record of tasks that were once considered interesting (by a client or co-worker for example), but got axed nonetheless. It is now possible to state that a task got cancelled by using the corresponding new menu command from the "Items" menu.

Cancelled Item

Also, if a user attempts to check off a project that contains incomplete items, there is warning dialog that lets the user choose whether the remaining items should be marked as completed or as cancelled.

We also introduced an option to show a dock badge. In Preferences you will find a new menu which allows you to select which count will be attached to Things' dock icon.

Dock Icon Badge

Please consult the Release Notes for a full list of bug fixes.

A Phone, an iPod, an Internet Communicator, and a Full-Featured Task Manager!

Things Touch - Full-Featured Task Manager

We have all seen how the iPhone enabled applications that weren't possible before on any mobile device. Wouldn't it be cool if you could carry all your to-dos in your pocket? Wouldn't it be cool if you had a powerful responsive task manager wherever you go?

A resounding "Yes" was the answer we gave to ourselves some time ago when we began developing what will become Things touch. Honestly, will any mobile device that you carry around ever be complete without a personal task manager? We didn't think so either :)

The iPhone and iPod touch are a huge opportunity for developers and an equally huge challenge too.

The opportunity

iPhone and iPod touch constitute a whole new platform with a new distribution model as well - the iTunes app store. These devices are used by many people that have never owned a Mac before and some of them may never will. For a developer there is the potential of reaching a whole new group of customers. Customers that may not know Things already, or are not able to use it because they are on Windows, or may not even bother to use the desktop version at all because Things touch is already more than they bargained for.

Challenges abound

  • The iPhone user interface is completely different from what we have become accustomed to from the desktop. Naturally, we had to recreate the code for the Things touch user interface from scratch. No way to reuse a single line from the desktop version.
  • Due to the unique limitations of the iPhone OS we couldn't even port the data model code. Yes you assume correctly, a complete rewrite was necessary too.
  • Fraser Speirs has an insightful article on how the market's ability to establish a fair price for iPhone applications will eventually determine whether there is a sustainable business model for creating them. I bet that we are not the only developer having a hard time determining a price point for our iPhone application. A price point that will enable us to aggressively evolve and support Things touch for a long time to come.

While developing Things touch does draw significant amounts of resources from the desktop version, it is in fact rather beneficial for it too. Recreating Things for the iPhone made simplicity even more predominant. We learned a couple of things from the process that will help us to make the desktop version even better. The same goes for the data model code. Having had the opportunity to incorporate all the lessons we've learned from the desktop version resulted in a fresh new code base that will find its way back into Things, providing an even better foundation for its future development.

In the weeks to come, we plan to write more about how Things touch will look like. But if you'd like to get a glimpse of where we are headed, you may want to peek at Chris' desk :)

Things Touch - Interface Still Life
Things Touch - Paper Collage