Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MacRumors

macrumors bot
Original poster
Apr 12, 2001
67,782
38,371


Cultured Code today announced that it has overhauled the cloud backend of the popular task management app Things 3 using Apple's Swift programming language, with the new system now live across all users' devices.

swift-things-3-cultured-code.jpg

Cultured Code explained that the transition to the new Swift-based infrastructure occurred seamlessly and without any disruption to users. Although the app's behavior remains unchanged on the surface, the underlying service that synchronizes to-do lists across the iPhone, iPad, Mac, Apple Watch, and Apple Vision Pro has been rewritten entirely using Swift and deployed in production for over a year.

The legacy system was originally built using Python 2 and Google App Engine, and had served as the foundation for Things Cloud for more than a decade. While the original synchronization algorithms remain intact and are based on a mathematical model capable of resolving offline edits and conflicts, the aging technology stack was increasingly seen as a barrier to future development. According to Cultured Code, challenges included rising infrastructure costs, slow response times, and the risks associated with dynamic typing in Python.

Apple introduced Swift in 2014; it has since been widely adopted for iOS and macOS app development, but has seen limited uptake in server environments. Cultured Code began experimenting with Swift on the server in 2021, initially rewriting isolated components before committing to a full-scale rebuild.

To ensure a seamless migration, the new Swift system was initially run in parallel with the legacy system, receiving and processing the same data but without taking over user-facing operations. This dual-processing arrangement allowed engineers to validate the new implementation under production-like conditions. Once the team was satisfied with the accuracy and performance of the Swift backend, they transitioned all users to the new system in early 2024.

Cultured Code reports that the new system has achieved significant performance improvements. Traffic peaks of up to 500 requests per second are now handled by a Kubernetes cluster consisting of four nodes, each with two virtual CPUs and 8GB of RAM. This setup has led to a more than threefold reduction in compute costs compared to the legacy system. Synchronization response times have also improved substantially, and the new architecture delivers a fourfold increase in sync request processing speed.

Things has won two Apple design awards. The app is highly regarded for its design consistency and reliable syncing experience across the Apple ecosystem. Read more about the change in Cultured Code's full blog post or its post on Apple's Swift.org blog.

Article Link: Apple's Swift Powers the New Things 3 Cloud System
 
  • Wow
Reactions: gusmula
Things will always hold a special place in my heart. It's one of the most beautifully designed apps in the Apple ecosystem, and set a standard for what great apps should look. I really want to use Things, but the lack of really basic features (like attachments) in 2025 is a shame.
 
Things is great. This rewrite is probably also great. But a to do list must have sharing features. Wake me up when version 4 comes out.
 
Cool.

Maybe now we can get new features? Instead of just "bug fixes" each quarter.
Things is a lean, focused app. They don't just heap random features on constantly. Also, if you haven't noticed it's still a proper software purchase instead of yet another "pay forever" subscription lock-in.

If that means each version is more or less feature-complete when they ship it, I'll happily take that instead of a conveyor belt of new features that gets shovelled out (ready or not) to justify the fact that you're paying "$60/year or whatever.

I'll happily buy Things 4 for iOS and macOS when it comes out, and I also wish it was today. But, at the same time I do trust the developers to release it when it's ready and not before. A lot more Mac software should have this level of attention to detail. If the pace of development we see from Cultured Code keeps quality up and is sustainable for them to stay afloat, so be it.
 
Last edited:
They have resisted the urge to innovate and add bloatware to their apps. But at the same time the app feels stale.

Can’t believe we still don’t have attachment support, share features, decent markup, images, … in 2025.

Especially as native Reminders has improved a lot.
 
  • Like
Reactions: Polochamps
Read “Cultured Code today announced” and I my jaw dropped. Then realized that it’s sync, which is still good. But where is Things 4 with attachments, location based reminders, collaboration, and NO AI please?
 
Things will always hold a special place in my heart. It's one of the most beautifully designed apps in the Apple ecosystem, and set a standard for what great apps should look. I really want to use Things, but the lack of really basic features (like attachments) in 2025 is a shame.

