This Week's Sponsor:

SaneBox

Clear the Clutter, Keep What Matters.


Posts tagged with "developer tools"

Why Aren’t AI Labs’ Apps Better?→

Ben Davis (co-host of one of my favorite new podcasts this year, Nerd Snipe) has a fascinating take on a question I’ve seen many in the Apple community ponder as well: if these frontier models are so good, why do most AI apps from the big labs still kind of suck?

Davis wrote about this in relation to the ChatGPT/Codex desktop app, which has turned into a bit of a kitchen-sink design phenomenon with all kinds of features crammed into a UI that has two left sidebars, multiple modalities, and all sorts of disjointed menus.

To me the most interesting thing here is the implied question of “if the Codex team has unlimited tokens on really powerful unreleased models, why is the product getting worse?”

The lazy answer is “it’s just vibe coded slop, real artisanal code wouldn’t be like this”. Anyone who still says this is a moron and you can ignore them.

“Vibe coding” is not the problem. Frankly, these models are better at writing code than pretty much anyone at this point. You tell the model to make something and it’ll make that thing quite well. And also to be clear, Jira was horrid before LLMs existed. Good and bad products have always existed, and I actually think you can make infinitely better products now when using the agents properly (see T3 Code and Grok Bot).

I’ve been reviewing apps for over 17 years. Without a doubt, the most basic “vibe-coded” app created with Opus 5.5 today is infinitely more stable and nicer than any first app from an amateur developer in 2009. So if we agree that these models can write good code now, why is it that so many apps are still bad?

As we argued in our interview with OpenAI’s own Andrew Ambrosino (the irony is not lost on me), it comes down to human discernment, taste, and other qualities that can’t be turned into “metrics” for a model…at least not yet.

Davis continues:

To put a more precise definition on it, I think this “taste” is the ability to make good decisions in places where there isn’t a programmatic verification function.

For example: “make this function really fast” isn’t a “taste” task it’s a hill climbing task (make changes => test changes => repeat until goal met) which the models excel at right now (I think that any problem which can be expressed in this shape can be solved now by Opus 5.5)

“Which of these color palettes do you prefer?” is a “taste” question. You can’t really put a verifier on it other than your own opinion AKA your own taste. It’s a simple little example, but everything from codebase structure to dashboard layout to how features in chatgpt fit together all fit under here. Their implementations are “correct”, the tests pass, I just hate the choices they made.

“The tests pass, I just hate the choices” sums up my experience with coding agents perfectly. We’re working on our first two apps for MacStories (more in the near future), and while I’m not writing the code, I have to spend so much time thinking about usability decisions, onboarding flows, iOS best practices, and “it just doesn’t feel right” issues that models haven’t been able to abstract yet. I have to wonder if, in a rush to maximize infinite token usage and build everything “because why not?”, perhaps the big labs may have ignored these other aspects of good software design. I strongly believe that there’s more to a great app experience than elegant code that passes tests.

Knowing how these things can change so quickly in this scene, I’m sure this post will be obsolete in a few months. Maybe even weeks. But at this moment in time, Davis’ article is spot-on and human decisions still make a dent in software coded by agents.

Permalink

Frames CLI 1.5.0, Now with iPhone 18 Pro and (Experimental) iPhone Duo Support

The updated Frames CLI also supports proportional scaling for iPhone Duo.

The updated Frames CLI also supports proportional scaling for iPhone Duo.

The Frames CLI – the companion command line interface to my Apple Frames shortcut I released earlier this year – received a 1.5.0 update earlier today with two notable additions: iPhone 18 Pro frames, and experimental support for iPhone Duo screenshots in all poses.

As always, my shortcut and CLI are based on Apple’s official product bezels, which is why, as of today, there is no support for Apple Watch Series 12 and Ultra 4 yet (those frames haven’t been published by Apple). iPhone 18 Pro is the new default frame family for the two Pro and Pro Max screen sizes, and the CLI supports all the new device colors this year (Burgundy, Glacier, Silver, and Black).

