State of Sync, Part 1

Things - Cloud Sync - I Want to Believe

This blog post is about the cloud sync solution we are working on. Finally, some might say. It has been about two years since we first thought about the option to create a cloud sync solution for Things. A lot has happened since then, and we learned many lessons. It was a long and winding road for us, but most of it happened behind closed doors. In the words of one user, our progress has been glacial – and as I sat down to write this post, it was this metaphor that came to mind. Why? Yes, a glacier is slow, but this object – naturally impressive and beautiful – carves its own path, and despite any obstacles, must arrive.

I am not sure whether “impressive” is the most appropriate term for the cloud sync technology we are working on, but it undoubtedly constitutes a most significant feature in all our products – existing or forthcoming. And to us, our cloud sync architecture is certainly beautiful. But why has it taken this long? The quickest way to answer this question is to quote Ken Arnold:

To stop worrying about it will require worrying about it a lot at first.

And that is exactly what we did. With what will be a forthcoming series of blog posts, I will not only look back to give an idea of what it’s like when a software company is worrying – but I will also share some details about the technology that will underpin our solution and what it will mean for our users.

Before getting into those details, it will be useful to explain just what kind of problem a sync solution is trying to solve. Today’s blog post will therefore concentrate on that, but before closing I’ll also offer an overview of where we stand right now.

Perfect Networks

If we lived in a world that had perfect networks, the sync problem would not exist. A perfect network is one that never fails and has unrestricted speeds. Access to remote servers would be instant. With a perfect network, it wouldn’t be necessary to store data on our devices. All our computers and mobile devices could simply connect to a remote server to store and retrieve data. This way all of our devices would have the same data available to them all the time.

But, of course, the network is not perfect. In order to provide a great user experience, it’s still necessary to store data locally on the device. For this reason, all versions of Things come with their own database. Now, in order to make sure the same data is present on each device – no matter where it’s added or changed – the Things databases need to be synced.

Looking for a Common State

What exactly does this mean? Let’s look at an example. A user might have modified her Things database on the iPhone while not being connected to the internet. Back at home she might make changes on the Mac before the iPhone had a chance to send its changes. Now we have a situation where the iPhone and Mac databases have diverged, no longer sharing a common state.

In order to remedy this situation, data has to travel both ways between the devices and undergo a process to make sure that the resulting databases ultimately reach a common state again. This process is called merging. In the example above, assume that the user reordered to-dos in a project on the iPhone and deleted or created to-dos in the very same project on the Mac. During the merge process the devices need to agree on a final state for the project, distribute all necessary data, and make sure the resulting changes are applied correctly.

Conflicts

The merge process gets more complicated in the presence of conflicts. Imagine a user checked off a to-do on one device but deleted it on another. In order to resolve the conflict, a decision has to be made. The deletion can either be ignored or applied; the latter effectively resulting in the completion of the to-do being ignored.

It gets even worse with objects needing to maintain or change their relationships with other objects – like to-dos, projects, areas, and tags; to-dos can be contained in projects; to-dos and projects can be contained in areas; all three of them may have tags. Changing these complex relationships on multiple devices at the same time creates ample opportunity for conflicts. It is the responsibility of the merge algorithm to resolve these conflicts and to make sure all resulting changes are distributed consistently among all devices.

Simply Make It Work?

Providing a sync solution is a complex problem. As might be apparent from what I outlined above, sync bugs have the potential to seriously mess up a user’s data. It is therefore very important to have a solid foundation. But this still does not describe the entire problem. The most difficult part is not to simply make it work, but to create a fast implementation that can scale to millions of users without diminishing the user experience.

Why is a fast sync process so important? When you launch Things, you want your database to be up to date and contain all your to-dos, no matter where you entered them. Since Things cannot update itself in the background due to iOS restrictions, this means that syncing has to take place when the app is launched. A similar situation arises when you enter new todos on your device and quit Things immediately. Add to this the possibility that a network connection might drop at any time. Every conceivable troublesome scenario points to one thing: fast sync is necessary for a good user experience.

Finally, we must consider scalability. Creating a solution for a few thousand users is one thing – creating a solution for millions of users is a different beast entirely. We have all experienced what happens when a web service is accessed by more people than it was designed for; at first, the service becomes slow, then it fails entirely. It has been our primary goal to create an architecture where scalability was not an afterthought, but rather built-in from the beginning.

A True Cloud Sync Solution

This is the first of a series of articles about our cloud sync solution. In the following installments I will talk about the various approaches and technologies we tried while working toward our goal, and why we did not continue with them. I might also touch on a few popular approaches that others have taken, and show why the trade-offs involved were not acceptable to us. I will talk about the lessons we have learned and the final solution which, at last, satisfies all the requirements we feel a true cloud sync solution demands.

Before closing this article, I would like to offer a cursory glance of where we’re at right now: We have created and deployed both server and client-side sync components. Both components are completely general and can be used for any application. They have been successfully tested using a special demo program. We are now in the process of integrating this technology into Things.

The final release of cloud sync as part of Things is still off by a few months. But we plan to publish more details about what we are doing (and have been doing) every few weeks.

Let me end this post by expressing our sincere gratitude for your patience. Driven by ambitions that were almost too high, it has taken us much longer than we expected. On a path lined with unanticipated obstacles and letdowns, it felt at times as if we would never get there – but we kept believing that we would be able to create a fine solution; a foundation for many cool things to come.

It is now in reach.

