WWDC 25, Day 2

Well, this year’s virtual WWDC is packed with even more activities, all which make it really had to get into my normal review of a ton of sessions. Yesterday I attended three different group labs. These are new for 2025, and end up being a Webex with a team of Apple Engineers from various areas. The format is a set of Q&A from the attendees, and questions are up voted. Only one hour long, they can get pretty detailed, but they also interrupt my flow for the day. Today I am only attending two of them so I am hoping to get caught up on the various virtual sessions.

I attended the following group labs:

  • Developer Tools group lab – the discussion primarily focused on the new swift assist features (AI). This is going to have a huge impact on how developers work on their code.
  • Camera & Photos frameworks group lab – the discussion here was surprisingly focused on the LIDAR features of the camera. I am thinking there were a lot of people who worked in the auto industry on the Webex. There were also some discussions about how to improve performance on photo views.
  • Swift group lab – most of this discussion was about swift concurrency, which is not a big surprise, as the introduction of Swift 6 has forced a lot of developers to make their apps more concurrency safe.

In between the various labs, I tried to get a few videos in:

  • What’s new in App Store Connect – The major changes here were exposing much of the App Store Connect features via APIs for enterprises to integrate into their existing pipeline, along with new features in the iPad app. Adding summaries in the reviews based on Apple’s LLM was enabled.
  • What’s new in Apple Device Management and Identity – This was extremely informative. I recently took a new job and my company uses Apple Managed IDs. It has really impacted my ability to use my Vision Pro on a daily basis (I won’t put my work account on my personal devices). Apple’s new improvements to Business and School accounts, means that enterprises can now control even more granular capabilities on the device. They also did major improvements to pre-provisioning and reuse of devices. They also now support the Vision Pro in a major way with all the same features (for the most part) as Mac and iOS.
  • What’s new in visions OS – I am going to have to go back and review this on multiple times. A few key items were adding access to the foundation models on the device, new accessories including using the Sony VR controllers, shared experiences, and a whole lot of content focused on enterprise usage models. These include improvements to manage multiple users sharing a single device and multiple people sharing the same virtual space when in the same room.
  • What’s new in watchOS 26 – The changes here were pretty minor, mostly UX refinements; however, the one feature that seemed to be meaningful was the introduction of RelevanceKit. This will allow widgets, stacks and notifications to be much more aware of location, time of day, and other patterns. The one part that worries me about this feature is that it invites a new vector for stores to advertise.
  • What’s new in Widgets – To me the biggest changes in Widgets is that they are now available on visionOS, and have the ability to be pinned to a location. This pinning is also available for other windows, and will make the Vision Pro even more relevant. You can also now use APN (Apple Push Notifications) to update widgets.
  • What’s new in Xcode – The integration of Swift Assist and local models is the part I am so excited about. Learning about the new Icon composer, updates to string catalogs also looks great.

WWDC 2025 – Liquid Glass

Liquid Glass

Today was day one of WWDC 2025. The most exciting part will be the new UI. Apple calls this design aesthetic “Liquid Glass” and I couldn’t be more excited.

Image from Apple demonstrating their new Liquid Glass design.

The best way most people will understand this change is that it is taking the learning from the Vision Pro and taking it across the rest of the Apple ecosystem. However, this appears to be an oversimplification. The way that Liquid Glass behaves is much more like water droplets on a service. Think of how water will refract items below them. This will make your device seem more “alive”.

Seeing how Apple is taking this across all devices, watch, tv, Vision Pro, iPhone, iPad, and macOS this will hopefully make it easier for people to adapt to the new UX..

Xcode enhancements

The second exciting thing from today’s announcements is that Apple is allowing third party models to be used within Xcode to help in coding. By default you can attach your OpenAPI / ChatGPT account; however they have made it expandable to other models, either on your device or via API keys. This is a huge upgrade, and will allow developers to quickly get up to speed in using an AI to simplify some of their coding tasks.

