John Voorhees

3167 posts on MacStories since November 2015

John is MacStories’ Managing Editor, has been writing about Apple and apps since joining the team in 2015, and today, runs the site alongside Federico.

John also co-hosts four MacStories podcasts: AppStories, which covers the world of apps, MacStories Unwind, which explores the fun differences between American and Italian culture and recommends media to listeners, Ruminate, a show about the weird web and unusual snacks, and NPC: Next Portable Console, a show about the games we take with us.

This Week's Sponsor:

Setapp

Start Your 30-day Free Trial Today


Cloudflare Introduces a Pay-to-Scrape Beta Program for Web Publishers

Governments have largely been ineffective in regulating the unfettered scraping of the web by AI companies. Now, Cloudflare is taking a different approach, tackling the problem from a commercial angle with a beta program that charges AI bots each time they scrape a website. Cloudflare’s CEO, Matthew Prince told Ars Technica:

Original content is what makes the Internet one of the greatest inventions in the last century, and it’s essential that creators continue making it. AI crawlers have been scraping content without limits. Our goal is to put the power back in the hands of creators, while still helping AI companies innovate. This is about safeguarding the future of a free and vibrant Internet with a new model that works for everyone.

Under the program, websites set what can be scraped and what scraping costs. In addition, for new customers, Cloudflare is now blocking AI bots from scraping sites by default, a change from its previous opt-in blocking system.

There are a lot of questions surrounding the viability of Cloudflare’s pay-to-scrape beta, and many details still need to be worked out, not the least of which includes convincing AI companies to cooperate. However, I’m glad to see Cloudflare taking the lead on an approach that attempts to compensate publishers for the value of what AI companies are scraping and put agency back in the hands of creators.


Apple Music Celebrates Its 10th Anniversary with a New Campus, Radio Events, and a Special Playlist

Source: Apple.

Source: Apple.

It’s been 10 years since Apple Music launched the summer following Apple’s acquisition of Beats. To mark the anniversary, Apple has made several announcements.

First of all, the company will soon open a 15,000 square foot multi-use campus in Culver City, California. According to Apple’s press release:

…the new studio represents a major milestone in Apple’s continued mission to support artists at every level by giving them the tools, platform, and creative freedom to tell their stories in entirely new ways. More than just a studio in the traditional sense, the new space is a creative campus that reflects a decade of Apple Music’s commitment to high-quality sound, authentic storytelling, and artist-first experiences.

Source: Apple.

Source: Apple.

The facility includes two radio studios for Apple Music Radio, with Spatial Audio playback and adaptable configurations to accommodate interviews, performances, and more. Apple has also built a 4,000 square foot soundstage for live performances, multicam recording, events, and screenings. Other spaces are dedicated to Spatial Audio mixing, social media production, and isolation booths for songwriters, podcasters, and interviewers. Apple’s new California studio is designed to anchor its other locations that include New York, Tokyo, Berlin, Paris, and Nashville.

Apple is also celebrating its 10th anniversary with a series of events on Apple Music Radio. “Don’t Be Boring: The Birth of Apple Music Radio with Zane Lowe and Ebro Darden” has concluded, but you can still catch:

  • “10 Years of Apple Music” featuring stories of big moments from the past decade which will air today from 8 a.m. to 4 p.m. PST; and
  • “Live: 10 Years Of Apple Music” from 4 to 7 p.m. PST, which will be hosted by Lowe and Darden and feature the artists who have been integral to the service.

Apple Music Radio will also be counting down its 500 most streamed songs over the past decade, with 100 songs featured each day, culminating in the top 100 songs, which will stream on July 5th.

The Replay All Time playlist. Source: Apple.

The Replay All Time playlist. Source: Apple.

Finally, Apple is rolling out individual Replay All Time playlists to its subscribers, which aggregates your most streamed songs from the past 10 years. The playlist hasn’t appeared for me yet, but I know Federico has it, so I expect it will show up for most subscribers soon.

I’ve been a subscriber of Apple Music since day one. While I’ve leveled my fair share of criticisms of the service over that time, it says a lot that I’ve stuck with it for a full decade. There’s always room to improve, but I’m glad I’ve had Apple Music as the soundtrack to my everyday life for so long. Ten years is a big milestone for anything, and judging from where things stand today, Apple Music has a bright future ahead of it.


Apple Opens Up New App Distribution Options in the EU, Along with New and Updated Fees

To avoid additional fines, Apple is making several new changes to App Store rules in the EU. Today’s changes are a result of an April ruling by the European Commission that levied a €500 million fine against the company and ordered that it “…remove the technical and commercial restrictions on steering and to refrain from perpetuating the non-compliant conduct in the future….”