163 Comments

  1. Brandon Titus Dec 21, 2010

    Glad to see some comment on this topic at long last! I’m definitely hopeful for an excellent release. I truly hope your hard work and thoughtfulness turns into an elegant, simplistic, and scalable solution.

    I just hope other task management software doesn’t win me over before then…

  2. Harris Kleyman Dec 21, 2010

    Thanks for the update, guys. A friend and I had given up on Things and tried to find something else with the ease of use and workflow Things offered, but with a sync solution that rocked. We haven’t been able to find anything. We’re so excited to hear that it’ll be coming in a month or two. Keep it up, we’re looking forward to it.

  3. Aaron Dec 21, 2010

    Fantastic. I can’t wait.

  4. Chris M Dec 21, 2010

    Have you considered using dropbox folders for syncing? 1Password does this and I haven’t had any issues and everything is always in sync.

  5. lembacon Dec 21, 2010

    It would be great if Things features with Cloud Syncing.
    I have Things on my iPad, iPhone and Mac. Each time I add a new To-Do, I have to sync through WiFi to get my iPad, iPhone and Mac synced. It is really complicated and annoying. With the coming of cloud syncing, life would be much easier.

  6. Jim Martin Dec 21, 2010

    Thanks for the update. Frankly, I fear you’re trying to leap too far with the first step. Simply extending the metaphor of the current sync functionality using a rendezvous server out in the “cloud” would have been useful months ago. Yes, it would have required full connectivity by all involved devices when the sync happened, but that’s simply a degenerate case of the all encompassing solution you’re describing. None the less, I very much look forward to more detail on your grand solution.

    However, and far more importantly, is a very practical question. I’ve been holding off on getting Things for my iPad to complement my mac and iPhone, and also have been dissuading friends from buying any of them because “realtime sync over the net” is just around the corner, and it wasn’t clear if it would be free or a paid upgrade. Can you assuage my fears and confirm that it’s safe to buy and that the “cloud” enhancements will be free?

    Thanks!

    - Jim

  7. Levi Figueira Dec 21, 2010

    Great to hear from you guys.
    I am wondering though: don’t you have the merging/conflict on sync issues figured out already with the Wi-Fi sync? If not, that’s kind of shocking. If yes, then all you have to do is buy/outsource a “Things cloud” (a bunch of servers on Amazon, for example) and all devices sync with it (instead of each other).

    I honestly don’t think the whole “seamless cloud sync” is a good enough excuse for such a long process. And I’m saying this lovingly, as a customer who paid for and loves your products… for the most part.

    Good luck guys.

    PS: Next time (hopefully never), just hire people who are REALLY good at cloud solutions. I know it’s cheaper to do it in-house, with no one else to hire/pay but, with “millions” of customers, I think you’ll be just fine with that extra expense. Just sayin’…

  8. Aaron Dec 21, 2010

    Much, much appreciation for the transparency of CC. This kind of post keeps all of us engaged and knowing that CC is living, breathing, and pushing through.

    The wallpapers are WAY awesome, too!

  9. pomor Dec 21, 2010

    Jürgen, your English is much better than I previously thought. A very clear presentation.

  10. Ashwin Dollar Dec 21, 2010

    I’m glad you guys are starting to decide on something. It has been a difficult wait for cloud syncing. I fully understand the challenges of this type of program syncing correctly. If you could share how you fixed your problems those of us developers relying on cloud syncing solutions for other types of products could really benefit from what you’ve learned.

  11. Jeremy Dec 21, 2010

    Never doubted that you’d be looking for a way to make syncing ‘Just work.’ Somehow having Things sync with Evernote or Google Tasks didn’t seem like something Cultured Code would ever stoop to. Keep up the awesome work!

  12. Ben M Dec 21, 2010

    I agree with Chris M. Dropbox works great for syncing 1Password, never had any issues with it.

    I even use it to sync Things on my Macs. It works, but you can only have one Mac with Things open at one time.

    I’m glad you guys are working hard on what I’m sure will be a great solution, however, maybe enable Dropbox sync in the meantime?

  13. David Dec 21, 2010

    **Sigh**
    I’m sure it’s a challenge, but it’s a challenge other developers complete in a matter of months. I mean, geez, look at Omni.

    Two years. That’s hilarious.

  14. Rod Dec 21, 2010

    At last! The silent giant has spoken… Did it hurt to be a little communicative with your customers? We appreciate it.

  15. Joe Kohlmann Dec 21, 2010

    I’m just saying—some companies out there don’t turn their failure to deliver key functionality into a marketing ploy.

    You guys are building cloud sync, great! A lot of people, including myself, have moved on, meanwhile.

  16. Scott Dec 21, 2010

    Thanks for the post. Any communication is good communication. I’m disappointed that sync seems a few months away and not one or two months away, but I’m glad the work is ongoing.

    I appreciate the many issues involved in sync. That said, doesn’t the current sync system resolve those various conflicts? I.e., does cloud sync require a new algorithm? I’m not a programmer so I’m sure this is more complicated than I could even realize, but it seems to me that the bulk of this post is dealing with issues that have already been solved by the current wi-fi sync system.

  17. Eric Dec 21, 2010

    Please don’t take this the wrong way–I use things for Mac and iPhone and am happy with those programs–but I found this to be a really confusing/disappointing post. Here’s why.

    1) “To stop worrying about it will require worrying about it a lot at first” almost sounds like you don’t really care about cloud syncing, and are kind of bothered that customers keep demanding it.
    2) Rather than celebrating the fact that you’ve developed a solution that both meets user requirements and overcomes technical struggles, the post sounds more like a complaining session about how hard the development process is/was. So instead of the headline being “Things develops innovative solution for cloud syncing” the headline is “You’d better be grateful for Things developers because this stuff is really hard.”

    Again, I’m not a dissatisfied customer. I just hope that future posts in this series present a clearer picture of what’s ahead. From this post, I’m not really sure whether I should be excited or not.

    p.s.–I write blog posts for my own company, so I understand the struggle of communicating effectively and have tried to phrase my comments in a way that you can truly benefit from them.

  18. Worthy Dec 21, 2010

    I was hoping around this time of the year we would get an update on what will be the most important addition to the best productivity app available. However, this blog post does not give much in the way of details of any hope cloud syncing is in the works anytime soon.

    Please give us more details and remember many of your longtime users have been with you from the beginning (the beta days) and have been waiting for true syncing capabilities for many years.

    Also, I think so much has changed since the first release. Many of us now have more than one desktop/laptop, iPhone and iPad, so the need of keeping all of this synced has become critical now and a standard necessity.

    Keep up the great work, but please give us cloud syncing early next year!

  19. Daniel Dec 21, 2010

    I looked forward to the true cloud implementation but until then I am happy with the syncing via Dropbox, albeit as mentioned, only from 1 machine at a time.

  20. JC Dec 21, 2010

    I went away from Things because of the missing cloud sync feature. Hopefully this will be the way back to Things….

  21. pomor Dec 21, 2010

    Why DROPBOX wasn’t chosen

    Hi,

    Thank you for your inquiry.

    As you may be aware, we are already working on a cloud sync solution for Things (see: http://www.culturedcode.com/status). The project is making good progress and we are confident that our users will like the solution a lot.

    Dropbox announced the availability of its developer API in May 2010 when the work on our own solution had already come a long way.  We evaluated what Dropbox was offering back then and found it was not a viable solution for Things.  The technical details are somewhat complex, but there are two main top-level reasons:

    1. Objects stored in Things (todos, projects, areas, tags, teammates) have many relationships – a project, for example, contains multiple todos and itself can be contained in an area, each can have tags assigned to them, etc. – actions performed on these objects often cascade into additional changes, e.g. marking a project as “Today” also marks all its active children as such.  Overall, even seemingly small actions from the user lead to a significant amount of data needing to be transferred.  We have to ensure that our sync solution handles this both efficiently and reliably (e.g. when conflicts occur).  Dropbox does not offer any mechanism for this.

    2. We are planning to add exciting new features for Things in the future.  Some of these cannot be realized efficiently with the Dropbox API, whereas our sync solution is already designed with these features in mind.

    Taking these points into consideration it became clear to us that continuing to work on our own cloud sync solution was the best choice for us.  We understand that cloud sync is important to a great number of our users and that it will make Things even more powerful.

    Nevertheless it will take some more effort on our side to offer a fast, reliable and convenient solution.  Please bear with us, you won’t be disappointed!

    Regards,

    Roman.
    Things Support
    Cultured Code

  22. Jürgen Dec 21, 2010

    @Chris M: Yes we considered using Dropbox or MobileMe. More on alternatives in the forthcoming articles.

    @Levi Figueira, Scott: It is not the merge itself, but implementing it in a fast and scalable way.

  23. Petr Vlk Dec 21, 2010

    Sorry, but this is hard to receive as good news, if you are (trying to be) Things user :(

  24. jeremyisweary Dec 21, 2010

    Actions speak louder than words. And while worded nicely, this blog post does nothing to temper my impatience with Cultured Code. If this was written a year ago, I’d be more optimistic (and perhaps excited). I simply don’t believe you, and it’s gonna take more than wallpapers or any other gimmicks to convince me CC’s seriously releasing OTA sync in a “few” months. After a year, I expected something more concrete. While this may just be a pet project to you, we’ve shelled out a hefty price for software that promised much more a long time ago. I’m sure some here will be swept up by your post Jurgen. Again, it’s worded beautifully. However, so were your posts in April and even further back in August of ’09.

  25. Sergei F Dec 21, 2010

    I love Things on my mac and my iPhone. I think your approach is the correct one.

    Better to have a 99.99% ready solution that works well and have to wait a year for it, than a 43.8% working solution today. =]

  26. Sorens Dec 21, 2010

    Very disappointing that we still are “months away”. I told myself I would wait till the end of the year for cloud sync. Apparently it won’t happen. I hate to say it, but it’s time for me to move o. To another solution.

  27. Rick Roberts Dec 21, 2010

    Trouble is that I’m afraid you have lost and will lose a good many of your customers before you get it sorted out. I loved Things and jumped on board straight away. Then came iPhone. Then iPad. Then clunky wifi syncing. I said phooey and found another solution.

  28. Mike Dec 21, 2010

    Thanks guys. A much needed, well-written, and overdue but appreciated post.

  29. Niels Dec 21, 2010

    Cool! I’m looking forward to it! :)

  30. Dissapointed Dec 21, 2010

    I’m sorry, but you have spent 2 years trying to re-invent the wheel. Dropbox is an amazing, cross platform, free service. They opened up their API for people to do exactly this.

    You have the best minimalist todo software out, and yet, every one of your competitors has nailed the sync feature years ago.

    If you are planning on charging for something that you think is state of the art, all I can say is I wish you the best of luck.

    Yours Truly,
    Disappointed

  31. mundacho Dec 21, 2010

    I’m really waiting for your cloud sync. :-D

    As a developer myself I understand that developing great software takes (a lot of) time, but I must admit that I was disappointed by the lack of communication. I searched for you on twitter, I visited your blog, I searched for other solutions but there was no place to find you.

    Best wishes for the project, and if you need beta tester I’d love to help :-)

  32. Policarpo Dec 21, 2010

    Wonderful post Jürgen.

    Thanks for rekindling the vision of why Things is the Thing we all crave to use!!

    Good luck with your progress, and please, enjoy your Christmas break and Holiday this year.

    We are here awaiting your gift, and we are legion. :)

  33. Björn Dec 21, 2010

    Hey guys, I do love Things, I really do! But are you serious?

    After 2 years all we get is something like: wow, syncing is a rather difficult task, but users rejoice: we will have an “impressive” 100%-perfect solution for you. Only one tiny little hitch: we still have absolutely no clue when it will be available!

    That’s it? Do you want to know, what 3 words I had to think of, when I read your post?

    Duke Nukem Forever!

  34. cgriffin Dec 21, 2010

    Merging, conflicts, etc.

    Git seems to handle this very well and on a large scale (i.e. the Linux kernel). It is a tricky issue, but certainly not a new one — at least as far as CVS, subversion, and other similar version control systems are concerned. I wonder if it would be possible to build a server-client solution around something like git?

    http://git-scm.com/

  35. Jason Petersen Dec 21, 2010

    So what about Amazon Web Services directly? You’ve got S3, SimpleDb, SQS, RDS, EBS, and EC2 at your disposal and this takes two years?

    Start with a simple subset, define an API, make sure it’s fairly future-proof, and scale the backend on-demand. Heck, change it out with your own custom setup later if you must. You guys aren’t Twitter, it’s not going to be that bad.

  36. Jürgen Dec 21, 2010

    @cgriffin: As a matter of fact, we looked at Git and learned a lot from it :).

  37. shazron Dec 21, 2010

    Thanks for the update. Will Cloud Sync support be included in 1.x or is it slated for 2.x? (ie do I have to pay an upgrade fee)

  38. cgriffin Dec 21, 2010

    @Jurgen: cool! I use Git on my Linux machines and it’s a wonderful version control system. BTW, thanks for the update. More communication, even if there’s nothing new to report, is far, far better than no communication. Happy holidays.

  39. Mattias Thurfjell Dec 21, 2010

    @shazron: They have said that it will be included, but there is debate on what they actually said. Look here: http://culturedcode.com/forums/read.php?9,46000

  40. Brent Gulanowski Dec 21, 2010

    The sync engine for Daylite Touch both syncs (with full conflict resolution) *and* dynamically filters essential data, independently for each and every user of a multi-user system. And is fast and accurate. It was inspired by Mercurial version control. It helps that Marketcircle’s products are backed by relational databases (PostgreSQL and SQLite).

    The trick to syncing is to always keep a log of what changes, so you can generate a change set delta on demand between any earlier date and now (or generate the delta as changes are made). Reconciling conflicts comes down to granularity of change data, and a simple “last change wins” heuristic. The rest is a lot of work, but there is nothing especially difficult about it, algorithmically speaking.

    Unless of course you want to support more sophisticated merging, which requires special conflict resolution rules for each object and field (for example, merging the content of notes instead of clobbering one with the other). Billings Touch has a whole raft of custom rules to deal with double-invoicing and other relational conflicts that are possible when two independent apps are making state-dependendent, one-way changes to the same data set.

    Now, dynamic filtering a large master database (multiple gigs) to support syncing a dataset suitable for a small mobile device (~50MB) — that’s a much more difficult challenge.

    Or syncing with somebody else’s data set whose schema doesn’t match your own (like Apple’s soon-to-be-gone Sync Services) — that’s painful.

    Best of luck with your new sync solution.

  41. Mattias Thurfjell Dec 21, 2010

    Great post! Many thanks!

    These words stood out, though, to us who have been waiting for a few years:

    “The final release of cloud sync as part of Things is still off by a few months.”

    Guess another few months is doable.

  42. Hennie Bouwe Dec 21, 2010

    Awesome. Make it happen!

  43. Graham Berks Dec 21, 2010

    This is just over complicating it all ! i’ve had no issues with the cloud sync systems i have in place already !

    Just release a basic one and then make it better. I’ve stopped using Things for over a year now.

  44. Big C Dec 21, 2010

    Cool. As long I can use my own web-space (as a ftp-server/cloud), this would be a great deal. If I have to use a third party cloud solution (e.g. mobileme, dropbox or cc-server), I’d rather prefer the actual way, which works perfect for me.

  45. Jaswah Dec 21, 2010

    Reading this certainly gives me a renewed faith in CC. I <3 Things but it was getting me down that this wouldn't ever be a priority.
    Good luck!

  46. benr Dec 22, 2010

    I was in the alpha testing group, and planned to buy Things 1.0 on release as a vote of confidence in a seemingly well-focused young company.

    I emailed to confirm that sync was on the horizon. This was the reply I received on 10/15/2008 :

    “Needless to say that we gonna implement multiple Mac syncing with MobileMe – and maybe also without it. The release of Things 1.0 is scheduled for January 2009 and we hope to be able to include multiple Mac syncing. But I can’t guarantee this. We might be forced to delay this to a free 1.x update.”

    Twenty-six months later, and we get a “we’ve given the problem a lot of thought” post. I don’t care how perfect your solution *will* be, you should have shipped something.

  47. Pat Dryburgh Dec 22, 2010

    WOOT! FREE WALLPAPER!

  48. George André Dec 22, 2010

    I think a more iterative approach would actually have been better in this case. Deploying first version that could handle X users, then deploying a second version handling 10X users, and so forth…

    In this day and age wait of 2+ years for a feature deployment is basically self-destructing.

  49. Dan Dec 22, 2010

    Sorry guys, amazing software that I couldn’t stop talking about when it came out for the iPhone, but I had to move on.

    Not having my iPhone, Mac and iPad synced (which basically all software does these days) made Things utterly unusable.

    We needed syncing, not a blog mini-series about the road to sync, 2 years later.

    Hope you get this sorted while you still have most of your users left.

  50. frapé Dec 22, 2010

    …perhaps you should focus on things being done about the software we all bought for a lot of money than creating wallpapers for our devices!!!

  51. Bob Jansen Dec 22, 2010

    Guys, get a book on agile.

    Instead of not only not being communicating about this you’re also trying to nail this problem for such a long time, that probably the solution will not much the average user. Not only that, but problems will arise and you’re sketching way too big expectations right now.

    Other things (hah) aside, I love the application but I’ve been actively looking for other solutions. I remember the time when I recommended it to everybody, but I haven’t done it in a long time exactly because of these kind of things.

    I’ve set up my own solution through dropbox and I have no problems. Yes all kinds of problems could arise, but scratching the itch of syncing was my first priority. Guess with quite a tech savvy userbase, that could have been a good approach for you guys too. That at least could have given me the feel of progress. This feels like you guys hired a PR agency to write this stuff to at least get ‘some’ word out by the end of the year.

    Too bad I wasted so much money on this company.

  52. complexodus Dec 22, 2010

    I hope I don’t have to pay monthly for this. I already pay for MobileMe, which (since you’re mac only) should be an option for people. I’ve bit the bullet and spent the $200+ on Omnifocus. I suggest having multiple options for syncing and not just “your” solution, except of course, if it’s free.

  53. Adrian Dec 22, 2010

    I’ll be interested to know how this is going to work in reality:

    ie, will it be mobileme, dropbox, webdav based or will it rely on a cultured code powered server?

    and if it is cc server based, how much will it cost?

    having already paid for 3 versions of your software, the concept of having to pay an ongoing subscription to fully utilise the programs is a bit disheartening.

  54. Zak Dec 22, 2010

    Thanks for this post, Jürgen. CC’s dedication to details is the reason I stick with you. I look forward to hearing more about the journey on the road to amazing cloud syncing!

  55. super-heated samovar Dec 22, 2010

    Well, I am hopeful – but I wish you guys would hurry up.

  56. Per Wiklander Dec 22, 2010

    @Björn: Duke Nukem Forever actually has a release date now :-)

    On a more serious note, I love the idea of cloud sync! Please consider a public web API so that I can add tasks from any other app or piece of code as well. As bare minimum I would like a single method like addTask(taskTitle, taskNotes) that would place the new task in my inbox. Of course a more fine grained API would be best, even with call backs on task updates. I’m thinking of integration with 3rd party tools here, like Basecamp, Trac, Redmine and other task/ticket trackers. Don’t bother creating something for each one of them (since there will always be new ones) but make something that we in the community can integrate with.

  57. Josh Bryant Dec 22, 2010

    Some harsh critics and angry (read: passionate) users here.

    But in reality, my guess is CC has been in the software business to know the truth that users are fickle, and will come running back with open arms as soon as the solution is done … in fact many of them would even pay for it.

    People go where the best product is, and people can complain as loudly as they want that they’ve moved on to greener pastures. But when CC makes Things the greenest grass again, everyone will come back to feed.

  58. John Dec 22, 2010

    After reading the blog post and the comments, I want to say that I truly appreciate cc’s determination and commitment to deliver a complete solution to their product. I know that some users are in outrage of waiting this long and want a solution released right away, whatever form that might be. However, I think that this will go against what CC has stood for and why so many people liked “Things” from the beginning. People will be more disappointed and discouraged from using “Things” if CC released an incomplete solution to syncing that causes frustration for its users. I think thats what CC has been trying to avoid. Therefore, I want to say thank you and I will be patiently waiting for its release! =)

  59. W. Andrew Loe III Dec 22, 2010

    Seems like a problem pretty well addressed by CouchDB.

    “CouchDB also offers incremental replication with bi-directional conflict detection and resolution.”

  60. sjerwin Dec 22, 2010

    Stop drinking the kool-aid people! Run, don’t walk to the nearest alternative.

  61. John Dec 22, 2010

    I will also be using the wallpapers on all my devices until we get syncing! =)

  62. Brian Dec 22, 2010

    @jurgen by a few months, do you mean QTR1 2011 or more likely QTR2?

    Look forward to the final solution which will be a great addition to an already impressive product.

  63. Michael moncur Dec 22, 2010

    This is an interesting look at how “glacial” progress worked in the old days of desktop computer development.

    But this isn’t the old days anymore. We’re dealing with mobile and the web, where things move much faster.

    Look how much Apple has changed the iPhone (and introduced the iPad) in these two years. Look at all of the other small shops who have developed entirely new apps (with cloud sync) during that time.

    All that said, sometimes programming really does take that long, and it sounds like you’re doing it right, and I respect that.

    But we also live in a whole new world of communication, and waiting this long to hear it will be ready “in a few months” is ridiculous. You’ve really squandered the goodwill you had with customers like me, who have spent over $100 on your products–far more than for a simple iphone app.

    The amazing thing about Things is that despite these comments I’m still using it. I’ve bought and switched to six different apps in these two years, and came back once again to Things. There’s still nothing better. I’m glad to hear SOMETHING from you, and this gives me some hope. But I’m not holding my breath…

  64. Rob1 Dec 22, 2010

    Regular communication from CC? Now that’s a killer new feature!

    “But we plan to publish more details about what we are doing (and have been doing) every few weeks.”

  65. Cesar Figueroa Dec 22, 2010

    Amazing, thanks for the update on this. Best of luck and looking forward to reading the future parts for “State of Sync”.

  66. Kevin van Zonneveld Dec 22, 2010

    I can understand if you don’t want to rely on a 3rd party (Dropbox, though it would have been perfect for me)

    But any reason why you couldn’t use CouchDB?
    As far as I can tell they already nail syncing and it can be embedded in pretty much anything, so users would only deal with Cultured Code.

    They hand hand over conflict resolution to the app. But if you’d take the 2 years from not having to nail syncing, and spend 2 months of that on a tight conflict-resolution UI, wouldn’t you be golden? (and have another 22 months in the Bahamas?)

    But whatever solution you come up with, please make it cross platform.

    Cause the reason I may be abandoning Things is that I have no way of managing my todo on my Ubuntu machines (@work). And it is becoming a pain. I mean I’d be happy to pay e.g. another $20 to make this happen.

  67. Nathan Dec 22, 2010

    Nice work. I appreciate you sharing what’s going on. Thanks for always pushing to make your software better. That’s what keeps me with you guys.

    Sorry about all the other negative posts. People are just so darn impatient these days. I’d rather have it done right then fast!

    Keep up the good work! Have a blessed Christmas!

  68. Policarpo Dec 22, 2010

    “If you ain’t got Haters in your life you’re doing something wrong.”

    - Kat Williams

  69. Geddesign Dec 22, 2010

    Glacier smacier, I like my metaphor better:

    Dear Suzy,
    I’m sorry I didn’t make it last year or the year before, but flying a sleigh is quite a difficult task you see. Sure, stores like Amazon already have the delivery thing figured out, but its different when you fly all over the world and work with reindeer and elves. So no, there won’t be any presents for you under the tree this Christmas, but don’t you worry I’ve made you something wonderful! I’ll see if I can deliver it this spring sometime. In the meantime I’ll be sending you letters explaining why I keep letting you down. Ho ho ho, at least you’re not on the naughty list my dear!

    Love, Santa

    You’re stalling, but that’s the right move now that you’ve got yourself into this position. Thanks for communicating at least. As far as sync goes, the problem is your ‘database’ is an XML document. You’re relying on something Microsoft came up with, no wonder! Have you looked at CouchDB? It’s object-based storage and has automatic continuous replication (sync) built in.

    Well good luck and Merry Christmas!

  70. Kadir Dec 22, 2010

    I’m guessing that you are no stranger to Spolskys earlier writings. One of his best is about rewriting software while the customer has to get by with the old product. You guys screwed this thing up, 2+ years for OTA sync? Yes, it’s hard, but it’s a solved problem for the most part. And even a not so great solution would have been greatly appreciated by your customers.

    And btw: I guess you won’t have to worry about millions of customers if this takes another 12 to 24 month.

  71. Alec Sloman Dec 22, 2010

    These comments about losing customers should be water off your back. Things is the best app for To-Do, hands down. And all this nonsense about how you should have used DropBox must have been said by non-developers. Once cloud sync is deployed, they will be back. And when people are saying this is a marketing ploy, they couldn’t be more off base. I get what you are saying… You wanted a solution that was worthy of your customers. What they don’t get is that They do also.

  72. goldencrisp87 Dec 22, 2010

    Re: The general nature of your solution
    Does this mean that CC will become a cloud sync company, licensing this sync solution to other companies?

  73. GettinItDone Dec 22, 2010

    Great to hear from CC. Things does a fabulous job keeping my head above water with all the projects and actions I have to manage in my world. The OTA will be frosting on an already delicious cake.

  74. Jeff Dec 22, 2010

    instead of creating fancy wallpapers … fire the designer and replace him with a developer who can help you ship this feature a year a go.

  75. Charles Dec 22, 2010

    Thank you for posting on a topic that is really important to a lot of your users. As a developer for a large company, I understand what it is like to need to scale for tens of thousands of requests / min. I also know that two years is a long time to implement a sync solution. I’ll be interested to know what else has contributed to the glacial pace; I’m sure it wasn’t just sync business logic, high availability, and scaling.

  76. Ulf Dec 22, 2010

    Nice to hear that finally something happens in this very direction.

    But, as many other commenters already mentioned, I could just hope that you won’t charge for this service or if you do it shouldn’t be more than a one-time fee. Paying on a subscription base would definitely drive me away from Things as this would become much too expensive for a GTD app.

    Besides this, rock on. I am really looking forward to finally sync without Dropbox and the hassle to take care if I forgot to shutdown another instance on another Mac before switching on the next one.

  77. jakeg Dec 22, 2010

    I feel like I got a free class on ‘ota syncing’. Very kind, but you can skip the classes if ota sync gets here quicker.

  78. Rick Stawarz Dec 22, 2010

    Great State of the Union, Jürgen. I look forward to the additional parts.

    Each time I think about leaving Things and check out other software, I feel like Goldilocks. Other software is either too feature-bloated or too simplistic. Things is just right, and it’s why I love it.

  79. Bryon Dec 22, 2010

    I hope cloud syncing doesn’t cost any extra. There are so many free / basic cloud services out there I don’t think a pay-for-sync would be worth it to me.

    I also hope this means the Things app itself will get more attention in the future in regards to performance…

  80. Josh Dec 22, 2010

    “Not having my iPhone, Mac and iPad synced (which basically all software does these days) made Things utterly unusable.

    We needed syncing, not a blog mini-series about the road to sync, 2 years later.”

    I agree completely. I really wish you had just built a basic solution and improved it over time!

  81. Mr. Squid Dec 22, 2010

    Congrats on the cloud sync progress. Hopefully within the next two years you’ll actually release it and then your remaining customers will have a wonderful sync solution. As for me, I’ve moved on. Sorry guys.

  82. Fictorial Dec 22, 2010

    Are you guys using NodeRed?

  83. Jeff Dec 22, 2010

    Any comments? Sounds like a great product. I am looking for a task manager. Unfort through work we have PCs and blackberry (which I like). Is this product worth owning as an iPad only tool? Thoughts?

  84. Justin Dec 22, 2010

    This couldn’t have come at a better time. I’ve been a user of Things from before I even had an iPod touch, and cloud sync has been the only thing preventing me from fully appreciated Things. I had just recently begun to consider a switch to OmniFocus (yeah, I know…) just because of the cloud sync, but decided the cost (for Mac, iPod touch and iPad versions!) was just too high. Knowing you’re this close confirms my decision.

    Keep up the good work, and if you need a spare beta tester, PLEASE let me know. ;)

  85. wisher Dec 22, 2010

    I wish Apple would buy this software and make it work right.

  86. Andrew Dec 22, 2010

    Hi, what about an expected date or time frame? As a technology company you mist have sone sort of projected time scale. What is it?

  87. Gabriel Dec 22, 2010

    Wow guys, a lot of venom going on here.

    I think the hater’s can do with a little perspective: You have a rock-solid Mac, iPhone and iPad app that all have perfect local sync. Internet sync is a nice feature, but I really don’t see it being a deal breaker here.

    Take a look at the trainwreck of The Hit List. Its developer has been incommunicado for over a year, refuses to refund unhappy users for a prepaid (and still in) beta app, makes – and then subsequently breaks – promises about an iPhone app, and has people leaving in droves for other more mature task management apps, like Things.

    Syncing is one of the most difficult programming tasks to get right. When you’re trying to do it at scale, it’s an order of magnitude more complex.

    Chill out, relax, enjoy the Holidays, and see if there’s anything in your ‘Someday’ list that you can do that you’ve been putting off :)

  88. Seahorse Dec 22, 2010

    I suspect I’m not the only one here who would be pleased to test a beta release.

  89. Dirk Dec 22, 2010

    thanks for sharing. Good to know what happens.

  90. Jason Dec 22, 2010

    Please do a lot of testing that order of items is fully preserved. It’s not preserved today under WiFi sync, for me at least. My phone ordering is just a random jumble of the laptop ordering. Makes even WiFi sync unusable.

  91. David G. Dec 22, 2010

    I want to believe… in Things.

  92. Andrew Davies Dec 22, 2010

    As picked up in a couple of the comments – the sync’ing algorithms etc seem to work just fine over WiFi. Sure there must be a good reason, but why do they need to be re-invented?

    Using Things is v.v.v.v. difficult across three devices. In fact – it’s laughable

  93. GK Dec 22, 2010

    I’ve got two little thoughts on this topic.

    1. Other people have grown entire todo applications with iPhone/iPad/Web interfaces and cloud syncing from 0, while you only investigated this feature. It’s two years, man!

    2. I think people (or at least me) don’t need the perfect solution. Simply identifying todo items by their own uniqe ID and keeping the last change would do it. No need for sophisticated 2-years-for-developing-it sync algorythms. It’s like you are developing a self-driven car with automatic route-tracking etc, but people only need a bus, to get from A to B.

  94. Jürgen Dec 22, 2010

    @GK: No they don’t need a bus, but a pushcart isn’t doing it either.

  95. Jeff Simons Dec 22, 2010

    Thanks Jürgen! A very heartfelt and honest post on the sync progress.

    Being an early (and hardcore) user of Things on the Mac and iPhone I can attest to the disgruntlement and frustration of the people who have posted before me. Two years is long overdue and despite your effort a little transparency earlier down the road wouldn’t have hurt.

    However, I am totally baffled by the fact that despite the entire blogpost, people keep suggesting the use of Dropbox or anything else for that matter. Seriously people? Dropbox? Have you read the complexity of the merge problems in the post? Did you even _read_ the post? A program as ‘simple’ as Dropbox simply isn’t an option when you face merging problems that complex.

    I appreciate your hard work, CC. I sincerely hope you can introduce Syncing a little sooner then ‘in a few months’ and am looking forward to all the awesome things to come. Good luck!

  96. Albert Dec 22, 2010

    The software is not expensive. I like it and it is a good price. I agree no subscription that is not cool. Looking forward to sync

  97. Carniphage Dec 22, 2010

    The sync problem is most easily tackled by using time-coded changes (deltas). Just create a log of user database changes on all devices.

    To sync – reset the databases to their last identical state – and then perform the changes in chronological order. It really isn’t that tough.

    As for cloud services, please use Dropbox like everyone else.

    I am really astonished this has taken so long, and that a working solution is so far away.

    C.

  98. Jürgen Dec 22, 2010

    @Carniphage: Wrong. There are sync scenarios where using time-codes will result in messing up object relationships big time.

  99. Arndt Dec 22, 2010

    In retrospect, I’d say it was a mistake that I bought Things for iPhone and iPad. I am almost not using them due to the sync ramifications.

    But I still love Things on my Mac, I like it a lot, use it daily, and then it does not matter that it doesn’t “cloud sync” yet.

    So my complaints boil down to the money wasted on the iPhone and iPad versions which are effectively useless. (And perhaps the disappointment involved.)

    I doubt you want to offer your existing iPhone and iPad customers a refund of their money, but please don’t even think about charging them again for the upcoming sync feature!

  100. Peter Brülls Dec 22, 2010

    I really, really don’t get the cost issue. People, cloud services cost money. Bandwith doesn’t grow on trees.

    Just look at Dropbox – the only reason why we enjoy our 2 GB of “free” syncable data is because it’s paid for by the paying customers.

    Same with evernote and the Milk-thingie.

    That said: Guys, get it going. I use crontab and Dropbox to “sync” to different machines and I can live with my iPhone and iPad being out of sync during a two day trip or so, but it *is* time for you to go ahead.

    I can understand any new customer looking at this post and saying “Oh well, I’ll guess I’ll buy X or Y instead and I *might* come back in a year too look.”

  101. sinistrum Dec 22, 2010

    I want to believe…

    So you do understand our frustration. Looking forward to it.

  102. Markus Dec 22, 2010

    Thanks for this information but this is very disappointing that we have to wait more month. And we’re waiting for other features since month (e.g) working with the people feature on an iPad.

  103. Greg Dec 22, 2010

    I emailed you guys probably a month ago asking when it would happen and was pleased to get a response even though it was to simply say you don’t communicate your time frames.

    I’m glad you are now.

    The wifi sync annoys me greatly but was hoping you’d announce cloud sync in January.

    If you could make some changes to the iPad and iPhone version so I can click a sync button when I’ve done an update that would help me persevere but at the moment I have t quick and start again.

    I want to stay with Things and I reckon I will last until March 31 after that I think I have to bite the bullet and buy your expensive competitor’s product because the wifi sync is excruciating.

  104. checkyoulater Dec 22, 2010

    “The final release of cloud sync as part of Things is still off by a few months. But we plan to publish more details about what we are doing (and have been doing) every few weeks.”

    You have to feel bad for the many faithful followers who have stuck with you for all this time in spite of your inability to do something like this sooner. As far as I can tell reviews from all over the net have been blasting you guys for not having cloud sync, and yet not an official word from you guys all that time.

    I have had the good fortune of not having to wait that long for this feature, because in spite of your lack of a seemingly major feature, your interface generally saves the day, it just works that good.

    A word of advice though, you are not Apple and you don’t have Steve to help introduce a long overdue feature and make it seem like the greatest thing since sliced bread. So don’t spend too much time on your blog posts detailing your adventures trying to get could syncing to work and please get this thing done.

  105. Karel Dec 22, 2010

    Thanks for the insight, Jürgen. Looking forward to read more of this.

    Keep up the good work

  106. Zorglub Dec 22, 2010

    Thanks for these news.
    As others said, take the time you need to make it work rightly, but please, do not ask more money for it : having paid Things for 3 different devices is enough.
    Good luck in your projects !

  107. Kevin Waldron Dec 22, 2010

    By all means give us progress on Cloud but thanks for a simple program that already works and helps me focus on getting sh$% done, which was the only reason I bought the program and continue to use it.

    Death to feature creep!!

  108. Craig Dec 22, 2010

    Please, it’s been well over a year and it’s still months away?! I totally give up on you.

  109. jst Dec 22, 2010

    Finally, I can hardly believe I’m reading this. 2 years to get this going? WOW.

  110. Leonard Burtscher Dec 22, 2010

    Very glad to read this update! Good luck with the coding of your cloud syncing solution, I can’t wait to see it…
    Happy holidays!

  111. Jonathan Dec 22, 2010

    Wow, what a load of pretention. I really hope you guys are about to release something that will blow everybody’s mind, because you really kind of have to at this point. While you’ve been gazing down at your navels, the rest of the world has been syncing just fine.

    Whatever you end up doing, I’m quite sure it would’ve worked just fine if you’d implemented it on top of existing cloud infrastructure.

    If the state of sync is so bad, why were you content to leave us with your sync solution for so long? The truth is, your sync solution works just fine, it would just be nice if it could be done over the network using a server as one of the “devices”. You could’ve implemented that a LONG time ago, and everybody would’ve been happy. Now that you’ve taken so long, I suspect that nobody is going to be as happy about what you’ve come up with as you are.

    Advice: deploy something that works, and THEN draw up the wall paper. Enough of the “It’s Coming…” marketing. You need to move your dial back to “substance” from “style”.

  112. Jürgen Dec 22, 2010

    @Jonathan, @Jeff: I believe that everything that can be done at all, can be done with a little bit of humor and style. Don’t worry, our designer only took an afternoon to create the illustration – no need to “fire him” ;).

  113. Mike Pictor Dec 22, 2010

    Finally.

    This is the stumbling point before I even consider buying the iPad app. Having 2 copies of Things is useless to me until you give me a sync.

  114. edward Dec 22, 2010

    Thanks for the info and I’m looking forward to hearing more. Things is awesome and it works well for me on my iMac and iPhone.

    More power, flexibility and sophisticated syncing is nice, but it is not a deal breaker for me. Guess it’s because those of us who worked with dial up connections on modems are a little more patient and don’t get our undies in a wad as easily.

  115. Loris Dec 22, 2010

    Seriously, add support for Dropbox (and a file-oriented databases), it takes like 2 days to implement and you guys get flawless cloud syncing.

  116. Jürgen Dec 22, 2010

    @Loris: I couldn’t disagree more.

  117. Jamie Dec 22, 2010

    I don’t buy software based on features the developer promises it will have in the future, I buy based on whether it meets my needs today. Things has always done that, I’ve been a happy customer since day one, and while if development had completely stopped over the last two years I may have gone looking at other options, but many releases and improvements have come down the wire in that time. I look forward to cloud sync, but can wait till it comes.

  118. sjerwin Dec 22, 2010

    Simple question… will Cloud Sync be free, or will it require a paid subscription or paid upgrade? Let us know now so we can decide if waiting makes sense.

  119. Joel Dec 22, 2010

    Thanks for at least saying something about your OTA solution in progress and where it’s at. I’ll be using other software to manage my to-do’s until this arrives – unless you’re able to implement a stop-gap (Dropbox etc) setup in the meantime.

    Even if it’s imperfect, it would be infinitely more useful than what I currently have.

  120. deadprogrammer Dec 22, 2010

    Ugh

  121. Steven Wei Dec 22, 2010

    Offline syncing is tough, but it’s hardly an unsolved problem in the world of software. It’s not even an unsolved problem in the world of iPhone/iPad/Mac task managers.

    I’m not a Things user anymore, but I’m a bit surprised that after two years the only response is “it’s really hard” and the actual feature is still months away.

    There are two major mistakes here:

    1) “We have created and deployed both server and client-side sync components. Both components are completely general and can be used for any application. They have been successfully tested using a special demo program. We are now in the process of integrating this technology into Things.”

    This smacks of massive over-engineering to me. Cloud syncing is one of those problems where the type of data you are syncing significantly affects how you approach the problem. In my experience, generalized components are not very useful here, since you need to custom tailor the sync based on your specific use case anyway.

    I would be surprised if they didn’t run into problems mapping their generalized solution to their specific use case. And since there is only one use case to support in the first place, it won’t have accomplished much except wasting a bunch of time (that could have been better spent building the sync into the actual app).

    2) “Finally, we must consider scalability. Creating a solution for a few thousand users is one thing – creating a solution for millions of users is a different beast entirely.”

    Are there actually a million users to support? I doubt it, because if so, they would have several million dollars to throw at the problem. This certainly seems like a case of premature optimization to me.

    Judging by the comments here (and elsewhere), in the amount of time that has been spent trying to build a perfect, scalable sync framework, they’ve hemorrhaged a vast portion of their customer base to other apps.

  122. Jürgen Dec 22, 2010

    @Steven Wei: Going into the traps of over-engineering is indeed a danger. We’ve came close to making this mistake. We have now separated our code into a general and a schema-specific part. The specific part goes into the client while the server part is general (see upcoming posts).

  123. Andy Staab Dec 23, 2010

    I paid for the pre-release app at a discount, so my pain is perhaps less than others. I write code for a living, so I understand the challenges. There is no excuse for lack of communication. But that’s water under the bridge by now.

    My perception is that CC has felt the pressure to say “something” and this is the “news” they came up with. It’s better than nothing, maybe? When my small company needs something done and doesn’t have the skill in-house, we contract out for it. That’d be my recommendation.

    CC appears to be a very small operation having been unable to deal with its success. I do regret funding CC with my purchase. Yes, the offering at Omni Group is expensive and has a learning curve, but at least I know there are resources there to ensure their apps will evolve. I have the same feeling about Panic’s apps. Omni Group and Panic totally understand customer communications and doing whatever it takes to offer quality products.

  124. Jürgen Dec 23, 2010

    @Andy Staab: We did try contracting out.

  125. Peter Dec 23, 2010

    To all of you who states that “cloud sync” is a solved problem:

    Why “Cloud Sync” Will Never Work
    http://blog.gnu-designs.com/why-cloud-sync-will-never-work

    (Yes, it’s more than a year old – is it solved since? Besides by CC …? :-))

  126. Ernie Dec 23, 2010

    After two years and a handful of ‘Things quitters’ you still have a healthy following. Shows that great software attracts great users. More than glad to hear OTA sync is in the works. Can finally purchase the iPad version.

  127. Tim Dec 23, 2010

    Another “few months” until the final release of something as common and usual as cloud sync?! C’mon! Why don’t you just begin with a copycat of an algorithm of one of your competitor’s apps and then fine tune what ever you have to fine tune after that?! “Remember the Milk” e.g. seems to sync just fine – even with merges and conflicts and all that…

    To be honest, that blog post (or more precisely its core message) is rather disappointing to me. :-(

  128. Darren Dec 23, 2010

    Thanks Jürgen. As the originator of the “glacial” term I’m flattered to be part of your inspiration :-). Your explanation of the complexities of syncing is an eye-opener. As a passionate lover of your product I wish you God speed on this project. And please, for the love of God, could you move full steam ahead on this one.

    Merry Christmas and thanks for keeping us all informed and for such a wonderful product, one that I recommend to people on a daily basis.

  129. Brian Dec 23, 2010

    Two years and still a few months left for this “perfect solution”?! I’m not sure how it works but cloud synching better blow me for the amount of time it’s taken. Empty promises.

  130. Jürgen Dec 23, 2010

    Thanks Darren for chiming in :). “Full steam” it is (even though it might seem different from the outside).

  131. Nicolas Dec 23, 2010

    Hi Jürgen, thanks for shedding some light on this. Having dealt with many of your competitions´ OTA sync solutions and always ended up coming back to Things because that my love for what it does is a lot bigger than my annoyance for what it lacks, I know that most of the solutions out there are not by any means perfect, they are rather slow and error prone.
    If the stuff you have been working on in your secret CC-batcave in Stuttgart is as good as one could hope, it will be worth all the wait.

    Merry christmas to you all at CC and I hope we will all have a very happy 2011 :)

  132. GettinItDone Dec 23, 2010

    Merry Christmas to the people at CC. Enjoy a well-deserved break.

  133. Lee Joramo Dec 23, 2010

    I can’t believe how many people think syncing is easy.

    And I am amazed to read many responses from people who seem aware of the general technical issues who think this is easy.

    I really like Dropbox. I have it on my MacBooks, iPhone and on a number of remote linux web servers. It is really great for distributing document files. However, I don’t point live Postgresql database files to a Dropbox folder. And I certainly don’t expect Postgresql servers running on different servers to access the same database files simultaneously via Dropbox.

    Still think this sync stuff is easy? Go to Culture Code’s Status page:

    http://culturedcode.com/status/

    Scroll down to “Teamwork” and read:

    “Teamwork: Functionality to improve delegating tasks to a teammate. Will be based on our cloud sync solution.”

    So syncing between multiple devices that may or may not have network access, and implementing a multi-user & group workflow with appropriate security permissions served from a multi-server and multi-data center environment designed to scale to millions of users, and presumably designed not to be a one-time hack but capable of being upgraded over time?

    Yeah that sounds easy.

    There is a reason that Microsoft’s Exchange Server is so entrenched, and well funded efforts such as Project Chandler run into difficulties.

    Syncing is Hard.

  134. iCoco Dec 23, 2010

    There is a second feature that CC has been promising for more than two years and not delivered up to date: Recurring tasks, implemented right within Things Touch. Sounds a lot easier to realise than cloud sync, and other products include this for quite some time. Any news on this ?

    Apart from that question: thank you for communicating again with your customers, after the long period of silence.

  135. WaitAndSee Dec 23, 2010

    Customers don’t want to hear about how difficult it is to do something. They don’t understand the technical barriers, and don’t care. That’s what the engineers are for. I’m not sure what the point of this blog post is.

  136. Jürgen Dec 23, 2010

    @WaitAndSee: Maybe true for some. But many, many customers have been writing us asking for a state of sync article. This blog post is for them.

  137. Andrew Dec 23, 2010

    Thanks for the update, Jurgen.

    Cultured Code is (justifiably) well known for elegantly engineered products, and I’m excited to see how you have tackled the challenge of could sync.

    On the flip side, though, CC is also rather well known for hefty price tags, and I’m hoping this (long-awaited) sync isn’t the next gulp in the succession.

    Merry Christmas to all at CC.

  138. Coppi Dec 23, 2010

    Any news on repeating task for Things Touch?

  139. Brian Hite Dec 23, 2010

    Can’t wait! Just got a second Mac today as an early Christmas present! (MacBook Air to take to classes in college) I’m thrilled I’ll be able to sync my iPhone and two Macs seamlessly! And when that iPad 2 comes out, I’ll be syncing it as well!

  140. Al Dec 23, 2010

    Thank you for some great communication and context!

  141. icoco Dec 23, 2010

    Hello Jürgen, no news on recurring tasks … ?

  142. Mendriosa Dec 23, 2010

    I have been asking for a state of sync article.

    It’s disappointing, to say the least.

  143. Ed Dec 23, 2010

    OMG stop re-inventing the wheel and use Dropbox!!

  144. Werner Dec 24, 2010

    @iCoco, @Coppi: We have already sent out two beta versions of repeating tasks on TT/TiP to our testers. There will be a third beta soon, the final release is planned for early January.

  145. Lucas Weeks Dec 24, 2010

    I have paid for the mac os x app and the iphone app. I sure hope that the cloud syncing feature is a free update.

  146. M. Wireman Dec 24, 2010

    I’m worried your sync solution will push advance components (@Lee Joramo) more and more and start a cascade of features and options that confuse me.

    I like Things for its simplicity. Don’t let a new startup take your place while you try to take someone else’s … stay true to your original vision and implement new features in a steady and timely way.

  147. TJ Dec 24, 2010

    Wow. I guess you can’t please everyone all of the time.

    I am happy to ‘know’ what is going on with cloud sync and CC in general. I DO care about how difficult something is and technical barriers. knowing means i can make a better decision around the issue and i can decide whether or not i ‘believe’ CC’s claims about the difficulty.

    If I don’t believe, then i look to someone else.

    I happen to believe, so this post has helped me understand WHY it took two years and why it will take a little longer. Knowing that, I can stop speculating about why relatively few major updates have come out of CC in the last 2 years. I was really getting antsy about how quiet CC was. Now I, at the very least, have a sense that something is coming pretty soon.

  148. Maac Zhou Dec 24, 2010

    You guys did the right thing. The updates of this blog can save you guys. I l love Things for all 3 versions. So, great news, good job. Can’t wait!

  149. iCoco Dec 24, 2010

    Thank you, Werner, for giving us that additional piece of information about recurring tasks here. i am looking forward to switching back from the competitors product to Things, which I do like most of all because of its simplicity and intuitive ways. The only two reasons why I did choose to switch over a while ago were missing recurring tasks in the mobile version, plus that missing communication issue. glad to hear these positive news now. I wish you all the best, plus a merry christmas!

  150. Jason Moore Dec 24, 2010

    Jurgen and team: keep at it. Things is the best to-do app on the market, we’ll take this ride with you. Thanks for the update.

  151. n8dogg Dec 24, 2010

    @M. Wireman

    Look at how many features were added over the past couple years… I don’t have any concerns whatsoever about feature bloat. There is absolutely nothing on the “status board” or in CC’s history to make the least bit worried about bloat.

  152. Zippy Dec 24, 2010

    My fear, after all this waiting, is Cultured Code will charge for Sync.

    If they do, it’ll be the end of them.

  153. Paul P Dec 24, 2010

    Thanks for the update – Looking forward more than you know to seeing the cloud sync solution!

  154. Simon Dec 24, 2010

    I was close to shifting wholesale to the land of Omni, but this post has stayed Things execution until the Spring. Keep at it guys!

  155. sjerwin Dec 24, 2010

    CC has been diligent in responding to questions on this blog post, with the exception of one… Will the upcoming sync upgrade be at a cost, either by upgrade or service charge? Why can’t this straightforward question be answered?

  156. Mattias Thurfjell Dec 24, 2010

    @Zippy: The simple fact that CC have not commented neither on forum posts, nor on comments on this blog post on that very subject, makes it reasonably clear that they will charge.

    Please, CC, can’t you just say if you will or will not charge for cloud sync (even though you have previously said you will not)?

  157. TJ Dec 24, 2010

    why would it be the end of them? If it was equal to the free alternatives, sure, i can see that, but if it was a service other apps could build upon then that would be fine.

  158. Nicolas Dec 25, 2010

    @Zippy – no it won’t. I’m prepared to pay big amount for a good sync solution for Things, and I’m sure many others are prepared for that as well.

  159. Sandro Dec 25, 2010

    Yes, I’m a big fan of Things, but not having the cloud solution is very frustrating. I’m constantly on the verge of forgetting about Things and run with another solution (that would be inferior to Things). In the world that I know, we are all committed to dates and have to deliver on time. That you guys do not announce WHEN your cloud solution is ready is even more frustrating.

  160. Mattias Thurfjell Dec 25, 2010

    TJ wrote: “If it was equal to the free alternatives, sure, i can see that, but if it was a service other apps could build upon then that would be fine.”

    If third parties are able to either license CCs cloud solution for their own products, and/or integrate Things sync services with their own products, CC will have either an alternative source of revenue, and/or something that drives new adoption of Things. I see no reason for CC to charge extra for their “cloud solution” – whatever it will be, it’s an added service for Things, not a standalone product.

  161. Mattias Thurfjell Dec 25, 2010

    That’s beside the fact that CC have repeatedly said that cloud sync will be part of 1.x updates, so free of extra charge.

  162. Jürgen Dec 25, 2010

    @many: We didn’t announce anything regarding possible costs because we don’t have the necessary data yet. We will be doing a large scale test with real Things data to estimate server and bandwidth costs . A decision will be made later based on that information.

  163. Callum Masson Dec 26, 2010

    My fear is that you are going to provide a pay for service, which I’m afraid will drive at least me elsewhere.

    Many users of this type of software already pay for services and reusing these (Dropbox, Servers et al) monthly fees is really going to be the modern way