I have been using Visual Studio Code’s integration with chatGPT, Alex, and Perplexity for some of these tasks, but a first party integration into Xcode is a game changer. In the past I have quickly run through Alex’s free tier, chatGPT has been ok, but has issues with accessing my projects when they are under GIT, and Perplexity right now would require me to cut and paste my projects onto their servers.

iOS 26

Screen shot from Vision Pro of apple executive standing in front of large iOS icons
iOS Icons in space!

This section of the presentation was more about the UI changes, with major improvements; all designed to expand content to the edges of the screen. Time was spent on the new phone app! Where they have redesigned the UI to pull together most of the content on the main screen, and expose some of the content that you may not remember. Overall, there were the usual large list of changes to apps like Camera, FaceTime, Messages, Music, Maps, Wallet, Gaming, Visual Intelligence, and more.

There were two types of changes, UX changes to take advantage of the new design language and functionality changes that are taking advantage of more Apple Intelligence features.

The key message continued to be that developers can use AppIntents to be included in all the cool up coming Apple Intelligence features.

watchOS 26

A few key updates to watchOS:

  1. The new Workout Buddy feature. This will use on device AI to build motivational commentary while you work out. The coolest part to me was that the voice they used in the demo appeared to be based on “Sam” my favorite Apple Fitness instructor.
  2. The Notes app is now available on the watch. I use Apple notes a lot, so this is a nice addition for me.
  3. Updates to the Smart Stack. This has been slowly becoming more useful for me.

tvOS 26

tvOS features map floating in Vision Pro view

Not much here other than a new Karaoke mode in the music app that allows everyone to use their iPhone to sing. Everything else seems to be UX changes.

macOS 26 Tahoe

macOS Features page floating in Vision Pro screen

The biggest things here, besides UX matching with Liquid Glass:

  1. ability to color folders and add emojis – yes this will kill a few utilities I use
  2. the Phone app is now available on the mac
  3. Continuity – Live activities are now available on the Mac, and will auto launch the app on the iPhone if you are using mirroring.
  4. Shortcuts – you can now tell a shortcut to use Apple Private Cloud Compute,
  5. Spotlight – I think this version has finally taken me to the point where I don’t need Alfred any more. I took Alfred off my set machine to see how I do this summer.
  6. Gaming – Yes the new gaming app is here too. I tested it to see if it would find non-App Store apps on my machine. Nope.. not yet

visionOS 26

visionOS Features page floating in Vision Pro vies

Other than the UX changes across all other devices, this was the most exciting one for me. It appears to me that visionOS is now at the level of a version 1.0 operating system. I believe that the average person can now find things that might make visionOS a daily drivers.

  1. Widgets are finally available. I can’t believe that I said “finally” the OS has not been around that long. I need to check my Widgets in wasted time this summer.
  2. Support for the Sony VR2 controllers and an upcoming Logitech device for writing in 3D Space.
  3. Persona’s are so much better. The left one is the new persona, the right one is the original.

iPadOS 26

iPadOS features page floating in visionOS space.

This is probably the most impactful set of updates. The iPad has been a great productivity device for me, I use it to edit my weekly podcast (Games At Work dot Biz), take notes on it during meetings, follow my social media feeds, read RSS, read books, watch media, and play games. I would love to do more on it. My M4 iPad Pro is just as powerful as my M2 Max MacBook Pro.

The biggest change is the Multitasking subsystem appears to no longer be throttled. As a developer you can now update your app to process in the background in a manner that makes sense. This means long running processes can be kicked off, and they will run!

The windowing system is finally basically the same as on a Mac, i.e. fully resizable. The mouse pointer is now a pointer, not a blob, and tiling is much more mature. Oh, and now you have menu bar at the top of the screen.

You also have improvements in Files. The Preview app is now available on the iPad!

And finally, as a podcaster, you can now do local recording of your audio input, allowing for the double ender editing that we use for our podcast.

So much more

