Week 408: Prepping my apps for iOS 26
By my calculations we are a couple of weeks away now from being able to submit iOS 26 compatible apps for App Store review. Team Sheets was first built using Xcode 26 beta but ported to Xcode 16 for deployment with TestFlight and the for release in the App Store.
I've been switching between the two and the changes are actually fairly minimal, but it will take advantage of Liquid Glass come the release of iOS 26 in September.
Kop Quiz needed more thought, but it's also ready for submission.
With Kop Quiz, I'm now using Navigation Stack so that I can put a title on the screen and have moved the help and history icons into a Liquid Glass toolbar. It looks better and forced me to look at the rest of the layout for what I could do better with the new design language. The changes were not huge but the play button now sits as a bottom toolbar action button and the rest of the elements sit within the main view. It is able to scroll at all times, which is something I'm still undecided on, but I will revisit once more before the final push.
The good news is that it's been relatively low effort in terms of writing code, but it's been a pain to test jumping between two versions of Xcode and getting to grips with the documentation.
The one bit I'm not yet sold on is the ability to use zoom transitions when opening a sheet. It makes the button you tap appear as if it is becoming the sheet. A great visual tool but none of Apple's apps in the iOS 26 simulator use this pattern. I found the opening transition looks great but the closing transition has an odd state where the sheet is tiny and takes on the colour of the button right at the end of the animation.
Once I've had a chance to look at more of Apple's own apps for examples and how others are adopting it, I'll make a call but for now it's fine to me using the traditional method of bringing sheets up.
WWDC25: Design foundations from idea to interface | Apple
Probably the best app design video from this year's WWDC. Walking through an example definitely helps me to see the bigger picture.
I was looking for a resource to help me decide when I should apply Liquid Glass to my own components depending on the layer but it's not clear to me at all beyond buttons and controls.
I will be updating Kop Quiz for iOS 26 with my first take but I'll have to see how others, especially Apple, have approached Liquid Glass across all their apps before performing more updates.
Week 407: Team Sheets
Over the past few weeks, I've been working on an app called Team Sheets and as of yesterday it's in the App Store as a free download.
Week 406: My water logging Shortcut
Now that I figured out how best to pull health samples in a Shortcut on my iPhone, here's my water logging shortcut. Feel free to take it and use it as it is, adapt it to specific measurements or units or to extend/reduce it's functionality as you see fit.
You do need to grant it health permissions once you open it in the Shortcuts app, but overall it's pretty simple:
- Prompts for the amount of water you've just drunk
- Logs the sample in the health app
- Retrieves how much water you've drunk today
- Alerts with the value retrieved
It originally used the notification action but that presents a button so I switched to an alert instead. It still needs manual dismissal but if you're on the lock screen it doesn't add clutter to the notification list.
My water intake has definitely improved and it didn't require an additional app to make it happen. Something I considered building for myself, but deep down I knew that I could achieve what I wanted to achieve with the Shortcuts app so I'm glad I spent the time digging in.
Week 405: Solved! Using Health shortcuts in the Shortcuts app
I have used the Shortcuts app on and off for a while but I've always struggled with the Health shortcuts on offer. Logging data is easy enough but pulling it back can be really frustrating and yesterday I figured out why.
When you insert the Find Health Samples action after a Log Health Sample action, it will change the terminology to Filter [Health Sample] where [Health Sample] is the output of the previous action. No amount of filtering or configuring the action will do anything other than return the last sample entered.
My use case is pretty simple, I want to log the amount of water I've been drinking and then immediately pull the total for the current day. But because of how the action is changed after insertion, it is pulling up all the details of the sample being passed to it.
After many strong taps on my phone I realised clearing the [Health Sample] variable and changing it to [All Health Samples] got me back to the original intention which was to 'Find All Health Samples]! The difference between the two configurations is pretty subtle in my opinion and totally depends on what previous actions might be in your shortcut without any warning.