The changes are complex and wide-ranging, but among the highlights regarding in-app offers are changes that:

  • allow developers to communicate and promote offers for digital goods and services in their apps, which can steer users to the web, an alternative app marketplace, or another app either inside their app via a web view or native code, or outside their app;
  • permit developers to design these offers themselves, which can include pricing and instructions on how to take advantage of the offers outside the app;
  • allow offers to include links to the destination of the developer’s choice; and
  • prohibits developers from making offers outside the App Store using Apple’s In-App Purchase or StoreKit External Link Account entitlement for reader apps on the same OS;
  • require an informational banner in the App Store that shows it offers external purchases.

Fees have changed for developers offering external purchases, too, and include:

  • an initial acquisition fee of 2% is charged for sales made within six months of a user’s first unpaid installation of an app;
  • a 5% or 13% store services fee depending on the store services used for any purchases made within 12 months of an app’s download;
  • for apps that offer external purchases, a Core Technology Commission (not Fee) of 5% for purchases made within 12 months of installation will be charged;
  • the Core Technology Fee still exists, until the end of the year, for apps that don’t use the external purchase APIs if their installations exceed one million installations on a rolling 12-month basis; and
  • lower fees for Small Business Program developers.

Note, too, that by January 1, 2026, the Core Technology Fee will be replaced by the Core Technology Commission.

Also, developers in the EU will be able to offer their apps not only through alternative app marketplaces, where were already available, but also their own websites. To sell an app via a website, you have to be an Apple Developer in good standing for two consecutive years, obtain a €1,000,000 standby letter of credit, and have an app that has more than one million First Annual Installs on iOS and/or iPadOS in the prior calendar year. As you would expect, developers selling outside the App Store are responsible for managing the purchase process, taxes, and customer service, and failing to do so could result in the revocation of API access by Apple.

All right, that’s a lot and while I’ve tried to boil it down to the core points, there are a lot of details developers should study carefully and understand before taking the plunge of selling their apps outside the EU App Store. The best place to learn more now is from Apple. Start with the developer announcement, which links to more details about the new rules and relevant legal documents. Apple is also offering 30-minute sessions for EU developers to ask questions and provide feedback.

If you’re wondering what Apple thinks of all this, well, it’s not happy. An unnamed spokesperson told CNBC:

The European Commission is requiring Apple to make a series of additional changes to the App Store. We disagree with this outcome and plan to appeal.

It will be interesting to see how this plays out. The fee structure and rules are complex and will need to be studied closely to evaluate the practical effect of the changes. That said, I’m cautiously optimistic that our readers in the EU will soon have more choice than ever, which I’m glad to see.


Swift Assist, Part Deux

At WWDC 2024, I attended a developer tools briefing with Jason Snell, Dan Moren, and John Gruber. Later, I wrote about Swift Assist, an AI-based code generation tool that Apple was working on for Xcode.

That first iteration of Swift Assist caught my eye as promising, but I remember asking at the time whether it could modify multiple files in a project at once and being told it couldn’t. What I saw was rudimentary by 2025’s standards with things like Cursor, but I was glad to see that Apple was working on a generative tool for Xcode users.

In the months that followed, I all but forgot that briefing and story, until a wave of posts asking, “Whatever happened to Swift Assist?” started appearing on social media and blogs. John Gruber and Nick Heer picked up on the thread and came across my story, citing it as evidence that the MIA feature was real but curiously absent from any of 2024’s Xcode betas.

This year, Jason Snell and I had a mini reunion of sorts during another developer tools briefing. This time, it was just the two of us. Among the Xcode features we saw was a much more robust version of Swift Assist that, unlike in 2024, is already part of the Xcode 26 betas. Having been the only one who wrote about the feature last year, I couldn’t let the chance to document what I saw this year slip by.

Read more



Hands-On: How Apple’s New Speech APIs Outpace Whisper for Lightning-Fast Transcription

Late last Tuesday night, after watching F1: The Movie at the Steve Jobs Theater, I was driving back from dropping Federico off at his hotel when I got a text:

Can you pick me up?

It was from my son Finn, who had spent the evening nearby and was stalking me in Find My. Of course, I swung by and picked him up, and we headed back to our hotel in Cupertino.

On the way, Finn filled me in on a new class in Apple’s Speech framework called SpeechAnalyzer and its SpeechTranscriber module. Both the class and module are part of Apple’s OS betas that were released to developers last week at WWDC. My ears perked up immediately when he told me that he’d tested SpeechAnalyzer and SpeechTranscriber and was impressed with how fast and accurate they were.