There was so much more, and I will spend the week going through over 50 of the 100 sessions that Apple released yesterday. Looks like it will be another exciting summer.

Two Weeks In

On May 12th, I started a new day job at the company Atlassian. Atlassian, is THE premier provider of tools for Teams. One of the most exciting parts about being a Newlassian, is that from everything I have experienced so far, they are truly practicing what they sell to customers.

The ability for anyone to work anywhere, while still being part of the team, is a key attribute of #TeamAnywhere. They also focus on their employee’s in a way I have not seen since the very earliest part of my career.

As part of the onboarding that I am going through right now (30 days of basic onboarding and another five weeks of onboarding for my specific role), they talk about the company values. While I’ve been at multiple companies in the past that talk about Company values, most tend to feel like either designed by committee, or a third party consulting firm, as to ensure that they sound pithy but have no teeth. Atlassian’s values don’t seem like this at all.

  1. Open company, no bullshit – This means that the language within the company is direct and open. No corporate passive aggressive crap, that had become all too common in other companies.
  2. Build with heart and balance – This to me is the exact opposite of the “move fast and break things” approach. While Atlassian is now 20 years old, they have a thoughtful startup mentality.
  3. Don’t #@!% the customer – While the values page uses #@!%, the company doesn’t fuck around with the term. Going back to #1 above, the language is direct. It must be the Australian mindset. But it is definitely true, in all the meetings I have been in the customer is front and center, and the teams focus on doing the right thing.
  4. Play, as a team – Software is a team sport. Business is a team sport. While people call out the “leaders” or “founders” as the people who are successful, it can’t be successful without a team. And as such, the people I am meeting and working with are really focused on everyone succeeding.
  5. Be the change you seek – And finally, all of the prior items lead us to how can you make the change you need to be successful.

I am only two weeks in, but I already feel like I made the right choice to pursue working here. Will check in again in the future, as I continue to move forward in this stage of my career.

Have You Considered, LLC

I’ve been working for some time to appropriately setup a business around my App work, along with other activities I’ve done. To that end, the business has been setup as a LLC.

A LLC is a Limited Liability Corporation. And this morning, I have updated the copyright on all of my apps to show that they are part of Have You Considered, LLC.

On-Device Design Failure

Privacy

Privacy is one of the reasons I really like Apple products. Apple tries to keep things happening on device for the sake of privacy. I try to keep to this same design principle for my apps. I have feel it is important that people can trust that you are not doing things with their data. And to that end, I’ve been working on a new app, that will contain some very personal data. That data should only be available on the device of the user.

Features

One major feature that the app MUST have is to trigger an event if the user is no longer able to respond. To achieve this feature, I had thought to send the user a local notification, on a periodic schedule of the user’s own choosing. I would then monitor for a response to the notification. The app will trigger sending data to someone if a response is not received within a certain amount of time.

I have built out the scheduling mechanism and added in logic for acknowledging that the user has tapped on the notification. Those were the easy parts. Since then I’ve investigated triggering an event via the app when the notifications are sent. This does not seem possible, as most likely the app will be in a background state. At this point, I have to use a remote notification, breaking my rule for only on device notifications.

Challenge

Given that the notification is only there for proof that the user can respond, this is probably not a big security / privacy issue, but I had not wanted to track any data about any users. This will require that I register the device, and the user being able to respond. It will then make it so much easier to add additional features which take advantage of having this server based backend.

Should I do this? Or should I call the app off?

Latest Activities

I’ve been working on a few projects lately, and it has impacted my desire to blog more often. Just a few things I have been working on include:

Building a business – yeah. this is a big deal. I retired from my “day job” back in October, and since then I’ve been working with a startup called TVPCT, Inc. As Vice President – Technical Strategy and Operations, I am helping the team focus on two things:

  1. Improving their technical solution.
  2. Improving their operational posture.

