Matthaus Woolard's Avatar

Matthaus Woolard

@hishnash.bsky.social

Data Scientist, #Python and #SwiftLang, macOS/iPadOS app developer

198 Followers  |  365 Following  |  36 Posts  |  Joined: 19.11.2023  |  2.0279

Latest posts by hishnash.bsky.social on Bluesky

Preview
Codable conformance for Swift enums Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases.

Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases: nilcoalescing.com/blog/Codable...
#SwiftLang #iOSDev

09.11.2025 05:30 β€” πŸ‘ 9    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Tips for Supporting Dynamic Type in SwiftUI Apps
YouTube video by Nil Coalescing Tips for Supporting Dynamic Type in SwiftUI Apps

I've published a new video! I shared some tips for implementing Dynamic Type support in SwiftUI apps, covering system and custom fonts, ScaledMetric API, and dynamicTypeSize environment value: youtu.be/wflWj5l7wlk
#SwiftUI #iOSDev #Accessibility

05.11.2025 07:42 β€” πŸ‘ 9    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
Two iPhone screenshots of a recipe view in Breve app on iOS 26 and 26.1

Two iPhone screenshots of a recipe view in Breve app on iOS 26 and 26.1

I noticed that on iOS 26.1 there are some small improvements to the Liquid Glass tab bar: the selected tab color looks less saturated, making it more readable on top of colorful backgrounds, and the edge effect is stronger.

Here is @brevecoffeeapp.bsky.social on iOS 26 and 26.1:

03.11.2025 08:39 β€” πŸ‘ 25    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
iOS26, SwiftUI and Accessibility with Natalia Panferova
YouTube video by Walid SASSI iOS26, SwiftUI and Accessibility with Natalia Panferova

Excited to share my recent appearance on the Swift Academy podcast! In this episode, Walid Sassi and I talk about iOS 26, Liquid Glass, SwiftUI, and Accessibility, and explore some of the new APIs along with ways to make apps more inclusive: youtu.be/CEZbwcv60MA
#iOSDev #SwiftUI

02.11.2025 21:57 β€” πŸ‘ 18    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
Preview
Nil Coalescing - Nil Coalescing Newsletter - October 2025 I hope you've had a productive October! This month I've started updating my books for iOS 26, released an update for my app Breve with a special Halloween event, and recorded a Swift Academy podcast e...

The October issue of the Nil Coalescing newsletter has gone out to all subscribers πŸ“¬

I've shared news on my SwiftUI Fundamentals book update, and my recent technical learnings on supporting iOS 26 and 26.1.

You can also read the issue online: nilcoalescing.com/newsletter/2...

31.10.2025 21:08 β€” πŸ‘ 10    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
ScrollView snapping in SwiftUI Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results.

I've been exploring SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and wrote a post sharing what I learned and what to watch out for to avoid unexpected results: nilcoalescing.com/blog/ScrollV...
#SwiftUI #iOSDev

29.10.2025 07:05 β€” πŸ‘ 20    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Three iPhones display Breve’s Halloween Specials with dark, glowing backgrounds and watercolor coffee art. Shown drinks include Enchanted Mocha, Witchfire Latte, Goblin Glow, Mystic Cauldron, Phantom Latte, and Haunted Veil in a cozy, magical autumn theme.

Three iPhones display Breve’s Halloween Specials with dark, glowing backgrounds and watercolor coffee art. Shown drinks include Enchanted Mocha, Witchfire Latte, Goblin Glow, Mystic Cauldron, Phantom Latte, and Haunted Veil in a cozy, magical autumn theme.

Halloween has arrived in Breve!

Discover limited-time coffee recipes brewed with a little magic and a lot of flavor πŸŽƒβœ¨

Breve on the App Store: apps.apple.com/app/apple-st...

#CoffeeLovers #Halloween #iOSApp

23.10.2025 05:50 β€” πŸ‘ 8    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
"SwiftUI Fundamentals" book update: refreshed for iOS 26 and the Liquid Glass design 'SwiftUI Fundamentals' by Natalia Panferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design.

"SwiftUI Fundamentals" by @natpanferova.bsky.social has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design: nilcoalescing.com/blog/SwiftUI...
#SwiftUI #iOSDev

22.10.2025 20:57 β€” πŸ‘ 13    πŸ” 6    πŸ’¬ 0    πŸ“Œ 0
Screenshot showing SwiftUI code using ContentUnavailableView.search alongside an iPhone simulator displaying a No Results for β€œExample input” message

Screenshot showing SwiftUI code using ContentUnavailableView.search alongside an iPhone simulator displaying a No Results for β€œExample input” message

