Profile avatar
nicklockwood.com
iOS. 3D graphics. Retro games. He/Him.
235 posts 456 followers 377 following
Prolific Poster
Conversation Starter

I've just learned (or relearned) that non-max iPhone models treat landscape mode as "compact" horizontal size class and not regular (which is absurd but w/e) Is there a way to switch layout in landscape mode in SwiftUI that's as elegant as observing the horizontalSizeClass environment property?

Literally what is the purpose of macOS and iPadOS still being separate OSes at this point?

A story in three parts

I will be speaking about the Model Context Protocol and how to use it to connect your AI apps to the real world at Build with AI @ Bletchley Park gdg.community.dev/events/deta...

Notepad.exe 1.1 - iOS support is live! 🚀 Build SwiftUI, UIKit, whatever - each playground gets its own iOS simulator. No setup, just run. go get it: notepadexe.com WWDC starts tomorrow! Perfect timing to mess around with new APIs. #SwiftDev #iOS #WWDC25

Learn how to build a macOS menu bar app in SwiftUI using MenuBarExtra, customize its icon, hide it from the Dock, and add a quit option: nilcoalescing.com/blog/BuildAM... #SwiftUI #macOSDev

I’m gonna allow myself a moment of pride in my workplace here and note that we are currently on the front page of The Verge with a game we’re publishing (Big Walk) and a handheld console we make (Playdate). Panic is a company of 30. We don’t have investors. We’ve been around for 28 years 🙂

PREY director Dan Trachtenberg returns with an animated anthology that sends the franchise into exciting new directions.

I missed this, and I think it maybe didn’t start until macOS 15, but if you develop a macOS app that still uses exit(173) to signal an App Store receipt is invalid, this is what happens when it does so now.

Hilariously, Siri/ChatGPT (not sure with whom the fault lies) is incapable of understanding me say "Kotlin" - it *always* hears "Scotland", regardless of any additional context that I give it

To celebrate Switch 2 release day, I bought a 2nd-hand Xbox One S on eBay instead 🙃 As a person whose last console was a PS4 and whose last Xbox was a 360, what have I missed? What should I play first?

Try to use Label in #SwiftUI whenever possible. Even if the text isn’t visible, it still improves accessibility. For example, the compactMenu style of ControlGroup hides the label text, but VoiceOver will still read it aloud. #iOSDev

The Art of Fauna just *WON* an Apple Design Award in the Inclusivity category. 🤯 But it is also a finalist for Social Impact. 💚 Two nominations, one win. I still can't believe this. What a year 🥹 #indiedev #WWDC #WWDC25 #TheArtOfFauna

I remember working as a web dev back in 2005 and being blown away by a pure-CSS implementation of hierarchical drop-down menus. Fast forward to 2025… 🤯 benjaminaster.github.io/CSS-Minecraft/

There should be a Sonic the Hedgehog convention called Gotta Go Fest

Cold Take: my beef with LLMs (minus ethical/environmental concerns) is their overuse. AI is an incredible new arrow in our quiver but the hype cycle has us trying to use it for *everything*, often when it doesn’t make sense. This isn’t a novel sentiment at all but woo baby it exhausts me.

I recently wrote about Apple's flawed article about changing your app's business model. It is way more problematic than I first thought, and I had to update the article. It includes a bug that only occurs dependent on which platform your user first downloaded or purchased your app.

🎙️For the 9th episode of Dev Conversations, @nicklockwood.com joins us to share his journey into programming: his work on SwiftFormat, thoughts on maintaining motivation in programming, and what he thinks is missing in Swift. SwiftToolkit.dev/posts/dc-nick

"Your health records will be on the block chain." "Everyone will live in the Metaverse." "All art will be NFTs." "Generative AI will replace the need for humans." We need to reckon with the reality that the tech industry no longer creates things that anyone wants.

Very happy for Canada, but the fact it was even close is concerning. Like, if your populace are on the fence about being annexed by the US, something has already gone very wrong.

Here is a breakdown of which iOS version to target when creating a new app. telemetrydeck.com/blog/ios-ver...

misunderstanding the "premature optimization is the root of all evil" quote to mean "wait until you're done before thinking about performance” is a huge problem for the programming profession

Idea: The hex color format #​FF69B4 can't represent wide-gamut (HDR) colors. What if we used #​RRRGGGBBB (12 bits per channel) for extended sRGB? Slight precision loss, but visually negligible. Alternatively, #​RRRRGGGGBBBB (16 bits) for full precision.

This moment when the penny drops that trying to implement bathroom bans is an impossibility for the former Tory Chief Secretary Simon Clarke is delicious.

whoa, an Apple engineer is now contributing to Godot -> github.com/godotengine/... this is precisely how Godot as an open source project can work: large companies contribute, everyone benefits! i suspect there will be increasingly more large companies stepping in. exciting! #godotengine #gamedev

When a PM asks me how long it'll take me to build a feature.

Flappy Swift: a Swift Webassembly game by Simon Leeb sliemeobn.github.io/flappy-swift/

drop whatever you’re doing and watch this video on the curta calculator i don’t know what i imagined when i read pattern recognition but this wasn’t it

A very modern dilemma: I had a specific technical question. I asked Google but it just found answers to similar-but-different questions So I asked ChatGPT and it gave a clear answer to precisely what I asked, but with no references, so I can't trust it didn't just hallucinate what I wanted to hear

The harper's letter crowd is pretending the real threat to free speech is the same as the fake one they spent years panicking about. www.theatlantic.com/ideas/archiv...

My talk from try! Swift Tokyo is now up on YouTube: youtube.com/watch?v=B6rM...

If you’re a conservative defending Trump at this point, you fall into one of three categories: - Hypocrite: you believe everything he does is totally fine (but bad when others do it) - Coward: you know he’s wrong but you don’t want to say it out loud - Idiot: you think he’s doing a good job

I still can't fathom what possessed Bungie to link their new looter shooter to the Marathon franchise? It's hard to imagine they thought the nostalgia of a few old Mac nerds was going to move the needle on sales for this (even ignoring that it seems to share zero heritage with the original games)

How the fuck is Bill Gates' blog this cool? 🤯www.gatesnotes.com/home/home-pa...

I was a bit concerned after they cast Skarsgard, but I quite like the direction they've taken with this It plays up the comedy angle a lot, but as long as they haven't gone full slapstick then I think I'm OK with it The queer erasure still isn't cool tho (Murderbot is explicitly enby in the books)