Daniel Saidi
@danielsaidi
Building apps & SDKs for the stack, using Swift & SwiftUI.
The Wally iOS 27 bump is coming together nicely. I’ve spent a week migrating from Realm to SwiftData, with many pros added to the app as a result. Looking forward to sharing more soon.
Apple Maps vs Google Maps in this part of the Stockholm Archipelago - Apple is insanely more detailed.
Stockholm has gone from a summer vacuum to a summer smash. So many amazing new places along the waterline, pop up sauna rentals, temporary bars, kayak and canoe rentals, car free streets, etc. Great transition Stockholm Stad! 🙌🌞
I’m taking a break from programming over Swedish midsommar, to celebrate and spend time with family. Today is hiking day in the Stockholm Archipelago 🤩
The new .reorderable API for #SwiftUI in iOS 27 looked really nice when mentioned in the WWDC keynote, but when tried replacing my ReorderableForEach with it, Xcode Intelligence claims that the "apply" function in the demo isn't built in!?
macOS 27 beta installed and WWDC26 Platforms State of the Union starting! 🤩
Looking forward to 5 days of workation from Palma de Mallorca. If you know any nice places or things to do, I’d love to know :)
I'm SO impressed by Xcode and Apple Intelligence rn! When I was to publish an app, archiving a Swift package suddenly crashed with a super broken log. Despite this, Xcode did find that the problem was a disfavored overload in an external package that caused the compiler to crash.
Listening to a podcast discussing Hail Mary and speed of light led me to new (maybe incorrect) insights. Since you can’t accelerate to C (energy tangent -> infinity) and time slows down exponentially, does time then stand still for photons, who DO travel in C…meaning they can be everywhere at once?
This is...concerning. I never use Claude with my closed-source projects, because I don't trust that they won't send the code to use for training. So I copy snippets, ask general questions, etc. Just now, I started a new prompt and got this. I didn't mention keyboards at all.
Although I love Apple's Icon Composer, I find that it exports blurry PNGs. I've therefore created Sketch variants of the icon, to allow for sharper exports for use within the app. This also lets me play with shadows and depth in a less constrained way and separate the product icon from the app.
I'm testing a new KeyboardKit icon idea, where I use the Liquid Glass concept to keep the current icon's color gradient, but overlay it with glass shapes that form an abstract outline of two K's. I like it - but perhaps it's too abstract? Here's the current icon and the new in light, dark and mono.
During the last few years, many have asked me what the A in the KeyboardKit icon (left) refers to. The fact that it has evolved out of a plain, white iOS keyboard key has been increasingly hard to defend. Therefore, a new icon is being considered. Which of these ideas (right) do you like most?
I love the #SwiftUI Entry macro, but I would love for it to also synthesize this matching View extension, so we could remove even more boilerplate code.
OnboardingKit 9.2 is out, with new styling options and convenience initializers for the welcome screen and its USP list items. #SwiftUI github.com/danielsaidi/...
tvOS 26 is broken, and changes things in fundamental ways. Here's a test app. Sheets (img 2) use to be fullscreen, but are now overlays. Text fields in sheets are blurred. Full screen modals (img 3) no longer apply a background color, which means that the background bleeds through.
A workaround to make it work on both iOS and macOS, is to wrap the picker in a menu (to make it work on iOS) and set the picker style to .inline (to avoid the nested menu on macOS). I created a tiny view for this - may add it to SwiftUIKit.
EmojiKit 2.3 is out! 🚀 This version drastically improves the emoji grid performance and its arrow navigation, and adds a new category binding, as well as new styling options and extensions. #SwiftUI github.com/danielsaidi/...
I'm pretty happy with how my n00b icon design skills can still result in a decent outcome with Apple's new Icon Composer and Liquid Glass. This icon is just a yellow glass panel with solid black shapes, adjusted for light, dark & transparent mode. Tweaks still needed though :) #liquid-glass #swiftui
So this so-so band plays and people flow into the mosh pit…and start to run counter clockwise in synchronized, non-colliding way? Basically jogging together!?
These kinds of jelly effects are a very nice addition when moving my old Wally app to Liquid Glass. Now I just need to adjust some of the older screens where the old leather stitch effect feels off. #SwiftUI
I received a bug report from a customer with a license that expires in Aug'26. When a their product run on a Buddhist calendar device, my SDK shows that the license has expired with an invalid year (2026 BE) but when I try this, my app correctly maps the date. Does anyone know why this happens?
My oooooold app Wally (first released in 2012), is being updated for Liquid Glass. Wally 6 has a polished UI and supports more item data, like misc. dates. It will also use the new Vision document recognizer for better text parsing. Just a few more tweaks, then I'll submit it for review. wally.app
The new @keyboardkit.bsky.social in-keyboard dictation is a huge improvement for apps that need to dictate directly in the keyboard. The keyboard only opens the app if needed, then runs dictation in the background. The done button can be customized to enable post-processing before applying the text.
I finally had time (and lack of dread) to sit down with a brand new dictation experience for KeyboardKit. Based on some insights from @jordi.bsky.social I have built an “audio bridge” that lets the user perform dictation almost entirely in the keyboard. I have some UI left then it’s shipping time 🎉