By John Gruber
WorkOS Pipes: More context makes for smarter products.
My thanks to Day One Journal for once again sponsoring Daring Fireball. Day One first launched in 2011 and has been the stalwart of journaling apps on Mac and iOS ever since. Day One’s apps exhibit a commitment to technical and design excellence, and, more importantly, everything they do is deeply informed by the intense personal nature of keeping a journal. (Or journals — Day One lets you create as many separate journals as you want.) The Day One Mac app is Mac-assed and the iPhone and iPad apps are, well, iOS-assed. Fast, familiar, consistent, and intuitive.
Day One recognizes that many people struggle with journalling not because they can’t write, but because they don’t know how to begin or what a “good” journal entry about their day looks like. That’s why they built Daily Chat, a guided reflection experience that helps you talk through your day, organize your thoughts, and shape them into a journal entry.
Early testers commented: “Day One’s new Daily Chat is a true game changer for my daily journaling. The AI-powered chat makes capturing thoughts effortless and inspires creativity like never before. Writing my diary has never been this intuitive and fun!”
Try it for yourself, it will change the way you think about journaling.
Yours truly, back in 2018:
I don’t share the depth of their pessimism regarding native apps, but Electron is without question a scourge. I think the Mac will prove more resilient than Windows, because the Mac is the platform that attracts people who care. But I worry.
In some ways, the worst thing that ever happened to the Mac is that it got so much more popular a decade ago. In theory, that should have been nothing but good news for the platform — more users means more attention from developers. The more Mac users there are, the more Mac apps we should see. The problem is, the users who really care about good native apps — users who know HIG violations when they see them, who care about performance, who care about Mac apps being right — were mostly already on the Mac. A lot of newer Mac users either don’t know or don’t care about what makes for a good Mac app.
This eight-year-old piece holds up well. My concern was justified, but so too was my lack of defeatist pessimism. Truly native, idiomatically correct Mac-assed Mac apps are resurgent. Electron and its brethren non-native frameworks have not receded, but they haven’t gained further ground. For every Claude (Electron) there’s a ChatGPT (AppKit). I’m seeing more new good Mac apps released today than I was in 2018, and longstanding Mac stalwarts continue to thrive. High tide seems to have passed without washing the native platform away.
Apple itself is a good example. The Mac version of Journal, first introduced in MacOS 26 Tahoe, is a profound disappointment — not just because of serious bugs but because it’s un-Mac-like in sad ways. You can’t open an entry into its own window, for example. But the brand-new Siri app in the developer betas of MacOS 27 Golden Gate is pretty Mac-like. You can double-click chats in list view to open them in their own windows, for example. (You can’t double-click chats in grid view to open them into windows, though — presumably a bug.) Siri is not a great Mac app but it does feel like a Mac app, and it’s only a 1.0 in its second developer beta. It doesn’t feel like an iOS app running in a Mac window, like Journal does.
The ironic frustration with Anthropic’s Claude app being an Electron turd is that Claude and especially Claude Code are so capable of helping to create good native Mac apps. It’s one thing for a big company or organization with cross-platform aspirations but no institutional Mac expertise, like Notion or Slack or Discord, to choose Electron to create their Mac client. It’s another when it’s a company like Anthropic, whose only product’s single most impressive ability is generating programming code, including high-quality AppKit and SwiftUI code for the Mac. To return to my hammering-screws-into-the-walls metaphor from yesterday, it’s as though the building into which Anthropic decided to hammer all the screws is a renowned screwdriver factory.
Flexibits:
Calendar Mirroring allows you to connect two separate calendars (like work and personal) so that events from one automatically show up on the other.
The best part? No event information is sent to Flexibits servers or saved outside of your device.
You can choose to show full event details or just block the time out as a mysterious, professional “Busy”. Your coworkers don’t need to know you’re getting a root canal, they just need to know you’re unavailable.
In Flexibits’s example scenario, the idea is that you have a personal calendar with important events that you want to mirror to your work calendar, to block the times for those events off — and you might just want them marked as “Busy” on your work calendar, rather than revealing the actual details.
I’ve been using this feature in beta for a few months and love it, even though my use case is seemingly simple. For recording episodes of Dithering, Ben Thompson and I have a shared Microsoft 365 calendar. (You can guess which of the two of us set that up by that fact.) Fantastical has long had terrific built-in support for Microsoft 365 accounts. So for me, those events have always just shown up in Fantastical. For me.
The problem is, my wife and I share an iCloud calendar, where we put events we want each other to know about. My Dithering recordings have never shown up there. Ben and I record on a pretty regular schedule, but it’s always been a minor irritation that my wife can’t see when I’m booked for Dithering. Fantastical’s new mirroring feature solves this perfectly. I set up a mirror to copy all events from my Dithering calendar to my family calendar, keeping the original event titles rather than obscuring them as “Busy”. (The titles all just say “Dithering”.)
The icing on the cake is Fantastical’s longstanding “Combine identical events” preference setting. Because I have that setting on, I don’t see duplicate “Dithering” events — one from my Dithering calendar, and another from my family calendar. I just see one event for each scheduled recording, with a striped dual-color swatch that indicates that this one event exists on both calendars. It’s just perfect.
One more thing: Also somewhat recently, Fantastical added support for Anthropic’s MCP to integrate your calendaring with Claude Desktop and every other AI agent that supports the standard. David Sparks made a short demo video that shows it off. I don’t really use Claude so this didn’t hit for me personally, but it seems cool enough that it made me at least consider, for a moment, switching from ChatGPT to Claude. Then I remembered what the Claude app is like.