John Siracusa
๐ค SpeakerAppearances Over Time
Podcast Appearances
As far as I know, they're all using the existing, very old, very creaky, very difficult to use accessibility APIs.
And I believe they also both need like screen recording permission and you got to jump through all these hoops.
They can't be sold in the Mac App Store because nothing that uses the accessibility APIs can be sold in the Mac App Store.
They take advantage of everything.
You don't need to, you know, it's not system integrity protection.
It's not a hacksy or anything like that.
It is just like use the accessibility APIs, use screen recording permission because once you have screen recording permission, now you can get little images of the windows so you can make little thumbnails out of them.
And with accessibility, you can know where all the windows are.
You can make them appear and disappear, bring them to the front, bring them to the back.
You can do all sorts of stuff like that.
You can't do...
very easily the kind of things that like stage manager does but that's not what this does flash space and alt tab essentially like say okay so you're telling me i can make windows appear and disappear and i know where they all are i know what they will look like i know what apps they belong to fine i'm going to build on that um and it is very it is very straightforward it's like
You build up sets of app just like spaces, but instead of, you know, with actual spaces, you're like swiping from side to side.
And I don't know how it's implemented on the covers, but this is think of it this way.
It's like simulating spaces by just controlling what is visible at any given time on your one and only space as far as macOS is concerned.
And they do it without animations.
And so it seems really fast because, hey, hide these seven windows, show these four windows, right?
And having a floating thing of like, oh, okay, these windows are seen in all of the flash spaces, but this context is just these windows and this context is just these windows.
And it is very configurable and you could set up these little contexts.