John Voorhees

5609 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.

App Debuts

Indigo Indigo is a social media app for Bluesky and Mastodon by Ben McCarthy and Aaron Vegh that combines both services into a single app, deduplicating cross-posts automatically. For users of both services, that saves a trip to both apps and harmonizes timelines to avoid the noise of duplicate entries. It also lets you...


Previously, On MacStories

Apple Recognizes Developer Community Leaders A Dictation App with a CLI Is Exactly What I Needed Spark Mail Adds a Mac CLI and Agent Skills iOS 26.5 Adds RCS Encryption in Beta Starting Today...


Spark Mail Adds a Mac CLI and Agent Skills

About two weeks ago, Spark, the email app by Readdle, was updated with a CLI and a set of agentic skills for Claude Code, Codex, and other agents, allowing them read-only access to messages, calendar events, contacts, and meeting notes. These features were extended again a few days ago with new abilities that added email triage actions and more skills. The approach is clever in its local architecture, which keeps your message data on your Mac while making it available to agents.

CLIs are one of this year’s top app trends, with a wide variety of productivity apps adding them. The reason is simple: agents that work in the Terminal like Claude Code and Codex can use local CLIs, which keeps token usage down because the agent only sees a command’s text output instead of carrying tool schemas with it the way MCP servers do.

Spark works with several agents.

Spark works with several agents.

Spark isn’t the first to create an email CLI. The Google-created, but “not an official product,” googleworkspace CLI interfaces with Gmail and a bunch of other Google services, offering over 100 skills. The difference is that a CLI like googleworkspace contacts Google’s Gmail servers and acts on your messages in the cloud, whereas Spark’s CLI acts as a remote control for the Spark app itself, managing the messages locally on your Mac and then syncing them back to Gmail via the desktop app.

I’ve worked with both the googleworkspace CLI and Spark’s, and Spark’s is by far the easier one to use because you don’t need to set up a Google Cloud project or deal with OAuth. The only drawback is that the Spark app needs to be open for its CLI to work because everything happens on your Mac. However, as a practical matter, that’s not a limitation that has impacted me since my email app is open when I’d want to use Spark’s CLI or skills anyway.

Read-only actions are available for all users. Triage actions require a Pro subscription.

Read-only actions are available for all users. Triage actions require a Pro subscription.

There are two levels to what Spark offers. The read-only CLI and skills are available to all users, whether or not they subscribe to Spark Pro. Those actions include the ability to search and summarize messages, fetch context, read threads, and view your calendar, contacts, and meeting notes. A Pro subscription adds message drafting, replying, snoozing, pinning, labeling, moving, and archiving, along with team commenting. It’s an excellent set of actions that uses syntax similar to Gmail, which means it should be familiar to many long-time Gmail users straight out of the box.

And there’s more. Readdle has also released a set of recipes and personas, which are open-source skills. The recipes include instructions for morning and end-of-day email reviews, reviewing of new senders, catching up on messages after vacation, and more. Personas are more holistic approaches to your inbox that apply to an entire email session and have modes. For example, the Founder persona has Rapid Triage, Aggressive Delegation, and Cross-Team Oversight modes. Other personas include Executive Assistant, Freelancer, and Team Lead. Full details of every recipe and persona are available on Readdle’s GitHub page.

Searching email via the command line.

Searching email via the command line.

I’ve spent time using the read-only actions of Spark’s CLI with Claude Code, and it’s an excellent option for automating your email. Setup is simple and fast, and it works well. I’m not sure personas are for me, but there are a bunch of interesting ideas among the recipes, which I intend to explore more and use to create my own skills.

Spark Mail is available as a free download on the Mac App Store. The CLI’s triage actions are exclusive to users who subscribe to Spark Pro, which costs $20/month or $200/year.


iOS 26.5 Adds RCS Encryption in Beta Starting Today

Source: Apple.

Source: Apple.

Apple announced that beginning today, users on iOS 26.5 will be able to send encrypted RCS messages to Google Messages users who are on the latest version of that app. Apple says that means a message that is intercepted in transit is unreadable. You’ll be able to tell if your messages are encrypted by a lock icon at the top of the screen.

RCS encryption is turned on by default and supported by carriers around the world. I spent some time scrolling through the list of carriers that support RCS encryption, and it’s extensive. You can check if your carrier is on the list at the link above.


An App Swap Challenge

This week on AppStories, John and Federico kick off the app swap challenge, with each of them giving the other three apps to use. We’ll be checking in on how it’s going each week with a final roundup of the results of the experiment after WWDC.

On AppStories+, we each pick aspirational apps and OS features that we wish we used more but don’t.

Also available on YouTube here.


Subscribe here.

Subscribe here.

We deliver AppStories+ to subscribers with bonus content, ad-free, and at a high bitrate early every week.

To learn more about an AppStories+ subscription, visit our [Plans page](macstories.net/appstories-plans/, or read the AppStories+ FAQ.


AppStories+ Deeper into the world of apps

AppStories Episode 484 - An App Swap Challenge

0:00
29:12

AppStories+ Deeper into the world of apps

This episode is sponsored by:

  • Steamclock: We make great apps. Design and development, from demos to details.

Read more


Is AI Slop on the Web More of the Same or Different?

If you've ever built a web app with Claude Code, it probably looks a lot like this.

If you’ve ever built a web app with Claude Code, it probably looks a lot like this.

Over the weekend, I ran across a Gizmodo article that said 39% of podcasts are now generated by AI. The article had the intended effect. I was surprised that the number was that high and immediately wondered what it meant for the podcast industry as a whole. But as with most statistics, there’s more to...


This Week on MacStories Podcasts

This week on MacStories podcasts: AppStories This week, John shares his tip for moving files with Taildrop before he and Federico dig into Codex and its unique capabilities. On AppStories+, Federico and John have both returned to Apple Reminders and discuss why and how they’re using it. Listen on: Apple Podcasts Overcast Pocket Casts Castro...


App Debuts

Perchang World Perchang World was released this week on Apple Arcade. As I mentioned in my May Apple Arcade and TV roundup last weekend, it’s an update to a classic iOS physics puzzle game that’s a lot of fun. The game is available on the iPhone, iPad, Mac, and Apple TV and features narration...


Interesting Links

Spotify’s AI-powered DJ feature is expanding to over 75 markets worldwide with four new language options: French, German, Italian, and Brazilian Portuguese, each with its own unique DJ persona and voice. (Link) Perplexity’s Personal Computer Mac agent is now available to all Pro and Max subscribers. I’ll have more to share about this soon,...