Like many startups they have been working hard on creating a technical solution, that not only meets the needs of the founder, but that also addresses the many requests from visionary early users. They have an incredible solution that allows SMB (Small and Medium Businesses) take advantage of the recent explosion of AI capabilities. I’ve been helping them understand issues like Scalability, Maintainability, and Customer onboarding. It’s an exciting time to be working on these challenges.

Improving my technical credentials – I received my AWS Architect certification and am currently working on AWS Security certification. These two certifications are both technical and challenging. Many of the practices and learnings are applicable for other platforms too.

Releasing new Applications – I’ve released a new application back in January (Quick Localizer) which allows for easy localization of your application developed within Xcode. Xcode uses a xcstrings catalog for all the strings in your application. As such, we can take advantage of Apple’s language support on macOS to translate strings from one language to another. I am currently working on two new applications:

  1. Vinyl tracker – an application that allows you to keep track of the vinyl records in your collection.
  2. Letter tracker – an application that allows you to track physical letters that you send to people.

I am really excited to work on these new applications, as they are giving me an opportunity to really stretch my knowledge of SwiftData and SwiftUI.

Greet Keeper 1.5 Feature Test

One feature I’ve been wanting to add for Greet Keeper is to allow a user to grab the image of the cards they’ve sent from the manufacturer’s site, or if they sent an e-card to include an image of the ecard.

To that end, I’ve been toying with adding a new picker to the add Card Gallery image. Here’s a prototype of it a simple one screen app. What do you think?

Greeting Keeper 1.4.1 Updated

I’m really pleased to show off the latest version of Greeting Keeper, version 1.4.1. The design has been slightly tweaked from 1.4.0 to fix a few issues with colors and navigation..

The following video shows Greeting Keeper running on the iPhone SE (3rd generation) simulator.

When you launch the app for the first time, you are presented with a simple walk through which describes what the three tabs are for:

  • Occasions – which are simply any reason you may wish to send out a greeting card. Examples include: Birthdays, Anniversaries, etc.
  • Cards – which is where you create a gallery of cards for specific occasions.
  • Recipients – which is anyone you send a card to. You can either pick them from your contacts, or manually add their information. You can even classify the recipient as family, home, or work. I added this, for a possible future feature to print address labels for mailings.
  • Sending a card to a recipient – this is about tracking what card you sent to who. You do this by selecting a resident and pressing the + .

I think the app is now fully feature complete for all the basic functions. As you can see on many of the screens you can long press on things to edit them, and even just tap on a card to see a larger version.

I’d love to hear what you think of the latest version, so please rate it and review it on the app store, and also drop me a comment here for new features you may wish to have.

So far I have the following ideas in the backlog:

  • Add an App Intent to show a gallery of a specific event type’s card. This would be used to show a widget full of cards
  • Add ability to view all the people who received a specific card from within the Card Gallery
  • Add date range selection for the various PDF reports.
  • Add additional information on the full screen card view, i.e. manufacturer

Greeting Keeper 1.4.2 Released

There’s been a few releases over the last few weeks, but I am running into one ongoing bug on the visionOS version. The PhotoPicker causes a looping situation, that I’ve spent days trying to resolve.

The code works fine on macOS, iOS, and iPadOS, as such I am thinking that it is a SwiftUI behavioral difference on visionOS. So far, I’ve not had much uptake on the visionOS version, and as such I am thinking that it is not a big deal.

My base assumption is that visionOS users also have either a mac or iPhone, and as such they can work around the PhotoPicker bug by just using the other versions. visionOS still makes a great viewer, and instead of spending more time on it, I would like to add additional features.

What do you think?

Quick Localizer – Now available!

If you are a developer, who uses Xcode, then you need Quick Localizer! This app helps you get started on the path to support multiple languages in your app.


Check out the coming soon post I wrote a while back.


The app is really easy to use, and has a simple $4.99 one time charge.

I’d love your feedback and reviews. I am leveraging Apple’s own translation features, but packaging it up nicely for your Localizable.xcstrings file.