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


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 Syste

No E2EE - no buy.
 
  • Like
Reactions: jlnr
I write my backends in Swift. Best thing is you can create one library that contains DTO model objects and share across both client and server apps ensuring it's always consistent. Also use Skip.tools to build an Android app in Swift. Swift world-dominance is really possible.
 
I enjoyed Things when I purchased it for the phone. It felt useful to pay again for the desktop version. I was a little irritated that after buying something twice, I still couldn't access it from my iPad, so I bought the iPad version.

I can't bring myself to buy the Vision Pro version, so I've finally just switched to Apple's Reminders. Thanks to them, I've learned my lesson to be extremely careful about buying from anyone not offering universal apps.
 
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”.
1. Ulysses uses iCloud to sync. I've been using it for like 8 years now and it's been syncing with iCloud forever.
2. Things has been using its own sync service for well over a decade now. LOL I guess they're really playing the long game here.

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.
Every app under the sun uses iCloud as a default because it's already there and it's free. But it's not optimal for every use. Maybe take 5 minutes to educate yourself before you start spinning conspiracy theories.
 
Last edited:
I can't bring myself to buy the Vision Pro version, so I've finally just switched to Apple's Reminders. Thanks to them, I've learned my lesson to be extremely careful about buying from anyone not offering universal apps.
Yeah, and there are a lot of lazy-ass universal apps where the Mac version basically IS the iOS version. Apple themselves have cut corners on the "Mac" versions of News or Stocks or Messages, which feel like they're ported over from the iPhone instead of being truly built from the ground to take advantage of the features of the Mac. Things is not one of those apps.

Also, they're offering a square deal purchase up front instead of a subscription software rental where you pay forever and are left empty-handed the minute you stop paying. I'm 100% cool with buying software purpose-built for the device I'm using it on.
 
That sounds like a you problem.

Ah… I never mentioned it was a problem 🙂

In fact, I'm regularly impressed by how well Things handles the data flowing in and out of the app. As others have said, it's a first-class citizen and works beautifully on all my Apple computers, whether they be Mac, iPhone, iPad or Apple Watch.

The volume of data going in to the app is what makes it such a great system – you put all of your information in, and it
allows you to create structure and plan.
 


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
"threefold reduction" isn't a thing. Reduced to a third?
 
  • Like
Reactions: ignatius345
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.