SwiftUI makes it easy to show a β€œno results” state for search with ContentUnavailableView.search. And it even automatically includes the search text in the message, as long as it’s used within the scope of the searchable() modifier.
#iOSDev #SwiftUI

22.10.2025 05:36 β€” πŸ‘ 18    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
SwiftUI Fundamentals The essential guide to SwiftUI core concepts and APIs

I’ve just published an update for my SwiftUI Fundamentals book! It’s now refreshed for iOS 26 and the new Liquid Glass design, with updated examples and screenshots throughout.

You can check it out and get the new version here: books.nilcoalescing.com/swiftui-fund...

#iOSDev #SwiftUI

20.10.2025 05:53 β€” πŸ‘ 15    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
Preview
Multiple buttons in SwiftUI List rows Buttons inside a List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently.

Buttons inside a SwiftUI List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently: nilcoalescing.com/blog/Multipl...
#SwiftUI #iOSDev

18.10.2025 23:13 β€” πŸ‘ 16    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
Two iPhones side by side showing coffee recipe screens from the Breve app. The left screen displays a watercolor illustration of a macchiato in a pastel cup, while the right shows a latte macchiato in a tall glass. Both feature ingredient lists and brewing steps over soft gradient backgrounds in warm and cool tones.

Two iPhones side by side showing coffee recipe screens from the Breve app. The left screen displays a watercolor illustration of a macchiato in a pastel cup, while the right shows a latte macchiato in a tall glass. Both feature ingredient lists and brewing steps over soft gradient backgrounds in warm and cool tones.

Macchiato or Latte Macchiato? Bold espresso softened by a touch of milk, or creamy milk marked by espresso?

Learn how to make both in Breve: apps.apple.com/app/apple-st...

#Coffee #CoffeeLovers #CoffeeTime #Espresso

17.10.2025 06:23 β€” πŸ‘ 5    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
Using @Observable in SwiftUI views Discover how to use the @Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management.

Discover how to use the Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management: nilcoalescing.com/blog/Observa...
#SwiftUI #iOSDev

16.10.2025 23:08 β€” πŸ‘ 10    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Two iPhone screens of the Breve Coffee App showing coffee brewing steps and a timer displayed above the tab bar, next to a SwiftUI code snippet demonstrating the use of .safeAreaBar(edge: .bottom) with a CountdownTimer view and an interactive glass effect

Two iPhone screens of the Breve Coffee App showing coffee brewing steps and a timer displayed above the tab bar, next to a SwiftUI code snippet demonstrating the use of .safeAreaBar(edge: .bottom) with a CountdownTimer view and an interactive glass effect

In the first version of @brevecoffeeapp.bsky.social I placed timers in the tab view's bottom accessory, but it broke in iOS 26.1 beta. In the latest release, I switched to a custom view with an interactive glass effect. To keep it always visible above the tabs, I used safeAreaBar().
#SwiftUI #iOSDev

15.10.2025 23:06 β€” πŸ‘ 10    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
Show icons only in SwiftUI swipe actions on iOS 26 Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier.

I noticed that on iOS 26, the default swipe action appearance changed to show both an icon and a title instead of just the icon. If we want to restore the previous icon-only look, we can use the labelStyle() modifier in SwiftUI: nilcoalescing.com/blog/ShowIco...
#iOSDev #SwiftUI

15.10.2025 06:08 β€” πŸ‘ 10    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
A watercolor-style illustration of a Dirty Chai Latte in a white cup and saucer, topped with a star anise. The background blends warm shades of brown, orange, and teal. Below the image, the app screen shows the recipe ingredients for the drink inside the Breve app on an iPhone.

A watercolor-style illustration of a Dirty Chai Latte in a white cup and saucer, topped with a star anise. The background blends warm shades of brown, orange, and teal. Below the image, the app screen shows the recipe ingredients for the drink inside the Breve app on an iPhone.

Looking for a cosy drink to warm up your day? β˜•οΈ
Try a Dirty Chai Latte. It combines the warmth of chai spices with the kick of espresso, the perfect autumn companion.

Find it in Breve: apps.apple.com/app/apple-st...

#CoffeeLovers #CoffeeBreak #AppDesign

14.10.2025 08:30 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Three iPhone screens showing the Breve coffee app. The first screen displays an espresso recipe with a watercolor cup illustration and brewing timer. The second shows Preferences with options for brewing methods and a new precise ingredient setting. The third shows the Sweet & Flavored drinks section featuring Dirty Chai Latte and Caramel Latte Macchiato cards with watercolor artwork.

