Welcome to another episode, empower Apps.
I'm your host, Leo Dion here live at Community Kit.
It's an exciting day.
Dub dc.
Also with me is Matt Mascot.
Matt, thank you so much for coming on the show again in Live and in Person.
Thank you very much, Leo, for inviting me.
So we're gonna talk about the stuff that was revealed today, we probably
haven't had a chance to open up Xcode, but before we do that, I'll let you
go ahead and introduce yourself.
Sure.
Thank you.
My name is Matt and, been a long time Apple developer.
I have this like hyper-specialization now working in swift concurrency,
but I still pay attention to lots of other stuff that are going
on.
Awesome.
So yeah, what's your initial reaction from everything?
Okay, so I'm very interested in the technical details and I was
hoping for Some more technical stuff going into the state of the Union.
And
so I wanna like now look more at the APIs and see what kind of stuff are actually
introduced.
Yeah, I think that's the same thing here is it's, there's a lot of
fascinating stuff that we'll go over today, but I also think at the same
time, I really wanna get my hands dirty and try it out with Xcode and stuff.
I'll just start off talking about some of the stuff that I found
fascinating just from the keynote.
we got foundation models.
What's been heavily rumored and on everybody's wishlist is we actually
have LLM models to work with and.
The apps in our app development, but also there's a lot of
stuff in Xcode that looks cool.
That might be useful.
Yeah, it looks like it supports a very live, interactive coding system,
which I think a lot of people enjoy.
Also, you can plug into other lms.
Which sounds really great.
As a fan of stuff like Cursor and Claude, I'm really looking forward
to playing around with that.
the intelligent shortcuts.
So have you worked with, app intents at all?
Only a little bit.
So that looks really interesting.
We've been hearing over the last few years guys, start implementing app intents.
Start implementing app intents.
And this feels like the first taste of this is why they've been
telling us to do that for so long.
And then the other thing that we've been wanting for the last,
15 years is Windows in iPad.
How excited are you about that?
I'm a very casual iPad user, but I know people are excited and I'm
excited too for them to get what they
want.
You're an iPad movie watcher, aren't you?
watcher.
I'm really interested in how like sharing drag and drop that kind of
like windowing is a good, very good solid step and I'm gonna install
it tonight probably and try it out.
But to me, like the interactions between the, the different apps,
'cause we just have the share sheet and we have drag and drop.
That to me is like the next step of, and seeing how well that works in this
new paradigm that we have with OSUI,
I think that Apple's clearly experimented a lot with user interface
paradigms with iPad os Over the years.
And I think that's great.
And it's also nice to see that after all this different experimentation, they've
come back to something so familiar because it's totally possible if the o, it could
have gone the other way, that they hit on something very different that works well.
And maybe that came towards the Mac, for example.
I don't know how I. I dunno how else they could possibly do it.
Like that's what I'm seeing is we see this, we've seen other things, tried
stage manager, all that stuff, and at the end of the day, yeah, that's what
they've come back to is windowing.
We have to talk about it.
I'm sorry, but what's been rumored for the last few months?
The thing that's not Apple intelligence and that is a new glass design.
What do you think?
I didn't get a good enough?
I feel like I need to actually use
it
To make a real, to have a real opinion
Yes, exactly.
there was a lot of motion effects that you saw, and that's very interesting to me.
Many people have been worried about readability and contrast and it looks
very justified with what we saw.
So I'm hoping that isn't as bad as it looked like it could be.
Or at the very least, we have a bunch of accessibility modifiers that
sure.
I'm
sure that will be there.
Are you gonna try and chime and see how it works?
Yeah, actually I'm very interested in particular how it looks in
Mac Os and how it affects MAC OS
Yeah.
Yeah, same here.
So I recently, right before I left, I got a Mac Mini M four I.
Like another computer because I need another Mac for my CI stuff.
I think I'm gonna put, Tahoe, which is the new code name.
I'm gonna put it on there and test out my apps on that and see how it works.
'cause I'm really curious.
Yeah, that makes sense.
So one thing I know besides concurrency that you're
enthusiastic about is, text kit.
Yes.
now we got all this new, attribute.
So they have all this new attributed string stuff that's been added to Swift
Does that help you at all, or are you like, no, this isn't, cut it for me.
My suspicion is that it will be absolutely insufficient for editing
large documents or doing sophisticated more than just having like basic,
user input and changing a string.
Okay.
it'll support anything like that
Okay.
there was a bunch of new APIs that looked like they added, at least
on the iOS end for maybe not text editing, but just being able to build.
I know it'll be interesting to see, once we play around
with it and see what we get,
and I know many people have the need for a rich text editing experience,
Does it, is it enough for them?
Yeah, exactly.
All right.
Let's get into, unless there was something else you wanted
to mention about the keynote.
I just had stuff about CarPlay, which I'm a big fan of CarPlay.
I love it.
Yeah, and it sounds like it got a lot of attention.
We've been hearing a lot about CarPlay Ultra on some of the models.
Renting vehicles.
I miss CarPlay, I can tell you that.
And, it was cool to see, it looked like it was the interface that they were
demoing, by the way, looked exactly like the interface on our Ford, transit.
Oh, okay.
So I was like, I recognize that, that looks like my, mini bus
Widgets on a CarPlay.
That sounds awesome.
I wanna, I definitely, it's on my bucket list to play around with CarPlay.
I have a lot of good ideas.
Hold assist.
Looks really great.
Finally.
I'm glad to
see
I missed that.
What is this?
Okay, so when you're on hold, it can either detect, hold music or
something, but basically it can, it will let you know when you're on
hold and somebody finally picks up.
There's like a new wrist flick, interaction on the watch, which
I love because I don't always have two hands available to me.
Yeah, that's cool.
And I am looking forward with trying out the iPhone karaoke, feature in
TVOS, especially with the kiddos.
So we'll see how that works out.
Okay, so State of the Union.
Anything you wanted to talk about the state of union or
should I just go through my list?
Go through your list.
I'm sure we can pick up stuff.
Okay.
About the glass design, we have, the colors informed by the context.
It's curved with the display.
A lot of mentions about that.
Absolutely.
constancy, is that the word constancy?
They used that word quite a bit.
didn't notice that
Okay.
That was weird.
It automatically updates with recompile.
Okay.
Here's a question.
Is this, was there something through this new glass design that they are trying to
hint at possible new models of the iPhone?
Okay.
I'm gonna wait.
I wanna put that question on hold for one second.
I want to call out something else that you just said, which was you have to
recompile to get to pick up these changes.
And I, that was interesting to me because presumably the reason they're
doing that is they're putting this check in to make sure that you have
at least built through app once they're not opting existing apps in.
So I think if you have an app that you don't update, it will not
receive these new UI treatment.
Yeah.
It
does.
Has that always been the case?
That kind of thing has happened frequently.
That makes total sense.
it's a little bit, it reminds me of the initial iPad where those
iPhone apps were running in like
that
that tiny window mode.
Yes.
There's
Absolutely.
Was it Instagram?
Instagram doesn't do that anymore as of a few months ago, so thank you
A Few months ago.
they just released an iPad app.
Yeah, future iPhones.
What do you think?
Is there something about this, it's oh yeah, this will work great.
Foldable iPhones, or this will be like,
that's an interesting question
because I'm looking out for hints of that.
I don't know.
The iPad changes are very interesting because they feel like
they had to take a lot of screen size considerations into account.
an iPad mini
oh my gosh.
Yeah.
No, a mini, from my understanding is just a scale down iPad.
it's actually scaled down
everything.
everything looks the
same
Okay.
I didn't see anything that stuck out to me, especially in terms of the UI hinting
at New Hardware, but I could believe
it.
One of the things we talked about Peter and I on the last episode was
like, are they trying to do something with this, the crease that's gonna be
the inevitable problem with foldable iPhones, and is this glass design and
the curve display and all this stuff, is that a way of them trying to address
it in a way Dynamic Island Wood, or, the front display on the, vision Pro?
They each address certain limitations of the hardware.
Okay.
This is a stretch, but imagine you have this phone that has a little
bit of visual distortion, a display, sorry, that has a little bit of
visual distortion right in the middle.
Okay.
treatments, right?
potentially incorporate that deficiency into the user interface to make it look
less like a mistake and more like a part,
an intentional thing.
Would it be like a book as opposed to a single display?
Yeah, maybe like a
book.
There you go, apple.
You got it, you got the idea.
Now go with it.
I like that.
I like that a lot.
I think that's pretty good.
Anything else about the design?
I think we've talked about it in the earlier piece, Anything
else you wanna cover with it?
I don't have a lot until I actually try it out.
I'm very interested in how it looks on the Mac in particular.
I like very minimalistic interfaces in general and it looked to me, from what
Xcode certainly seems like it adopted this new stuff and it was a much more minimal
looking interface, but it's hard to get a feel for it until you try it yourself.
So good segue, let's talk about Xcode.
Did you see the thing that everybody loves about the new Xcode?
What was the thing everybody
loved?
settings.
because they adopted the same settings, layout as system
settings.
I did notice this.
How do you feel about that?
Xcode has less settings than the system, so I think it could potentially work well.
What do you think about it.
I. I don't hate system settings as much as most people, but I sympathize
with folks who don't like it.
Having said that, I usually can find what I'm looking for because there's a
spotlight search function at the top.
Yes.
That'll take me where I want to go.
separate things you don't like that people usually don't like about settings.
Yes.
The actual setting.
the search works well.
the toggles
They're just, they have a lot of strange behaviors.
So I guess X code could bring that along too, but I bet you it doesn't.
So let's get into Xcode.
Xcode has, we can now hook up into LLM models.
Huge focus on that.
There's this new, one thing I wrote down was a new playground macro, which
might make it easier to do quickly.
Test code, very interesting play around and playgrounds is like
specifically mentioned as a great use case to play around with alls, which
I find really fascinating and I'm looking forward to trying that out.
I don't know about how fixing code, especially Matt, for you fixing code
that is not concurrency set up correctly if the LMS are gonna do a great job
So when they showed this UI, it reminded me a lot of the rename feature,
Concept, but I have had very poor luck with this working
correctly.
Now that's a little different because that is intended to be a precision tool
that works 100% correctly or not at
And
that's
This is not that way.
So it might not be subject to the same problems, but it certainly
made me hesitate when I saw it.
Not until we try it out.
Yeah.
I don't know.
There was such a big focus on that.
I was interested in the UI changes.
That was definitely something I wanted to check out.
Yeah.
There was a big focus on the LLM integration.
People seemed excited about
It
Yeah.
By the way, I finally figured out how to get.
The Mac OS 26, VM to work.
It gives you an installation error in bushel if you have to install
X code 26 to get the VM to work.
Interesting.
that's possible.
There's all kinds of things that I'm sure are broken or incorrect
in the first betas that will.
You shouldn't put it on your primary phone.
Yeah.
It's almost worth letting my phone crash for that.
Okay, let's talk about, so machine learning, was there anything in
there that you were interested in?
The impression that I got from them was that they really thought
about what people are looking for out of these tools and ways to give
them, really easy to integrate.
Systems into their
code
and that whole thing there was like all, it looks like it was macro
supported or something along those lines to be able to define very like
they're using actual swift types that you can put in and get out again.
And I think that will be very appreciated by many people.
There's this like generative macro that I saw, which sounds really interesting.
Not only have they been emphasizing the use of app intense in our apps,
but they've made it easier I feel like this year to do that as well.
And it definitely feels like guys really get on the page,
like start getting app intense so that your stuff is discoverable.
I didn't, and especially
the big emphasis on the new spotlight.
So this is a macros thing,
I think that might have been true on the phone as well,
right?
Sorry.
That is true on the phone.
Yeah, you're right.
But it seems yeah, like they're making it easier and they're trying to continue
to emphasize the use of, app intense and generative and that kind of stuff.
And shortcuts.
Shortcuts too.
Looks amazing what you can do on Mac Os, with app intents and shortcuts
and the Mach machine learning type stuff you can do in there.
So I'm excited to try that out.
Absolutely.
I haven't played enough with Appin intents to have a really good
opinion on this, but if you're excited, then I'm excited about it,
I don't have a use case off the top of my head.
I will have a use case, I'm sure once I've done app intense before
and it's absolutely fascinating what you could do with it, but there's
just so much potential and I think that's what I'm excited about.
I. wanna skip the swift stuff because that'll be the stuff
we'll really deep dive into.
Sure.
So we got 3D charts, which looked really cool.
You can do 3D graphing, idle prefetch for better lists.
Oh yeah.
they really focused on that.
Yeah, that was interesting.
Specifically Mac os
I think it's received a lot of criticism because I have certainly spent time
working on list performance on the
Mac.
it isn't necessarily a straightforward thing, so I think it's received a
lot of criticism and that's why I,
is it just not do very well, or is it hard to play around with or what,
because to me, like the list challenge was always because iOS devices are,
they're just constrained on memory by far compared to Mac os.
So I always thought Mac OS wasn't a big deal.
Am I totally incorrect in that?
No,
no, you're right that the Mac has access to more memory in general, but I don't
think that's typically the problem.
Okay.
And I think that in comparison to iOS, for example, which I have done
the last work on, but in the Mac, there's many performance pitfalls.
Okay.
That's good to know.
I don't do gaming.
Yeah.
I don't think that many people will either,
Have they done less game demos now that they prerecord
this?
That's an interesting question.
do, Cyberpunk, they did that and they did some other game, but it was pretty brief.
they have done too much of an emphasis on demos and not enough of an emphasis
on, here are the things we are building that are nice for game developers.
It's a developer conference and I like to focus on that.
I think they felt, you know what it is.
Switch two came out last week and they're like, yeah, we shouldn't
try to like one up Nintendo Uhhuh.
So let's keep it, let's keep it slim.
But yeah, they did do a lot as far as game development was concerned.
The new gaming stuff does sound if I was a gamer or game developer, it
does sound cool, what you could do.
So we'll see how that goes.
Vision os we have better anchoring.
I'm really, we're not, we have to go to the other room
if we wanna talk about that.
But, yeah, vision os it definitely seems like they're still building stuff
for it, so we'll see how that goes.
Alright.
Let's get into
but if I'm not wrong though, there wasn't a major focus on a new version of
Vision Os it seemed like minor changes.
Is that your impression?
I don't know because I haven't done any vision, Wes.
Okay.
it didn't feel like there's any major changes that are coming.
Yeah.
So swift big changes.
We see continuing maturity of concurrency.
Oh yeah.
And yeah.
What's your thoughts on where Swift 6.2 is as far as concurrency is concerned?
If you go back to last year, so 6.0.
I was convinced that the team was gonna release 6.0 and at the same time,
they were also going to do all the work to at the very least have correct
annotations for all of Apple's own SDKs.
This was my assumption.
And that did not happen.
6.0 was a very big release and it came with it quite a lot of bugs.
So then we have 6.1, which came afterwards, and that fixed
a tremendous amount of bugs.
And actually also along that way there have been a number of Excode releases.
Those have also begun to iteratively include more annotations in the SDK.
Very welcome stuff.
brings along some major changes, but major not in terms of the
language functioning differently.
It does in a few ways, but mostly it's major changes to give you
tools to be able to ease migration into this new language mode.
What I haven't been able to figure out, and it doesn't seem like
anybody has talked about anything, is changes to annotations for SDKs.
Like one thing I looked at, for example, a library that I have had very little
experience using, but a lot of experience helping people with is AV foundation.
Okay.
AV foundation is quite hard to use with concurrency.
It's just, it's very dispatch focused and is missing a lot of annotations, for
Okay.
And as
so far, there are a lot of new things in it, but I don't think there's anything
related to concurrency that has changed.
I looked at virtualization and yeah, it doesn't look like.
now, it's still that beta one.
So there still is room for these things to
change,
let's you know what happens.
happens.
It happens.
Okay.
If you
there's, there is still, I don't think there's zero hope.
But I was a little bit disappointed that there wasn't more emphasis there.
Yeah.
However, I will say there was an important compiler change that deemphasizes the
need for some of these annotations
You wanna go?
No, so specifically they changed the rules around importing objective C
code.
Okay, go ahead.
When
import objective C code.
Yeah.
I'm all ready to do this 'cause it's part of my talk.
When you import objective C code, if you look at a function,
parameter, for example, the compiler assumes that it's escaping.
Okay?
And then you can tell it in objective C Oh, actually this is a non escaping thing.
So that's a very conservative assumption that it
makes.
so the, okay
You follow what I'm saying?
It looks at, so you
a keyword?
You have to add these annotations.
'cause objective seed doesn't need this information at all.
This is only for
it, it assumes the worst case.
And then you put this special annotation to say, actually not escaping.
Okay.
But for sendible, which is much more important and more
consequential if you get it wrong.
It assumes non sendible.
Okay.
Which is, it makes it easier in some cases to use, but if it's wrong, the
consequences are really terrible.
So now if it can determine this is a completion handler, it will assume
sendible, which will result in more warnings, but also it's way more safer.
It's a much more conservative
Okay.
And I like this
Yeah.
That sounds really cool.
This will actually help with AV foundation.
I was just complaining about it, but it will make things better.
Okay.
Yeah, it's really great that they've continued to make
objective C friendlier for Swift.
just annotating the code with more information.
It's not enforced, but
I don't actually think this kind of stuff, I don't think the objective
c compiler makes use of this at all.
Exactly.
It's like it doesn't care, but Swift will.
Yep.
The one thing I want to talk about.
So we finally have, what's basically, static sized
Oh, yes.
my understanding was this was useful in the embedded space, but it sounds
like it's also gonna be pretty useful, in the server side space
as well and in a few other places.
My guess would be that it's useful in any context where you're
dealing with known fixed size data.
I think it will be a performance.
How much of a performance win it is, depends on the situation,
Why didn't they have this in the first place?
I don't have a good answer for that.
my understanding is that there were some changes, like this ability
to put an integer as a generic
That is crazy.
That looks
They probably had to, and I don't really know how that works exactly, but I suspect
that had a lot, there was a lot of type system work, and you can see this kind of
trend happens a lot in Swift where they have some end goal that's quite far away.
And they make a lot of changes along the way to be able to finally implement that
And I think this is one of those examples
DS sells for.
Swift ui, like they had to do a lot of things to get to that point.
ui,
Now, what is the difference?
So what is the difference between span an unsafe pointer and how
does this affect objective C code?
I wish I had a good answer for you, but unfortunately I
have been ignoring that area.
But you can get the right idea, even just by looking at the example that was
presented during the State of the Union.
they have, there are many existing SWIFT APIs for interacting with pointers and
interacting with buffers of values.
And they're pretty unwieldy and it can be quite difficult to get
Right.
variations, like subtle
variations,
and I think this is just another way to provide a mechanism where the
compiler and type system can understand the underlying data so that they can
provide a safer API, but also it looked like a much, more concise API as well.
One of the things about SWIFT in the early days was how all of a sudden
we didn't have to deal with pointers.
This looks like a, basically a friendlier way to do pointers, especially since now,
since there's interrupt with c plus and a few other languages that use pointers.
This is what it seems like it's intended
Yeah, I, now that you're saying this, I'm interested too, because
there are many objective C APIs that actually use pointers as well.
And I'm curious if they have incorporated the SPAN stuff or fixed size arrays
into any of their own, like bridged
I predict no,
happens based on previous results.
Yes, that's what I'm seeing.
a number of years ago there was this system introduced called Extension Kit.
Yes, it was introduced on the Mac.
You talked about it.
I really?
Okay.
Yeah.
So it was introduced for the Mac and then, maybe bits and pieces
were a little bit available in iOS, but it was non-functional.
Then the next year of big portions were introduced for iOS, but not the core bit.
You need to actually make it work, which is very suspicious.
Yeah,
that is really
Yeah, and I just assumed, oh, something had gone wrong and I predicted the next
year it would show up, which it did not.
Okay.
then the year after that, it also did not show up,
It showed
Yes, it did.
That is awesome.
I haven't actually played with it, but it certainly looks like it's functional.
Okay.
You'll have to come back and report that
Yeah, I'm very interested
Yeah.
I think it's
a lot.
that's it.
We'll be playing around with this and I will be reporting back.
I'm sure we'll have some more guests on the show when I get back to Michigan.
Thank you so much, Matt, for joining me for this.
It was wonderful.
Where could people find you online?
you can find me@maico.org,
And if you're looking for help with Swift 6.2 and concurrency,
definitely check out his website.
It's excellent source for that.
Thank you so much for joining me.
If you wanna try out Mac Os.
26 and you don't wanna break your laptop.
Definitely check out Bushel.
It's on sale.
Pro subscription.
Make sure you install Xco 26 though.
But you can definitely play around with it, there.
Thank you so much for joining me for today's episode, and I will
talk to you when I get back home.
Bye everyone.