Federico Viticci

10781 posts on MacStories since April 2009

Federico is the founder and Editor-in-Chief of MacStories, where he writes about Apple with a focus on apps, developers, iPad, and iOS productivity. He founded MacStories in April 2009 and has been writing about Apple since. Federico is also the co-host of AppStories, a weekly podcast exploring the world of apps, Unwind, a fun exploration of media and more, and NPC: Next Portable Console, a show about portable gaming and the handheld revolution.

LunarWall: Shuffle Moon Photos from Artemis II On Your Lock Screen or Mac Desktop

LunarWall for iOS.

LunarWall for iOS.

I’ve been staring at my Lock Screen and macOS desktop a lot this week. Not because of John’s iMessage notifications or the weird handhelds we share in the NPC group thread – because of the Moon. Specifically, because of photos taken by Orion as it swung within 4,067 miles of the lunar surface during the Artemis II flyby a couple of days ago. Yesterday, NASA published an official gallery of images from the flyby, and I immediately knew what I had to do.

LunarWall is a simple shortcut that picks a random image from a curated set of 23 photos pulled from NASA’s Artemis II Lunar Flyby gallery and sets it as your wallpaper. That’s it! Each time you run it, you get a different photo. The way this shortcut works, NASA’s images aren’t re-hosted or saved anywhere on your computer: the LunarWall shortcut fetches each image directly from NASA’s CDN and passes it to the ‘Set Wallpaper’ action, which is configured to automatically crop images to fit on mobile devices, blurs the wallpaper for the iOS/iPadOS Home Screen, and uses the original widescreen images at high resolutions on macOS.

Read more


Revisiting the Text Editor Landscape

This week on AppStories, John and Federico revisit the state of text editors on Apple platforms and how they use them.

On AppStories+, John and Federico dig deeper into their writing workflows and the apps they’re using to write.

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](https://appstories.net/plans, or read the AppStories+ FAQ.


AppStories+ Deeper into the world of apps

AppStories Episode 479 - Revisiting the Text Editor Landscape

0:00
38:37

AppStories+ Deeper into the world of apps

This episode is sponsored by:

  • Steamclock – We make great apps. Design and development, from demos to details.
  • Claude – Ready to tackle bigger problems? Get started with Claude today.

Read more



Well, I Guess I Like Safari’s Compact Tab Bar in iPadOS 26.4 (Also: Using Vertical Tabs in Safari for iPad)

We're so back.

We’re so back.

Yours truly, back in September 2021:

In case I haven’t been clear enough above, I’ll be blunt: I don’t understand why the compact tab bar exists on iPad, and I think this design shouldn’t have shipped to customers.

My understanding is that Apple thought the benefit of removing a separate address bar, therefore saving a few vertical pixels on the page, would have made all the compromises we’ve seen so far worth the trade-offs in usability. I think that’s a wrong and mismanaged decision driven by an unmotivated pursuit of an iPhone-like design that has no place on iPad. If slightly increasing vertical space on webpages is Apple’s only argument here in favor of the compact tab bar, you tell me if it’s worth the trouble by judging from the screenshots below.

If, like me, you missed this in the release notes for the recently released iPadOS 26.4, the compact tab bar has returned to Safari for iPad after mysteriously disappearing in iPadOS 26.0. And I’m here to tell you that not only do I not despise it like I did five years ago, but I actually like this mode and have been working with Safari on my 13” iPad Pro like this for the past two weeks.

Read more


Automatically Approve Claude Code Permissions in iMessage with Shortcuts

Automating Claude Code in iMessage.

Automating Claude Code in iMessage.

Let me start by saying that you probably shouldn’t do this. I’ve been having a surprisingly good time using Claude Code via its new iMessage channel (which is part of my attempt to recreate OpenClaw with an “OpenClaude” system, more about this here), but I find its permission prompt system fairly annoying. You see, while Claude’s Telegram integration allows you to tap on interactive buttons in a chat to grant Claude permission to do something, the iMessage integration (based on primitive AppleScript) supports no such buttons. As a result, the Claude Code team came up with a simple, but tedious idea: you have to manually type “yes” followed by a randomized authorization code every time.

Read more


An Orchestra Without a Conductor, Apple’s AI Dilemma

This week on AppStories, Federico and John draw from their experiences using AI agents to imagine the sort of agent Apple could build with tight hardware and software integration if it had a LLM to orchestrate the pieces already in place.

On AppStories+, John asks where artificial intelligence falls on the spectrum of historical technology milestones.

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](https://appstories.net/plans, or read the AppStories+ FAQ.


AppStories+ Deeper into the world of apps

AppStories Episode 478 - An Orchestra Without a Conductor, Apple’s AI Dilemma

0:00
35:24

AppStories+ Deeper into the world of apps

This episode is sponsored by:

  • Vitally – Your Copilot for AI-Powered Customer Success. Get a free pair of AirPods Pro when you book a qualified meeting.

Read more


Why Foldable Phones Matter: The Case for an iPhone Duo

This week on AppStories, Federico shares his experiences with foldable Android phones and what Apple might do for its first foldable hardware and its software.

On AppStories+, Federico shares his experience using Samsung DeX.

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](https://appstories.net/plans, or read the AppStories+ FAQ.


AppStories+ Deeper into the world of apps

AppStories Episode 477 - Why Foldable Phones Matter: The Case for an iPhone Duo

0:00
42:12

AppStories+ Deeper into the world of apps

This episode is sponsored by:

  • Claude – Ready to tackle bigger problems? Get started with Claude today.

Read more



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