Andy Dent
banner
andydentperth.bsky.social
Andy Dent
@andydentperth.bsky.social
Founder of Touchgram creative messaging app.
Dev downunder, martial artist, granddad, amateur designer/animator, author, coarse carpenter, lefty Green, very occasional scuba diver & snow skier.
Refusing to age gracefully.
Now have Categories that pops up when choose the new workout type. Whole extra choice screen.

I can make out the types of workouts when I choose them, without my glasses, partly because of icons. This one is unreadable
October 24, 2025 at 5:16 AM
So many extra taps required to start a workout and if you do a multi-type workout (+ button).
October 24, 2025 at 5:16 AM
I do use class a lot of the time, mostly because I have a rich document hierarchy (imagine PowerPoint built on top of SpriteKit).

I mention these issues because the ARC one in particular surprises many.

Also some stuff in SwiftUI works better with structs, eg FileDocument
October 22, 2025 at 4:31 AM
Swift nuances:
Structs containing reference types is a red flag if they are passed a lot (ARC).

Structs as @State in SwiftUI act more like ref types and a @Binding to such is effectively a ref type.

Look for mutating func in structs as @State - semantics more like C++ const objects = changeable.
October 22, 2025 at 3:08 AM
I’ve been calling Swift “Modern C++ without the C” for years.

Ported Touchgram from C++ using Cocos2D-x to Swift and SpriteKit back in 2018.

Have now written about 60 kLoC Swift after 25 years of C++, including some very grungy CAD code.

Will still do C++ for $$ but not gonna choose it first!
October 22, 2025 at 2:57 AM
SpriteKit to video, with a Metal preview.

Also means I could run it on my 27” Intel iMac “design machine “.
October 17, 2025 at 12:20 PM
I agree with the need for a Command abstraction. I have a backlog of a few articles to explain stuff, now I’ve shipped the Mac version of Purrticles.

I made Purrticles as a Multiplatform SwiftUI app partly to avoid any complications from Catalyst, especially as am doing things like rendering
October 17, 2025 at 12:20 PM
I'm a bit tight for time & avoiding rabbit-holes, this stuff is teflon-lined for me.

github.com/AndyDentFree... is some of the public stuff I did in similar manner but focused on evolving polymorphic hierarchies, like game encoding.

Done lots of complex format & movie enc/decoding over the years
October 15, 2025 at 4:58 AM
Quick thought without much diving into code or CBOR

If you're just creating a protocol for type checking, consider a way to register a closure to invoke on hitting instances.
Breakpoints can only take you so far for repeatable debugging.
Log points in code help regression testing.
October 15, 2025 at 4:58 AM
and I'm here to say they've done a great job on a clear rewrite that supports creators
okaydev.co/terms-and-co...
Terms and Conditions
A creative development community.
okaydev.co
October 15, 2025 at 3:45 AM
Glad to see your response.

I call these things out because:
1. sometimes, it really is a biz (or junior lawyer) trying to get away with it
2. creatives, especially, should pay attention to what we sign &
3. "we don't mean it like that" terms count if someone gets acquired & suddenly are enforced.
October 11, 2025 at 8:03 PM
"SwiftUI in 1D, 2D and 3D."

I'm still stewing about this.
1D = menubar app?

Would 0D be a voice-only interface where you use result builders, or is that cheating to call it "SwiftUI"?
October 10, 2025 at 2:35 AM
I released my first Mac app (in decades) last week, built with SwiftUI. It's a common codebase with the iPadOS and iOS screens. Purrticles has one big document window with 3 panels showing Xcode-style controls.

There are 57 `#if os(` occurences across the 4387 lines of Swift code in my Views.
October 9, 2025 at 4:21 AM
Has anyone explained how these tariffs work when a US studio films overseas?

Say 90% of the budget is a couple of US stars but all shot in Toronto?

What is being “tariffed”?
September 30, 2025 at 10:19 AM
The Touchgram family is all about tactile app naming.
September 30, 2025 at 8:00 AM