It’s still early days for these technologies, but I’m here to tell you that their speed alone is a game changer for anyone who uses voice transcription to create text from lectures, podcasts, YouTube videos, and more. That’s something I do multiple times every week for AppStories, NPC, and Unwind, generating transcripts that I upload to YouTube because the site’s built-in transcription isn’t very good.

What’s frustrated me with other tools is how slow they are. Most are built on Whisper, OpenAI’s open source speech-to-text model, which was released in 2022. It’s cheap at under a penny per one million tokens, but isn’t fast, which is frustrating when you’re in the final steps of a YouTube workflow.

An SRT file generated by Yap.

An SRT file generated by Yap.

I asked Finn what it would take to build a command line tool to transcribe video and audio files with SpeechAnalyzer and SpeechTranscriber. He figured it would only take about 10 minutes, and he wasn’t far off. In the end, it took me longer to get around to installing macOS Tahoe after WWDC than it took Finn to build Yap, a simple command line utility that takes audio and video files as input and outputs SRT- and TXT-formatted transcripts.

Yesterday, I finally took the Tahoe plunge and immediately installed Yap. I grabbed the 7GB 4K video version of AppStories episode 441, which is about 34 minutes long, and ran it through Yap. It took just 45 seconds to generate an SRT file. Here’s Yap ripping through nearly 20% of an episode of NPC in 10 seconds:

Replay

Next, I ran the same file through VidCap and MacWhisper, using its V2 Large and V3 Turbo models. Here’s how each app and model did:

App Transcripiton Time
Yap 0:45
MacWhisper (Large V3 Turbo) 1:41
VidCap 1:55
MacWhisper (Large V2) 3:55

All three transcription workflows had similar trouble with last names and words like “AppStories,” which LLMs tend to separate into two words instead of camel casing. That’s easily fixed by running a set of find and replace rules, although I’d love to feed those corrections back into the model itself for future transcriptions.

Once transcribed, a video can be used to generate additional formats like outlines.

Once transcribed, a video can be used to generate additional formats like outlines.

What stood out above all else was Yap’s speed. By harnessing SpeechAnalyzer and SpeechTranscriber on-device, the command line tool tore through the 7GB video file a full 2.2× faster than MacWhisper’s Large V3 Turbo model, with no noticeable difference in transcription quality.

At first blush, the difference between 0:45 and 1:41 may seem insignificant, and it arguably is, but those are the results for just one 34-minute video. Extrapolate that to running Yap against the hours of Apple Developer videos released on YouTube with the help of yt-dlp, and suddenly, you’re talking about a significant amount of time. Like all automation, picking up a 2.2× speed gain one video or audio clip at a time, multiple times each week, adds up quickly.

Whether you’re producing video for YouTube and need subtitles, generating transcripts to summarize lectures at school, or doing something else, SpeechAnalyzer and SpeechTranscriber – available across the iPhone, iPad, Mac, and Vision Pro – mark a significant leap forward in transcription speed without compromising on quality. I fully expect this combination to replace Whisper as the default transcription model for transcription apps on Apple platforms.

To test Apple’s new model, install the macOS Tahoe beta, which currently requires an Apple developer account, and then install Yap from its GitHub page.


Apple Denied a Stay of Judge Gonzalez Rogers’ Contempt Order

Reuters reported today that the United States Court of Appeals for the Ninth District has denied Apple’s motion to stay the effect of District Judge Gonzalez Rogers’ contempt order that required the company to allow developers to link to payment processing outside the App Store. Had Apple prevailed, Judge Gonzalez Rogers’ order would have been put on hold, allowing Apple to prevent developers from linking to external payment processing. Instead, developers can continue to add external payment options to their apps, which many already have.

The burden for staying an order pending appeal is high. As the Court of Appeals explained in its order:

In deciding whether to impose a stay, we consider:

“(1) whether the stay applicant has made a strong showing that he is likely to succeed on the merits;
(2) whether the applicant will be irreparably injured absent a stay;
(3) whether issuance of the stay will substantially injure the other parties interested in the proceeding; and
(4) where the public interest lies.”

Nken v. Holder, 556 U.S. 418, 426 (2009) (quoting Hilton v. Braunskill, 481 U.S. 770, 776 (1987)).

This doesn’t mean Apple has no chance to win on appeal, but as the Ninth Circuit said quite bluntly in its order:

…we are not persuaded that a stay is appropriate.

And, given that the first factor the court decided was whether Apple is “likely to succeed on the merits,” things are not looking promising.

In a statement to 9to5Mac, an unnamed Apple spokesperson said:

We are disappointed with the decision not to stay the district court’s order, and we’ll continue to argue our case during the appeals process. As we’ve said before, we strongly disagree with the district court’s opinion. Our goal is to ensure the App Store remains an incredible opportunity for developers and a safe and trusted experience for our users.