iPhone 18 Pro in Burgundy.

iPhone 18 Pro in Burgundy.

iPhone Duo support is experimental. I obviously don’t have an iPhone Duo yet, but thanks to Opus 5.5, I was able to grab screenshots from the Xcode 27.1 Device Hub, verify them against Apple’s official assets, and test everything in the Frames CLI. It should work! The CLI – and, thanks to its skill, your agent of choice – supports framing screenshots taken on the inner and outer display, different poses, different rotation settings, as well as screen recordings.

If you’re a developer working on iPhone Duo apps, I think the updated Frames CLI should come in handy to automate the process of framing multiple screenshots and screen recordings. As before, you can take advantage of CLI features such as proportional scaling, merge mode, and batch mode, which should help you with your upcoming App Store submissions for the iPhone Duo.

The Frames CLI is free and open source, works with any agent, and is highly customizable. I’ll release an updated version of the Apple Frames shortcut once I can get my hands on an actual iPhone Duo next month (hopefully). Fingers crossed.


Running Simulators Inside Claude Code for Mac→

Claude Code has a new simulator button.

Claude Code has a new simulator button.

Claude Code’s Mac desktop app has added Apple simulator support, and although it’s billed as “iOS Simulator Support,” it actually works with any iOS, iPadOS, visionOS, or watchOS simulator you have installed.

The process of setting up a simulator is simple. A new button with an iPhone icon appears when you open an existing project. Click it and a new iPhone simulator pane opens to the right by default. However, clicking on the name of the simulator reveals a list of every available simulator. You can also run multiple simulators at once, but that immediately made my aging M1 Max Mac Studio start to chug a little.

With access to your running app, Claude Code is more effective at debugging UI bugs.

With access to your running app, Claude Code is more effective at debugging UI bugs.

Once you have the simulators that you want open, simply ask Claude Code to run and test your app, and it gets to work, building the app, installing it in the simulator, opening it, and poking around. I loaded up a simple word game I’ve been playing with, and after a few minutes, Claude Code found a UI bug while controlling the simulator. I asked it to fix the issue, which it did, then tested and committed. My testing has been limited, but so far it looks like a simple, effective loop.

It’s also worth noting that Claude Code is running the simulator directly inside the Claude app. This is not computer use, meaning windows aren’t going to be opening and getting in your way as you work on something else. All in all, the addition of the simulator, like the inclusion of an in-app sandboxed browser a couple of weeks ago, is a great update to Claude Code.

Permalink

Finishing with Fable 5

When Fable 5 returned last week, I knew exactly what to throw at it. In February, I started a project out of frustration that likewise ended in frustration, so I put it on the shelf and waited. Five months later, Fable 5 was released, and I knew it was time to finish Editor, a single-view diffing tool for writers rather than developers.

Read more


Snazzy Labs Puts the Mac’s Upcoming Game Porting Toolkit 4 Through Its Paces→

Over at Snazzy Labs, Quinn Nelson has a great in-depth look at the changes coming to Apple’s Game Porting Toolkit with macOS 27 this fall. Paired with Metal 4, it’s a real leap over what’s possible today, and Nelson showcases the difference well.

Thanks to the upcoming update, Nelson was able to use CrossOver, a Windows-to-Mac compatibility layer that allows PC games to be played on a Mac, to spotlight some impressive numbers on games ranging from Red Dead Redemption to the recently released 007 First Light.

Not all games Nelson tried showed the same leap in performance, but that’s true on compatibility layers like Proton on the Steam Deck, too. What’s remarkable is that it’s all done in software and as Nelson points out, the advent of coding agents like Codex and Claude may help bring more PC games to Mac using the Game Porting Toolkit by reducing the porting costs.