Three iPhone screens showing the Breve coffee app. The first screen displays an espresso recipe with a watercolor cup illustration and brewing timer. The second shows Preferences with options for brewing methods and a new precise ingredient setting. The third shows the Sweet & Flavored drinks section featuring Dirty Chai Latte and Caramel Latte Macchiato cards with watercolor artwork.

Just released @brevecoffeeapp.bsky.social version 1.1! Updated the timers, added a new setting to switch to precise measurements for all recipes for those who like to weigh everything, and made a few other small improvements based on user feedback: apps.apple.com/app/apple-st...
#iOSDev #IndieDev

12.10.2025 06:31 β€” πŸ‘ 12    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Custom environment values in SwiftUI Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the @Entry macro in Xcode 16, and pass data through the view hierarchy efficiently.

Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the Entry macro, and pass data through the view hierarchy effectively: nilcoalescing.com/blog/CustomE...
#SwiftUI #iOSDev

12.10.2025 01:38 β€” πŸ‘ 8    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Breve version 1.1 is here!

Enjoy improved brewing timers, a new precise mode for ingredient measurements, and other improvements to make your coffee experiments at home even more delightful!

Download on the App Store: apps.apple.com/app/apple-st...

#iOSApp #IndieDev #CoffeeLovers

11.10.2025 23:33 β€” πŸ‘ 5    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Screenshot of the Friends section from Those Who Swift newsletter showing the Breve: Barista Recipes app promotional banner

Screenshot of the Friends section from Those Who Swift newsletter showing the Breve: Barista Recipes app promotional banner

Exciting to see @brevecoffeeapp.bsky.social included in the latest issue of Those Who Swift newsletter 🀩

thosewhoswift.substack.com/p/those-who-...

09.10.2025 08:39 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Avoiding text truncation in SwiftUI with Dynamic Type Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.

When testing Dynamic Type support in @brevecoffeeapp.bsky.social I noticed that text would get truncated at larger text sizes for no real reason. I had to apply fixedSize(horizontal:vertical:) as a workaround to force the text to wrap instead: nilcoalescing.com/blog/Avoidin...
#SwiftUI #iOSDev

06.10.2025 06:18 β€” πŸ‘ 14    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
Formatting data inside SwiftUI Text views Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle.

Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle: nilcoalescing.com/blog/Formatt...
#SwiftUI #iOSDev #SwiftLang

05.10.2025 22:34 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Lime motor has been used for centuries to protect wood from termites the lime will stay extremely corrosive for hundreds of years. The lime reacts with the outer layer of wood and forms a form of limestone that the termites do not like to eat through.

05.10.2025 10:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Best would be to do an onsite test with some sensors within the sample wall as the local conditions are hard to replicate in a lab.

The issue with metal framing is that the lime will react with it.

04.10.2025 20:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The lime should protect the wood very well even in a tropical env as long as you fully envelop it.

04.10.2025 07:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

from what I have read and been told one is supposed to coat metal with a sealant. The high alkaline content of the binder can react with the metal.

Best is to use untreated wood, treated wood will outgas through the hemp into your home as the hemp is intentionally vapor permeable.

04.10.2025 07:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

no the hempcrete is made from the woody stems.

04.10.2025 07:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

In many parts of the world until recently it was legal very complex to get a permit to grow due to the relationship Cannabis. For a long time the US imposed very strict trade embargoes on nations that permitted its growth and it took a long time to unwind these.

04.10.2025 07:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Introducing Breve: an arty coffee app built for iOS 26 Take a closer look at my new app Breve, exploring the technical insights around Liquid Glass design, iOS 26 SwiftUI APIs, and system integrations.

I wrote a blog post taking a closer look at my new app @brevecoffeeapp.bsky.social from a technical perspective, sharing what I learned while building it for iOS 26 with Liquid Glass design, new SwiftUI APIs, and system integrations: nilcoalescing.com/blog/Introdu...
#iOSDev #SwiftUI #IndieDev

04.10.2025 06:32 β€” πŸ‘ 24    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
What’s New in Swift 6.2 (Beyond Concurrency Updates)
YouTube video by Nil Coalescing What’s New in Swift 6.2 (Beyond Concurrency Updates)

Swift 6.2 is here with iOS 26 and Xcode 26, and while most of the focus is on concurrency, there are other noteworthy changes and improvements too. Get up to speed with the non-concurrency updates in Swift 6.2: youtu.be/0hI_4OWN31o
#SwiftLang

03.10.2025 20:40 β€” πŸ‘ 7    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

@hishnash is following 20 prominent accounts