Seb Vidal retweeted
Go behind the scenes of Made by Sound.
A story of music, collaboration and craft with @fredagainagain1 and NEST Acoustics. Discover how sound brought the Apple Music logo to life, captured entirely in camera. Just music, made visible.
Seb Vidal retweeted
I’m really proud how our new iOS 27 onboarding turned out for @one_sec_app 🥰
more than 50% faster
Seb Vidal retweeted
Today I am open-sourcing my custom SwiftUI animation sequencing package that I developed to drive the animations in Letters. It can do all sorts of things!
github.com/jazzychad/Animati…
Seb Vidal retweeted
Replying to @SebJVidal
@SebJVidal knows more than anyone about UIKit internals, mostly through the most straightforward kind of reverse engineering: runtime reflection using Objective-C selectors.
Most of Apple’s frameworks are Obj-C based. Thank John Scuelly, Steve Jobs, and NeXT for that. This makes frameworks like UIKit more-or-less transparent, for those with eyes to see.
Dynamically picking selector strings at runtime is the linchpin of private API work. In your Swift code, you never lost access to the Objective-C runtime: just call NSClassFromString, NSSelectorFromString, and all their friends to initialise underscored classes and “private” APIs.
The _UINavigationBarPalette (Seb's favourite API) is one of these underscored views: it lets you attach arbitrary views onto a navigation bar, but without losing the useful a11y, size transitions, and automatic layout that makes most custom UI so Temu-esque. Apple uses this a ton internally for apps like Calendar, Fitness, Photos, and Messages but jealously guards it from mortals.
Read “Forbidden iOS” here 👹 blog.jacobstechtavern.com/p/…
Seb Vidal retweeted
Lot of speculation and misinformation floating around about SwiftUI today! I've done some reverse engineering of all relevant frameworks (including private frameworks), and I've made some interesting discoveries about SwiftUI that disprove a lot of the noise. More soon.
Seb Vidal retweeted
By this logic, the fluid interactions on the iOS Home Screen aren’t native either (they run on a display link).
Core Animation is great at what it does. But there’s a reason many of the best interactions in the OS tick their animations in-process rather than handing them off to Core Animation, even when built with UIKit. How do you think UINavigationController drives its interruptible transitions? Or the morphing glass controls in the navigation bar?
These are advanced techniques, sure. But oversimplifying this stuff does a disservice to people trying to build great apps. “Technically dropped zero frames” and “feels fluid and alive” are not the same.
SwiftUI isn’t native and here’s why SwiftUI apps may sometimes feel janky. It ditches the key element that made animations run so smoothly on iOS since the original iPhone: Core Animation.
In SwiftUI animations run in-app without CA backing. Block the main thread: SwiftUI ball stalls while UIKit’s keeps moving on the render server.
Seb Vidal retweeted
Fun fact: the creator of CoreAnimation is one of the creators of SwiftUI!
The decision to run animations in the app process rather than the render server (as CoreAnimation does) was one of the earliest and most fundamental decisions we made when designing SwiftUI.
Some of the most distinctive experiences of using an iPhone, like UIScrollView rubber banding and SpringBoard app switching are only possible as client-side animations.
But these experiences aren’t easy to build with UIKit!
This is because if you want a UI to be fully interactive and interruptible by the user while it’s animating, it has to be running in the same process as the event handling.
In fact, in iOS 18 we added new APIs to AppKit and UIKit to adopt the SwiftUI client-side animation model.
There are a lot of valid critiques of SwiftUI. The fact that SwiftUI doesn’t use CoreAnimation for its animations is not one of them.
SwiftUI isn’t native and here’s why SwiftUI apps may sometimes feel janky. It ditches the key element that made animations run so smoothly on iOS since the original iPhone: Core Animation.
In SwiftUI animations run in-app without CA backing. Block the main thread: SwiftUI ball stalls while UIKit’s keeps moving on the render server.
🚨 I rebuilt imessage/discord, but only for app founders
introducing ChatMRR – the verified revenue community where you can only join groups based on your MRR
→ connect @Superwall or RevenueCat
→ join chats w/ revenue minimums
→ unlock new chats as your revenue grows
→ daily leaderboards & awards
limited spots → mrr.chat
Seb Vidal retweeted
Today we’re shipping @one_sec_app’s MOST IMPACTFUL UPDATE EVER:
iOS 27 is here! And alongside we’re launching one sec 6.0.
I’ve uploaded the first version of one sec to the App Store in September 2020. And I would’ve never thought that 6 years later I’d be working on it with a team of 18!
With iOS 27, we were able to address one sec’s biggest problem by far: its technical setup process.
Now, setup takes literally one sec: confirm the automation for an intervention. That’s it.
Previously, users had to go through an extensive 10-step process to manually set up Shortcuts automations. Many users got frustrated and didn’t manage to set up one sec on their device (if you’ve used one sec yourself, you know what I’m talking about).
But now with iOS 27, our team pushed the limits even further of what‘s possible on iOS: We are sharing automations directly with the user: Manual setup is no longer necessary!
With all of this, one sec will save even more time from scrolling! I’m really looking forward to new users getting to experience one sec’s powerful evidence-based interventions.
Speaking of evidence: This will also be a game changer for our many research collaborations: automation setup was always a bottleneck in recruiting participants.
I can’t wait to hear what you’re all thinking of one sec 6.0.
I’m grateful I get to work with the best team in the world every day…and especially on this update this summer. And now I’m ready for vacation…and then back duo the drawing board 😃
– Frederik
Seb Vidal retweeted
This weekend only, get 75% off our annual plan one of our biggest discounts yet!). To help you ship those big "anyAppleOS 27" updates.
Well done for shipping. It's worth a celebration!
apps.apple.com/redeem?ctx=of…
Seb Vidal retweeted
I was recently informed that I am being laid off from Apple. This website's format is too short for something like this in my opinion, but you can find my statement here.
mbobpro.com/blog/a-career-up…
Please reach out here or via my website if you want to chat!
Seb Vidal retweeted
Thank you @Tim_Cook 🫶
We first met 13 years ago when I was a WWDC scholar. A lot has happened since then! Without you & without Apple, my life wouldn't be the same.
I have since built a company & team around @one_sec_app, and I don’t think that would’ve happened without the early support I received from Apple in 2013 & beyond.
See you around!
Seb Vidal retweeted
Big update: one sec 5.3 for iOS
Six new features, several interface improvements and A TON of bug fixes – it’s an update focused on improving blocks, intention picker and accessibility!
Here’s whats new:
Seb Vidal retweeted
It turns out that’s not specific to Find My. It’s UIKit magic🪄 You just need to add _𝚋𝚊𝚛𝙳𝚎𝚝𝚎𝚗𝚝 as a UISheetPresentationController.Detent.
Seb Vidal retweeted
As a small indie team we are incredibly proud of this achievement:
Researchers of University of Cambridge reviewed 70 focus tools by evidence:
@one_sec_app was the only widely-used app placed in the top tier: “Proven and Scalable.”
At one sec, we have nothing to hide. Running research experiments in one sec is a no-brainer for us.
Honestly: we just want to build the best screen time tools for you – that actually work!






























