Making Development Easier for Developers
And it seems retro in the worst way that we’re still using anything other than a scripting language for most of our code. We should be using something simple and light that can configure toolbars, handle networking callbacks, query databases, manage views, and so on. And maybe with a DSL for SwiftUI-like declarative UI.
Almost none of that code needs to be in a lower-level language like Swift or Objective-C. It really doesn’t. (I say this as a performance junkie!)
It could be in Ruby, Lua, Python, or JavaScript. Better still would be a new language invented specifically for the problem of writing apps, something designed to make the common challenges of app writing easier.
We did have this stuff decades ago. Not for app making in general, sure — but now it’s 25 years later, and a company like Apple could make this real for all its app makers.
Where to start? Let’s start by saying I agree 100% with Brent. Having a built in scripting language with dynamic UI updating and easier ways to build code and UI would be absolutely incredible! And, like Brent says, I’d love to see Apple make this happen.
A hojillion years ago when I worked at Visio we had VBA (Visual Basic for Applications) integrated right into Visio. It was a fantastic way to build custom Add-Ons for Visio. You could embed your VBA solution right into your template or document so folks could invoke it right from the app. This allowed folks to make fancy automation to fit their particular need and do it in a high level scripting language that could control Visio in all kinds of ways! I loved it! I spent a lot of time working on Add-Ons to Visio in C and C++ but I used VBA to test things before implementing them as an Add-On — Add-Ons had the advantage of being usable app wide.
I’m not sure how VBA is used in Visio today but before I left Microsoft had added a way to build your solution code into binary form so it could be signed before including it as a part of your solution package. It was such a marvelous development environment.
Now, if you’ve ever used VBA in Visio, Excel, or Word you know exactly how powerful it is. Could you imagine having access to something like that within your Xcode dev environment that was fully integrated, or even supported like VBA in an application? Yes, it’s a lot of work to make something like VBA work but it is so worth it.
Brent mentions Ruby, Lua, Python, and JavaScript as the scripting languages but I have to say Microsoft’s Visual Basic for Applications is so much easier to understand and use than any of those languages and it was easy to open functionality to it using Microsoft COM, IDispatch specifically, in the app. I know, COM has a bad reputation for being difficult. Yes, like I said earlier, it’s a LOT of work, but it’s so worth it when you can open all that power to your users and yourself! Taking that to the next level, like Brent’s talking about, would be a huge boon to Apple Platform Developers. AppKit, UIKit, SwiftUI, Objective-C, and Swift are still too deep to move quickly. If developers creating code for any of Apple’s platforms ever took some time to use VBA they’d see what I’m talking about. The paradigm is a bit different than they’re used to but, hell, I was so confused when I came to iOS development! They’d get used it after a time.
Building UI and code behind VBA forms is so easy. Drag and drop a UI, double-click on the element you’d like to add code for, and write your code. That’s it. It’s that easy! I would totally embrace this idea for application development on Apple platforms.
You can build at a higher level today using awesome tools like Xojo that give you a very Visual Basic like experience complete with a drag-and-drop forms builder just like Visual Basic!
Psst, did you know that folks have been scripting applications for iOS, complete with dynamic UI updating, with React Native? Yeah, it’s true! I’ve been working on an application like that for the last two years. We’ve almost completely rewritten the application in 100% React Native, which uses JavaScript as its backing language and a way to build UI in a very HTML/CSS manner. Think SwiftUI with web technologies. It works.
I know of many applications using Electron to deliver cross platform apps, like 1Password. They used Rust for mission critical code and put an Electron “front end” on top of it. Microsoft has fully embraced React Native. They like it so much they’re the primary maintainer of React Native for Windows!
Am I saying React Native is a perfect solution? Hell no! It’s a terrible developer experience in my opinion. Most folks use Visual Studio Code — I prefer Nova myself — as their editor and don’t have a nice debugger to fall back on. Nothing is integrated. It’s a bunch of tools losely hung together by duct tape that let you kind of see what’s happening in your app. Hey, if you think console.log is the height of debugging then this environment is for you! 🤣
In the end I, like Brent, would love to see a modern scripting environment that’s embedable or standalone that is fully supported by and used by Apple internally to create applications. The embedded environment is very enticing to me. Something like Visual Basic for stand alone development and Visual Basic for Applications for embedded scripting would be absolutely incredible!
Modern means easy to use UI builder and code behind that is a super simple language like BASIC and on top of it make it easy for third-parites to make extensions to the environment and provide code modules that give developers the power they need for specialized applications.
Look at Xojo. That’s it. Apple, buy it and make a version that’s 100% built for your platforms and is embedable in applications.

The first bug was occuring when you’d pick a feed to subscribe to. That porting of the code has been synchronous since day one. I figured why do it asynchronously when the UI was going to be blocked while I added the feed to your list and parsed it. Well, newer versions of iPadOS didn’t like that and the app would crash hard. Yikes! Can’t have that. I fixed that bug earlier in the week or maybe last week, I don’t remember, but it’s out of the way and now asynchronously updates the app, be it iOS or iPadOS.
The week started off a bit stressful for me. Stream was stuck in Waiting for Review hell at the beginning of the week. I finally pulled it from review and submitted a new build. That worked and some folks were able to look at the latest release. I even got some bug reports (nasty crasher on an iPad Mini I haven’t sorted yet) and found some terrible bugs running Stream on the new iPadOS 26 windowing support. Ack! 😲
The new concurrency support for Swift sounds extremely complicated, even for the best of developers. Matt seems to be an authority on the matter so I hope to read more of his stuff once I get to a new app that needs it. For now Stream is what it is. It uses closures/callback blocks to update models and the UI after pulling new feeds. It works as is and changing it just to change it feels like a waste of time. I really want to finish the Mac version and I do have another app to build. That seems like a good time to do SwiftUI and proper concurrency work. Like a dummy I’ll try to do both at once. 🤣
This is a tough one. And it’s only tough because I don’t know AppKit as well as I do UIKit. Yes, Stream is still 100% UIKit and the Mac parts I’ve done are all AppKit. I’m thinking I may do some new features in SwiftUI because I need the practice. I’ve never built anything with SwiftUI.



Its been a pretty normal type week, nothing exciting to talk about. I did get a haircut! 😁
This week Kim and I celebrated our 38th wedding anniversary. Tonight we’re going out for dinner and enjoy some quiet time together.
I’m thinking

I had a heart stress test this week and I guess I’ll find out the results sometime next week. I’ve seen the results but it’s all medical speak and from what I can see I have a problem with one of the chambers of my heart. No doubt my poor life choices are catching up to me quickly. I was encouraged to see that some of what was mentioned said it was reversible. No doubt diet, exercise, and dropping about 100lbs will be the thing I need to do. Easier said than done. 😃
Nothing of interest to report this week except my failure to really grok React Native and by extension TypeScript. Everything about it feels counterintuitive. 🤣



Its been a pretty average week this week. Work was fine. I moved to a new team on the same project so I’m getting back up to speed on what they’re doing. All good and familiar to me after two years on the project.
👍🏼
Their designers craft 