Nelson also makes a pitch for an Apple gaming device. I agree with him that more than ever, the pieces, right down to a hardware-focused incoming CEO, are all there for such a device, and I remain optimistic. However, I’ve made the case for such a device for years now to no avail. Still, whether or not Apple builds gaming hardware itself, watch the full video above. It’s a fantastic view of how far the Mac has come as a potential gaming platform since the advent of Apple silicon.

Permalink

Remodex Is the Best Codex Remote Client for iOS (Until OpenAI Releases an Official Codex Mobile App)

Remodex for iOS.

Remodex for iOS.

Various OpenAI employees and members of the Codex team have been hinting at a native Codex app for iOS lately. While I very much hope that’s in the cards – especially if the project involves connecting to a remote Mac running the full Codex app – I wanted to highlight an indie utility I’ve been using a lot lately to access my Codex setup on my Mac Studio server from my iPhone.

The app is called Remodex, and it was created by Italian indie developer Emanuele Di Pietro. Remodex, as the name suggests, acts as a remote for the Codex CLI installed on a macOS computer, and it lets you operate your existing projects and chats with a UI that is reminiscent of the official Codex app for Mac. Even better, Remodex is not based on some hack-y workaround: it’s entirely powered by OpenAI’s official (and open-source) Codex App Server.

Read more


Hands-On with Anthropic Labs’ Claude Design Preview

Last week, Anthropic introduced Claude Design, a new research preview product from the equally new Anthropic Labs. Claude Design, which is currently available to Pro, Max, Team, and Enterprise subscribers through the Claude web app, can prototype apps and websites, design presentation materials, generate marketing materials, and more. As someone who has felt as though Claude’s design skills noticeably lagged behind its coding, I was eager to give it a try. So, over the weekend, I tasked Claude Design with coming up with a brand new progressive web app and helping me design a new feature for an existing project.

I’m always looking for a way to resurface articles, apps, products, and other links I save in a variety of places, so my first test of Claude Design was to build an iPad-first web app that would deliver those things to me automatically using a magazine-style design. Claude Design is organized into a sidebar and canvas with tabs in the sidebar for creating prototypes, slide decks, template-based designs, and blank designs. To get started, I named my project and picked a “high fidelity” prototype. Then, I dragged some screenshots of a similar AI assisted reading app I’d seen on social media into Claude Design and described what I wanted, answered some follow-up questions, and let Claude get at it.

Read more


Apple Overhauls App Store Connect

Source: Apple.

Source: Apple.

Overnight, Apple rolled out a big update to App Store Connect with new sales and analytics tools for developers. App Store Connect is the online portal that developers use to manage everything related to selling apps from TestFlight betas, to managing their App Store listings and tracking sales data and analytics.

It’s that last piece that was overhauled with this release. In fact, Apple’s post on its developer site says there are over 100 new metrics developers can use to measure the performance of their apps, all of which have been designed in a privacy-first way to protect users.

Source: Apple.

Source: Apple.

The granularity is impressive. For example, developers can track where their sales are coming from, including search, App Store browsing, web sources, and more. Conversion rates are a big part of the analytics, allowing developers to see how many people have seen their apps on the Store and downloaded them, breaking down first-time downloads and re-downloads. Analytics also tie into App Store features like In-App Events, custom product pages, and developer marketing efforts across a multitude of channels using campaign links. There’s a lot more, including metrics that track app pre-orders, user engagement and retention, and good old-fashioned sales data sliced and diced to allow developers to better understand the sources of their income.

And that’s really just the tip of the iceberg of what has changed in App Store Connect. So if you’re a developer, it’s worth spending some time with your app data and reading the new guide Apple published that covers it all.

Some data reported in App Store Connect is being deprecated later this year and next.

Some data reported in App Store Connect is being deprecated later this year and next.

Since the changes rolled out, a couple of concerns I’ve seen expressed online are that there will no longer be a single place to view the aggregate performance of multiple apps and that the new default reporting period is three months. Those concerns are well founded. The changes are organized on an app-by-app basis, and as Apple says in a banner on App Store Connect, the Dashboards in the Trends section of Connect and related reports where that data was available are being deprecated later this year and next. So, while the data Apple offers is deep for each app, the aggregate data falls short by not providing a birds-eye view of a developer’s entire app catalog.