Last time I checked, it also lacked customizable snooze times. So does Apple Reminders but Reminders is so reliable that I switched to it a couple years ago. As each WWDC approaches, I hope for customizable snooze times. Apple, please at least restore 5 minutes.
 
I just wish they'd redesign the iOS icon. On the Mac it looks great but on the iPhone it really stands out for the wrong reasons.
 
Nice to see that Vapor is thriving!
And SwiftNIO, although I guess there was never any doubt about that.

I've been wanting to use Swift for cloud compute for ages, but was always worried I'd get so far and then hit a brick wall because it's not a first class citizen in AWS/Azure/GCP. This all proves its way, way closer than I thought, which is great news.
 
  • Like
Reactions: 01cowherd
There aren’t that many apps or syncing services that you can use for more than a decade without them ever screwing with your workflow or having to worry about the app changing in some undesirable way. They haven’t even changed to a subscription model, even though it’s the one app that I’d subscribed to in the blink of an eye.

Perhaps the most valuable feature of Things is its rock solid reliability. They just slowly iterate making it nicer and nicer (while still implementing new platform features, usually on day one!).

The fact that they completely rewrote their server architecture without users having to think about it is classic Cultured Code and why it’s still my main todo app after all these years.
 
That's why it builds in only 10 minutes, as Apple's fluffy blog post states.

10 minutes is an eternity for 30kloc... oh man.
That 10 minutes is almost certainly 95% running a test suite, building containers or deploying builds for automated tests to run against, and other stuff, not just compilation. The test suite for this app is probably pretty huge, given all the edge cases they have to test around conflict resolution.

FWIW one of my apps is around that many LoC and the compilation step for a clean release build is about 30 seconds.
 
  • Like
Reactions: 01cowherd
I am not sure if I am being hyperbolic, or the truthfulness is coming to the surface even when I joke… but I don’t think any app has genuinely impacted my life (with the exception of Logos Bible Software which is my “profession” and got me through graduate school) as much as Things. The fact that its attention to design reminds me of what it was like using a Mac for the first few years in the Aqua days helps.

I probably picked the wrong ‘career’ for someone with thin skin who can’t handle stress well. But, I remember one day a few years ago where I was about to a breaking point when lots of work stuff added up. I called a guy and asked for help and advice. The outcome of that was reading David Allen’s GTD and buying all three versions of Things 3: Mac, iPad, and iPhone.

And here I am today making sure I comment on a Things article. I tried to make Reminders work (and have tried a time or two since then) but keep going back to Things. If your life is chaotic and your never-ending work consist of (gtd vocab) projects with more than one action that need to be done in certain context where start dates and due dates and hard deadlines with consequences all matter, but there is also so much ‘stuff’ hitting your physical and digital inboxes that you need a system to hide items until you need to be reminded of them otherwise your system will be too large to clarify… etc etc blah blah

spend the $80 and buy things for your devices and don’t look back.
 
Lot of comments here, but no one addresses the elephant in the room.

Why the need of using they own cloud server?
One reason only, as other developers has done previously (Ulysses, 1Password): to switch to a subscription model.
Your data is jailed in their servers and they have a reason to charge you monthly to run the “sync architecture”.

iCloud works great, thank you very much.
I use Enpass and Money Pro for example, and all date is synced quickly and FREE.
For reminders I use GoodTask that works over the Reminders app and also uses iCloud.
 
Lot of comments here, but no one addresses the elephant in the room.

Why the need of using they own cloud server?
One reason only, as other developers has done previously (Ulysses, 1Password): to switch to a subscription model.
Your data is jailed in their servers and they have a reason to charge you monthly to run the “sync architecture”.

iCloud works great, thank you very much.
I use Enpass and Money Pro for example, and all date is synced quickly and FREE.
For reminders I use GoodTask that works over the Reminders app and also uses iCloud.
Hmmm... that's quite the diabolical plan. Develop your own cloud server and then wait 14 years and still not charge a subscription. They've got us right where they want us! Talk about the long game! :D

I think they will more likely than not eventually add a subscription option or requirement, but I don't think Things Cloud is the canary in the coal mine. It would more likely be required for features like collaboration and attachment support.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.