Pulling something like steps is tougher because there are many samples per day that can cause the shortcut to hang for a bit but once I realised the terminology was wrong it has been so much easier to work with. Grouping by day gives you a total for each day in your sample range.
This stumped me for hours previously to the point at which I gave up. I tried again this week and again was stumped for hours until I tapped angrily on something that toggled the terminology and my thinking! I hope it's useful for someone else out there struggling with the same issue.
Week 403: Subway Takes
Subway Takes has recently become a favourite YouTube channel with its mix of sensible, thought provoking and insane takes on modern culture.<\p>
Week 404: Conquering Liquid Glass
Last week, I posted about a particular struggle with Liquid Glass and within the week I've got it sussed!
It turns out that I was trying to apply two competing styles. You can, but it caused the conflict between .borderedProminent and Liquid Glass.
What I hadn't realised that I was already applying what was necessary for Liquid Glass after applying the .borderedProminent modifier which caused the issue. Using just .confirmationAction as the placement modifier solved the problem.
So my second app is ready to be tested and soon to be pushed to the App Store. I want to refactor a few areas into components and while it's iOS 26 ready, I'll have to continue submitting for just iOS 18 only for now. I'll see if I can support iOS 17 too but I think the way in which I've used loops may not be compatible.
So watch this space, my iOS and Apple Watch app is almost ready.
This page is a truly naked, brutalist html quine.
Drinking fountain from 1896 restored in Croydon
Every time I visit Rome, the accessibility to fountains and clean drinking water is an underrated luxury. It's great to see a fountain with so much character being restored rather than replaced by a modern one – they might be useful, but they're ugly and only available in certain boroughs of London.
Touching the back wall of the Apple store
Clipse: Tiny Desk Concert
It starts and finishes perfectly.
But What If It Works
The Art of Roland-Garros
Perfect timing to come across this site via
Week 402: Understanding Liquid Glass
I am in the process of building a new app, it is written in SwiftUI, and I'm hoping to support both iOS 18 and the forthcoming iOS 26.
Liquid Glass brings some interesting layout choices. I'm not mad at the tab bar, which now hovers above the content, but it feels unnecessarily large. Maybe this will change by the time we get to September though.
What I've found most frustrating is working with button styles. Using the tint()
method will change the foreground colour, which is perfectly fine but when you combine that with the .borderedProminent
style you don't just get a tinted button but a tinted button with a 'traditional' iOS bordered button sitting within it.

It's actually not that noticeable in the Xcode preview because it's so small but it's clearly an issue in the simulators.
So I'm still grappling with it all, but for the most part the modifiers I'm applying are backwards compatible so the app will look fresher with the OS updates in September.
David Smith has been posting about design choices as he looks to adopt Liquid Glass in his own apps which are well worth a read.
Brazil rules that social media platforms are responsible for users' posts
Way too late but I'm fully behind this. It has been a long time since I ran a forum but even though I couldn't control what was posted, I took moderation seriously. Meta and X never have, but they really need to.
This should be top of the list for the EC in it's fight with Big Tech.
Week 401: 400+ weeks of 1 Thing A Week
Last week marked 400 consecutive weekly posts here on 1 Thing A Week.
I've teased a break of some sort in the past, but it hasn't happened yet...
Notable items definitely took a hit in recent months but I'm slowly getting back into the rhythm.
What's next for this blog? I want to do two things in particular, which is focus on both CSS and SwiftUI as I flesh out apps and services. Still plenty to learn and I'm hoping I have something worthwhile sharing. Even in the past week I've learnt a ton of stuff about Swift, SwiftUI and SwiftData.
So watch this space, there's more to come!
Week 400: Battling with loops in SwiftUI
Honestly my biggest annoyance with SwiftUI is just any type of loop. Yes, I’m totally spoilt having worked with PHP and JavaScript over the years, but I do feel that they’re so fragile in SwiftUI.
I’m at the point in the development cycle of my app where I have simplified it all enough to not have to worry about more complicated implementations or iterations but it took a while to get there.
I could complain just as much about binding and SwiftData, especially when you are trying to convince them, but I think looping through data is definitely the one that deserves calling out!
iPadOS 26 Expands Stage Manager to These iPad Models
Happily surprised at this, I've never really tried Stage Manager on my Mac and it's not currently available on my iPad mini but looks like that is changing with iPadOS 26.
With the new windowed approach to multitasking, I'm excited to see if any of them work for me in the tablet form factor.
Week 399: Apple should keeping diving into the details
When Apple announced the new Mac Mini, they mentioned the housing was created using an extrusion process which felt like something new to me. But that's all they said with no further detail or a behind-the-scenes video that we've had in the past for devices like the iPhone X.
I meant to make a video on the topic back in November but it kept falling off my list of things to do until last week's Liquid Glass announcement.
I published that video a couple of days ago and here it is:
I'm still new to the video game and have experimented on my own channel and on the Good Gear Club YouTube channel too. If you have any feedback, I'd be happy to hear it.
View more posts in the archive or discover more notable items.