Abstract Nonsense

Things rewrites their server architecture in Swift

I’ve been a long time user of Cultured Code’s Things to-do app. It’s slick, has well designed ergonomics, and is perfectly minimalistic. Things’ Markdown support is tasteful and its approach to task management structured but pared back.

They’ve just announced a rewrite of their existing server-side infrastructure stack in Swift, the linked post and blog post are worth a read.

From a technical perspective, I’ve always appreciated its rock-solid proprietary Things Cloud syncing service. In particular, I find it interesting the app asks for Local Network access to enable faster syncing:

“Things” would like to find and connect to devices on your local network. Things uses the local network to provide faster sync between your devices.

I’d always thought they implemented some CRDT data structure and synchronised it on the LAN as well as via the server, but according to their FAQ, their synchronisation is only server-side:

None of your data is transmitted across the local network. Things merely sends a notification to your other devices telling them that new information is available, so that they can download it from the cloud.