Pre-ordered an iPhone Duo? Natalia Panferova (@natpanferova.bsky.social) explains how to arrange SwiftUI views around the fold and handle the unique geometry of the new device: go.peterfriese.dev/swiftui-pos...
Peter Friese
Peter Friese
@peterfriese.dev
Developer Advocate on the Firebase team @ Google YouTube: https://www.youtube.com/@PeterFriese Blog: https://peterfriese.dev
1.6K followers1.1K following1K posts
New form factors often expose hidden problems. One of them: singletons. Michael Long (@hmlongco.bsky.social) explains how the iPhone Duo exposed a flaw in how DI frameworks handle shared state, and how to fix it: go.peterfriese.dev/swiftui-eve...
Print logging is convenient, but risky when you accidentally leak API keys or user data into production logs. Sagar Unagar explains how to use OSLog instead and why it is better in every way: go.peterfriese.dev/swift-loggi...
Here is your updated list of iOS, Swift, and AI conferences for 2026: go.peterfriese.dev/conferences...
Protecting communication between your iOS app and backend is critical, especially when preventing unauthorized AI API calls. Artem Mirzabekian explains how Apple App Attest works under the hood: go.peterfriese.dev/code-apple-...
Is Apple really banning feature flags? Nick Dobos highlighted guideline 2.5.19. But Apple's update clarifies it is an extension of 2.3.1 on hidden features rather than an outright ban on A/B testing: go.peterfriese.dev/business-ap...
Being unsure is a natural property of fast decision models. Alejandro Martinez explains how this uncertainty is actually useful for triggering human-in-the-loop decisions: go.peterfriese.dev/ai-using-je...
Every new technology requires us to relearn our thinking. Felix Rieseberg on how to be more ambitious with models: operating at higher altitude, going deep with expert tooling, and building across multiple domains: go.peterfriese.dev/ai-how-to-b...
Coding agents tend to be very verbose when giving feedback, which can easily drain your energy. Joe Fabisevich (@mergesort.me) explains how to teach Claude for GitHub to tone it down using REVIEW.md: go.peterfriese.dev/ai-calming-...
📱 Not only Swift #107 is out! 🗞️ • Everything is Shared on iPhone Duo (@hmlongco.bsky.social) • More ambitious with models (Felix Rieseberg) • Calming down Claude (@mergesort.me) • SwiftUI around the fold (@natpanferova.bsky.social) peterfriese.dev/newsletter/...
Can Antigravity convert an Android app to iOS? Join Marina and me on the Firebase livestream to see if it can! www.youtube.com/watch?v=xRr...
@mecid.bsky.social explains how to use AsyncSequence for continuous data streams in Swift. Paired with Structured Concurrency and operators like `debounce` and `map`, it replaces hundreds of lines of imperative code: go.peterfriese.dev/swift-itera...
Combining AsyncSequence with Async Algorithms (like debounce and map) can save a surprising amount of boilerplate. Featured in Not only Swift #106: go.peterfriese.dev/swift-itera...
When you have debug, staging, and prod builds side-by-side on your phone, you want to tell them apart at a glance. Mustafa Natur's Blueprint generates an Xcode-style blueprint icon with version and beta badges: go.peterfriese.dev/tools-bluep...
Super handy if you keep dev, test, and release builds on the same device. Linked in Not only Swift #106: go.peterfriese.dev/tools-bluep...
I wish every coding agent read this line from @sarunw.com: "You don't need to add glassEffect() or change the existing code to see the difference." Sarun compared native SwiftUI controls on iOS 17.5 and iOS 26 side-by-side. Standard controls pick up the new look automatically!
(Also: did you know you can collapse tab bars on scroll?) I covered this in Not only Swift #106: go.peterfriese.dev/swiftui-nat...
Cut out the fluff and keep posts self-contained: @mtlynch.io on anti-patterns in software blogging. I think this works great for technical posts, though opinion pieces and stories require a different style: go.peterfriese.dev/tools-anti-...
Margaret Hamilton coined "Software Engineering" and her photo next to the human-written Apollo code is iconic. Today `npm install` writes more code than the AGC could hold. Beautiful tribute by @midu.dev: go.peterfriese.dev/history-mar...
Hosting friends at home has dropped by ~70% since 1975. Screens, busy schedules, and awkwardness fuel the "great disinvitation". @dkthomp.bsky.social on why we should push back and start small with simple hosting: go.peterfriese.dev/fun-you-are...
This is a great overview of Apple's SDKs and frameworks. Just take a look at the timeline to see how much Apple ships... @alemohamad.com did a great job making Cupertino Tech look like something Apple might have built: go.peterfriese.dev/tools-cuper...
A routine 2-line config cleanup in Firebase Analytics caused iOS apps to crash on launch. Here is the postmortem on what happened and why payload crashes are hard to spot from backend metrics alone: go.peterfriese.dev/firebase-an...
The tricky part was that the status dashboard stayed green because requests returned 200 OK. I wrote about this and the subtle traps in client/backend contracts in Not only Swift #106: go.peterfriese.dev/firebase-an...
@hishnash.bsky.social & @natpanferova.bsky.social turned their books into agent skills, but agents didn't pay enough attention to them. So they built SwiftFairy: a local macOS static code analyser with an MCP server! go.peterfriese.dev/ai-swiftfai...
I've been experimenting with MCP servers for coding agents a lot lately. You can read more about how SwiftFairy fits into that in Not only Swift #106: go.peterfriese.dev/ai-swiftfai...
Here is your updated list of iOS, Swift, and AI conferences for 2026! I'll be at DevFest Hamburg this week - if you see me there, come say hi (I might have some Firebase swag with me 🧦 🔥): go.peterfriese.dev/conferences...
📱 Not only Swift #106 is out! 🗞️ I built a Keynote replacement with coding agents (Magic Move + Markdown + live iPhone mirroring!). Plus: • Native SwiftUI in iOS 26 (Sarunw) • Cupertino.tech (@alemohamad.com) • SwiftFairy (@hishnash.bsky.social) peterfriese.dev/newsletter/...
With the weather cooling down, here is a delightful, whimsical indie Mac app: Sara Gordić built Window Sweaters, an open-source menu bar utility that dresses your active desktop windows in knitted borders. go.peterfriese.dev/fun-window-...
Writing is thinking. When you outsource your writing to an LLM, you rob yourself of the chance to think. Thomas Ptacek advice is: use AI as a ruthless copyeditor, never as your ghostwriter. go.peterfriese.dev/ai-how-to-w...
Justin Wetch built a skill that distills Apple's HIG so agents generate native-feeling SwiftUI, now with iPhone Duo support. go.peterfriese.dev/swiftui-hig...
Coding agents often waste reasoning tokens on routine routing decisions. Sai Rahul explains how to pair Codex with Jev, a fast decision model, to handle judgement calls in 50-300ms at minimal cost. go.peterfriese.dev/ai-agentic-...
I've been a long-time fan of the Hard Fork podcast. Kevin Roose shared a fascinating excerpt from his upcoming book 'The AGI Chronicles' in The Atlantic, exploring the rivalry between OpenAI and Anthropic. go.peterfriese.dev/ai-inside-b...
Analyzing images is a great use case for AI in Swift. @mecid.bsky.social shows how Apple's Foundation Models framework handles multimodal input cleanly using Swift result builders, on-device and in the cloud. go.peterfriese.dev/swift-found...
I've updated the typeset PDF of The Swift Programming Language book for Swift 6.4 Get it for free: github.com/peterfriese...
Wondering what Apple's foldable iPhone Duo means for your codebase? This article provides a great practical breakdown: ditching UIScreen.main, handling dynamic safe areas, and adopting hinge APIs. go.peterfriese.dev/swift-iphon...
I end all of my newsletter intros with "hit reply - I read every email". And I actually mean it! This week, Stephan emailed me, looking for the print detail of Jace's physical copy of The Swift Programming Language book I mentioned in issue 94 (peterfriese.dev/newsletter/...).
If you ever have feedback, questions, or cool projects to share, just hit reply. I read and answer every single one. Oh, and here is the link to the updated PDF: go.peterfriese.dev/swift-book?...
I end all of my newsletter intros with "hit reply - I read every email". And I actually mean it! This week, Stephan emailed me, looking for the print detail of Jace's physical copy of The Swift Programming Language book I mentioned in issue 94 (peterfriese.dev/newsletter/...).
SwiftPieces brings that to SwiftUI with 55+ polished components featuring motion, haptics, and agent skills. go.peterfriese.dev/swiftui-swi...
Peter Friese reposted
Ok, Swift fam. A Swift SDK for GCP is a *great* start, but we (also) need an Firebase SDK for the server side. Can we bump the votes for this up to get it close to the votes for KMP support? Cast your vote (link in the first reply)
Google: “[Swift] has matured into a viable systems and cloud language, pairing Rust-like data-race safety with predictable, reference-counted performance.” Announcing their Swift-based cloud SDK for backend services: cloud.google.com/blog/topics/...