Given that the writing is on the wall for the appeal, you can bet Apple is already looking ahead to the U.S. Supreme Court and will use the Ninth Circuit case as a dry run for that subsequent appeal.


Hand Crafted: Don’t Count Developers Out

Source: Apple.

Source: Apple.

We’re days away from WWDC, and I’m excited. As much as I enjoy a good Apple hardware event, it’s WWDC’s focus on software that I truly love. But what WWDC means to me runs much deeper than the OS updates we’ll hear about next week. Of course, Apple’s announcements are a big part of what makes WWDC a special time of the year, but for me, it’s overshadowed by the people.

I’ve been to every WWDC since 2013. That first year, I sat on the sidewalk at 3 AM on a cold pre-dawn morning. I hardly knew anyone in the Apple developer community then, but after hours in that line and attending the events surrounding the conference, I’d gotten to know a few developers.

By the time 2016 rolled around, I was writing at MacStories and interviewing developers for the site, including the founders of Workflow, which became Shortcuts. Now, they’re building Sky. After that WWDC, Federico hit the nail on the head in Issue 37 of MacStories Weekly:

…there’s something special about meeting someone you’ve known for a long time exclusively through the Internet. While I thought I knew some people and had made some special friendships through the years, getting to know them in person is different.

He’s right, and even though WWDC is much smaller than it used to be, I look forward to the chance to get to know the developers whose apps we’ve covered, meet new people, and reconnect with old friends.

What’s special about so many of the developers I’ve met over the years is how much they care about their craft. They sweat all the details. Over the years, we’ve seen many of them go from novices to the makers of apps with big, passionate followings among our readers.

We’ve also seen developers and their importance to Apple’s hardware success undervalued by the very company whose platforms they’re so dedicated to. That’s not new, but it’s gotten palpably worse as the years have worn on.

Since WWDC 2024, that trend has collided head-on with the rise of artificial intelligence. I imagine that our reaction to learning that Apple had scraped MacStories and every other website to train their LLMs was familiar to developers who have felt taken advantage of for years. That was a bitter pill to swallow, but one of the upsides of the experience is that over the past year, it’s forced me to spend a lot of time thinking about creativity, work, and our relationship with technology.

To hear the AI fans tell it, I, the developers we write about, and nearly everyone else will be out of jobs before long. Some days, that threat feels very real, and others, not so much. Still, it’s caused a lot of anxiety for a lot of people.

However, as I get ready to head to this year’s WWDC, I’m far more optimistic than I was after WWDC 2024. I don’t expect AI to replace our friends in the indie developer community; far from it. That’s because what sets a great app apart from the pack on the App Store is the care and humanity that’s poured into it. I’ve yet to see a vibe-coded app that comes anywhere close. Those apps will simply join the vast sea of mediocrity that has always made up a big part of the App Store. Instead, I expect AI will help solo developers and small teams tackle bigger problems that were once the exclusive domain of bigger teams with more resources.

I realize this all may sound like blasphemy to anyone who’s either devoted to AI or dead set against it, but I believe there’s room for AI to serve the artist instead of the other way around. So despite the challenges developers, writers, and others are facing, I’m heartened by the many excellent apps I’ve tried in the past year and look forward to meeting and reconnecting with as many of their creators as I can next week.

If you see me and Federico wandering about, stop us to say hi. We’d love to hear what you’re working on.


2025 Apple Design Awards Winners and Finalists Announced

As WWDC approaches, Apple has announced the finalists for its annual Apple Design Awards, and in a departure from recent years, the winners too.

This year, there are six categories, and each category has a winning app and game, along with four finalists. Unlike last year, there is no Spatial Computing category this year. The 2025 ADA winners and finalists are:

Delight and Fun

Winners:

Finalists:

Innovation

Winners:

Finalists:

Interaction

Winner:

  • App
    • Taobao by Zhejiang Taobao Network
  • Game

Finalists:

Inclusivity

Winner:

Finalists:

Social Impact

Winners:

  • App
  • Game
    • Neva by Developer Digital

Finalists:

Visuals and Graphics

Winners:

Finalists:

The winners and finalists include a broad range of games and apps, including some from smaller developers including Lumy, Denim Art of Fauna, Skate City: New York, as well as titles from bigger publishers.

I’m glad that Apple has announced the finalists for the last few years. Winning an ADA is a big achievement for any developer, but it’s also nice to know who the finalists are because it’s quite an honor among the many apps that could have been chosen, too. Plus as a fan of apps, Apple’s longer finalist list always reminds me of an app or two that I haven’t tried yet. Congratulations to all of this year’s Apple Design Award winners and finalists.