For what it’s worth, Apple is aware of the feedback regarding cross-app reporting. Also, the shorter sales reporting periods, such as the past 24 hours and seven days, are still available, but they’re less visible because three months is the new default.

This is a big update to App Store Connect that will take developers time to get used to, but it’s also a welcome change that provides meaningful new insights into App Store performance. I expect that there will be more areas where the changes fall short of developers’ expectations. However, it’s also clear to me that Apple has heard the early feedback, so I wouldn’t be surprised if adjustments are made in the future. On balance, though, I think the changes give developers valuable new ways to think about and manage their businesses across the increasingly competitive app landscape, which is welcome.


A Developer’s Month with OpenAI’s Codex→

An eye-opening story from Steve Troughton-Smith, who tested Codex for a month and ended up rewriting a bunch of his apps and shipping versions for Windows and Android:

I spent one month battle-testing Codex 5.3, the latest model from OpenAI, since I was already paying for the $20 ChatGPT Plus plan and already had access to it at no additional cost, with task after task. It didn’t just blow away my expectations, it showed me the world has changed: we’ve just undergone a permanent, irreversible abstraction level shift. I think it will be nigh-impossible to convince somebody who grows up with this stuff that they should ever drop down and write code the old way, like we do, akin to trying to convince the average Swift developer to use assembly language.

From his conclusion:

This story is unfinished; this feels like a first foray into what software development will look like for the rest of my life. Transitioning from the instrument player to the conductor of the orchestra. I can acknowledge that this is both incredibly exciting, and deeply terrifying.

I have perused the source code of some of these projects, especially during the first few days. But very quickly I learned there’s simply nothing gained from that. Code is trivial, implementations are ephemeral, and something like Codex can chew through and rewrite a thousand lines of code in a second. Eventually, I just trusted it. Granted, I almost always had a handwritten source of truth, as detailed a spec as any, so it had patterns and structure to follow.

The models are good now. A year ago, none of them could do any of this, certainly not to this quality level. But they don’t do it alone. A ton of work went into everything here, just a different kind of work to before. Above all, what mattered most in all of the above examples was taste. My taste, the human touch. I fear for the companies, oblivious to this, that trade their priceless human resources for OpenClaw nodes in a box.

The entire story is well-documented, rich in screenshots, and full of practical details for developers who may want to attempt a similar experiment.

It’s undeniable that programming is undergoing a massive shift that has possibly already changed the profession forever. Knowing what code is and does is still essential; writing it by hand does not seem to be anymore. And it sounds like the developers who are embracing this shift are happier than ever.

I’ve been thinking about this a lot: why are some of us okay with the concept of AI displacing humans in writing code, but not so much when it comes to, say, writing prose or music? I certainly wouldn’t want AI to replace me writing this, and I absolutely cannot stand the whole concept of “AI music” (here’s a great Rick Beato video on the matter). I don’t think I have a good answer to this, but the closest I can get is: code was always a means to an end – an abstraction layer to get to the actual user experience of a digital artifact. It just so happened that humans created it and had to learn it first. With text and storytelling, the raw material is the art form itself: what you read is the experience itself. But even then, what happens when the human-sourced art form gets augmented by AI in ways that increasingly blur the lines between what is real and artificial? What happens when a videogame gets enhanced by DLSS 5 or an article is a hybrid mesh of human- and AI-generated text? I don’t have answers to these questions.

I find what’s happening to software development so scary and fascinating at the same time: developers are reinventing themselves as “orchestrators” of tools and following new agentic engineering patterns. The results, like with Steve’s story, are out there and speak for themselves. I wish more people in our community were willing to have nuanced and pragmatic conversations about it rather than blindly taking sides.

Permalink