JuniperPhoton’s Substack

JuniperPhoton’s Substack

Home
SwiftUI
Color Management
Graphics
PhotonCam
Archive
About
Supporting JPEG-XL compression in Apple ProRAW Capture
Pinpoint some trouble you may encounter when supporting JPEG-XL
Jan 25 • JuniperPhoton
My Pivot in 2025
Hey everyone.
Dec 24, 2025 • JuniperPhoton
Adopting Liquid Glass: Experiences and Pitfalls
Updated for iOS 26.1 / iPadOS 26.1
Oct 3, 2025 • JuniperPhoton
Most Popular
View all
Adopting Liquid Glass: Experiences and Pitfalls
Oct 3, 2025 • JuniperPhoton
Inspect & optimize Image Decoding timing in iOS
Aug 17, 2025 • JuniperPhoton
Pro to SwiftUI: .sheet() pitfalls & workaround
Aug 13, 2023 • JuniperPhoton
SwiftUI + Core Animation: Demystify all sorts of Groups
Jul 21, 2025 • JuniperPhoton
Adopting the New Window Controls in iPadOS 26
Sep 28, 2025 • JuniperPhoton
Workaround for tricky issues when setting up camera using AVFoundation
Jan 10, 2024 • JuniperPhoton

Color Management

View all
Color Management across Apple Frameworks. Part 4: Color Management in Core Graphics & Core Image
This article is the fourth part of this series.
Apr 12, 2025 • JuniperPhoton
Color Management across Apple Frameworks. Part 3: Color Space in Image-Specific APIs
This article is the third part of this series.
Apr 7, 2025 • JuniperPhoton
Color Management across Apple Frameworks. Part 2: Color Space in Color-Specific APIs
This article is the 2rd part of this series.
Mar 16, 2025 • JuniperPhoton
Color Management across Apple Frameworks. Part 1: Understand Colors
This series of articles delve into the concept of Color Management across Apple’s frameworks, particularly on Core Video, Core Image, and Metal.
Feb 24, 2025 • JuniperPhoton

Graphics

View all
Supporting JPEG-XL compression in Apple ProRAW Capture
Pinpoint some trouble you may encounter when supporting JPEG-XL
Jan 25 • JuniperPhoton
Inspect & optimize Image Decoding timing in iOS
Displaying images in iOS is both easy and challenging.
Aug 17, 2025 • JuniperPhoton
SwiftUI + Core Animation: Demystify all sorts of Groups
Understand DrawingGroup, CompositingGroup and GeometryGroup in the Core Animation way
Jul 21, 2025 • JuniperPhoton
Creating Core Image Metal Shader Library in a Swift Package Plugin
I wrote an article pinpointing some pitfalls and solutions when building Metal Shaders for Core Image Kernels, which replies on setting Build Settings…
May 28, 2025 • JuniperPhoton

SwiftUI

View all
Adopting Liquid Glass: Experiences and Pitfalls
Updated for iOS 26.1 / iPadOS 26.1
Oct 3, 2025 • JuniperPhoton
Adopting the New Window Controls in iPadOS 26
iPadOS has been evolving, and this year Apple is pushing the windowing experience even further in iPadOS 26 with the new Window Controls and a…
Sep 28, 2025 • JuniperPhoton
Observation framework: Beyond the documentation about observing property changes
Starting with iOS 17, Apple introduced the Observation framework to make updating SwiftUI views more efficient.
Jul 27, 2025 • JuniperPhoton
SwiftUI + Core Animation: Demystify all sorts of Groups
Understand DrawingGroup, CompositingGroup and GeometryGroup in the Core Animation way
Jul 21, 2025 • JuniperPhoton

Recent posts

View all
Adopting the New Window Controls in iPadOS 26
iPadOS has been evolving, and this year Apple is pushing the windowing experience even further in iPadOS 26 with the new Window Controls and a…
Sep 28, 2025 • JuniperPhoton
Inspect & optimize Image Decoding timing in iOS
Displaying images in iOS is both easy and challenging.
Aug 17, 2025 • JuniperPhoton
Observation framework: Beyond the documentation about observing property changes
Starting with iOS 17, Apple introduced the Observation framework to make updating SwiftUI views more efficient.
Jul 27, 2025 • JuniperPhoton
SwiftUI + Core Animation: Demystify all sorts of Groups
Understand DrawingGroup, CompositingGroup and GeometryGroup in the Core Animation way
Jul 21, 2025 • JuniperPhoton
Rethinking ViewModel in SwiftUI
The question of whether the ViewModel concept should exist has become increasingly prevalent recently.
Jul 19, 2025 • JuniperPhoton
Recommendations
Anton’s Substack
Anton’s Substack
Anton Gubarenko
Curated iOS
Curated iOS
Artjoms Vorona
Abort Retry Fail
Abort Retry Fail
Bradford Morgan White
ByteByteGo Newsletter
ByteByteGo Newsletter
Alex Xu
Fatbobman's Swift Weekly
Fatbobman's Swift Weekly
Fatbobman(东坡肘子)
Top posts
Adopting Liquid Glass: Experiences and Pitfalls
Oct 3, 2025 • JuniperPhoton
Inspect & optimize Image Decoding timing in iOS
Aug 17, 2025 • JuniperPhoton
Pro to SwiftUI: .sheet() pitfalls & workaround
Aug 13, 2023 • JuniperPhoton
SwiftUI + Core Animation: Demystify all sorts of Groups
Jul 21, 2025 • JuniperPhoton
Adopting the New Window Controls in iPadOS 26
Sep 28, 2025 • JuniperPhoton
© 2026 JuniperPhoton · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture