Geoffrey Cain (Amazon):
Drawing on previously unpublished materials and new interviews with the key players, Geoffrey Cain reveals the untold story of Steve Jobs’s “lost decade”—the formative years that shaped the icon we thought we knew.
With unprecedented access to unbroadcast footage of Jobs in NeXT meetings, private company documents, and interviews with his closest colleagues, Cain offers the definitive account of how failure transformed a brash wunderkind into a true business genius.
John Gruber:
And via Cain’s post on LinkedIn announcing the book, the foreword is by NeXT cofounder Dan’l Lewin.
Joe Cieplinski:
Back in 2013, I suggested the story of Steve Jobs would best be told as a 5-act opera, with the most crucial part of the story being Act III.
Steve Hayman:
Jobs left Apple in 1985, founded NeXT, hired me, bought Pixar, and came back to Apple in 1996
at its historic low point, when Apple was near-death, and orchestrated the turnaround we’ve all heard about.
I’ve bought most of the Steve Jobs books, and seen the movies, but they all seem to treat the NeXT years as an afterthought rather than a transformational time.
Sure, the NeXT hardware didn’t sell well but the software set the stage for everything Apple makes today.
Geoffrey Cain:
Today is launch day for Steve Jobs in Exile. I spent almost four years digging into Steve’s stretch in the wilderness -- 1985 to 1997, after Apple pushed him out and before it brought him back.
I expected the record to be complete. What more could there be on the most written-about entrepreneur alive? I was wrong. An archivist at Carnegie Mellon told me I was the first person in about fifteen years to open the NeXT archive. People had been holding letters, tapes, memos, recordings in their closets for decades, waiting to show someone. More than a hundred of them sat down with me.
He did a Reddit AMA.
Jason Snell:
It’s a surprising and sometimes gruesome (in a businessy way) story that does not show off the famous man at the center of the story as much as depict all the ways he failed in what turned out to be preparation for his career-defining role as Apple CEO. (I also got to interview Cain about the book this week on Upgrade.)
[…]
The computer that NeXT ended up building didn’t satisfy the requirements of those original higher-ed buyers who were the target market. Jobs had followed his bliss, and his good taste, in interesting directions. NeXT made an interesting product. But the product failed at being a successful product, just as NeXT kept failing at business.
And it just keeps happening, as the book details. Early investor and Jobs believer H. Ross Perot (yes, the former independent presidential candidate!) had ties in the government that would’ve allowed NeXT to sell computers to America’s intelligence agencies, primarily for spy-satellite image analysis. Jobs refused the lifeline, saying he didn’t want to do business with the government.
A deal with IBM had the potential for NeXT’s operating system to take the ecological niche of Microsoft Windows before it had been firmly established on the world’s PCs. Jobs decided he was uncomfortable working with IBM.
See also: Becoming Steve Jobs.
Previously:
Update (2026-05-29): Steve Hayman:
The book has tons of great stories and behind the scenes info; I certainly recognized a lot of the names, but many of the tales were new to me.
Update (2026-06-08): Marcin Wichary:
I do not see this as a book of new immense insight, technical depth, or design details, but that doesn’t mean it doesn’t go beyond surface level. What I appreciated most was Cain not shying away from pointing at some of Steve Jobs’s mistakes: hiring wrong people he happened to like, almost driving the company to the ground through obstinance, inability to focus on things he considered uninteresting, and a profound dose of duplicity coming into the NeXT/Apple merger.
Other things that stood out: focus on people around Jobs, spotlight on Jobs’s disappointing moral flexibility around working with government (or befriending Larry Ellison, for that matter), and a really fun pizza ordering story that serves as a prelude to the Starbucks call during the iPhone 2007 keynote.
Book Business Central Intelligence Agency (CIA) Education History IBM National Security Agency (NSA) NeXT Steve Jobs
César Pinto Castillo:
CloudKit is one of the best-kept secrets in the Apple platform stack. For years it has quietly powered sync, storage, and sharing for our apps — for free, with zero servers to run, and with end-to-end encryption we didn’t have to design ourselves. And yet, we’re moving off it.
[…]
When a user’s data won’t sync, we have no view into what happened on Apple’s side. We’ve spent years bolting telemetry onto NSPersistentCloudKitContainer.eventChangedNotification just to find out why a save failed — and even with that, we’re guessing from client-side error codes. There are no server logs we can pull, no admin view into the user’s zone.
[…]
CloudKit is supposed to “just work” across Apple platforms. In practice every target has been its own debugging project: macOS only synced on app restart for a while, Apple Watch silently stopped syncing because a user hadn’t accepted a new iCloud ToS — a failure mode we couldn’t even surface to them — and one of our entitlement bugs was reported to us by Apple. AppleTV sync is still flaky in user reports today.
[…]
iCloud signed-out, iCloud full, family-sharing edge cases — CloudKit hands all of this to the client. We’ve built distinct account-state UI for iOS, macOS, watchOS, tvOS, and visionOS, with localizations for each. “Warn the user when their iCloud is full” has been an open ticket of ours since 2025 because we can’t reliably detect it.
Via Fatbobman:
[For] small teams, CloudKit offers an almost unbelievable combination of features[…] But as their product evolved, CloudKit’s limitations became increasingly apparent[…] and most importantly, the inability to truly expand toward the Web and cross-platform ecosystems. Eventually, César’s team migrated to a Supabase/Postgres-based synchronization architecture.
Previously:
Update (2026-06-04): Fatbobman:
Many developers, after integrating CloudKit synchronization with Core Data or SwiftData, encounter a confusing phenomenon: The app synchronizes perfectly across multiple devices, yet when querying Records in the Apple Developer CloudKit Console, it shows “No Records Found” or a completely blank list.
[…]
To resolve this, you need to manually add indexes in the CloudKit Dashboard.
Patrick McConnell:
Sometimes you will mess up the magic. Perhaps you add a record or field to a Model class then remove it. The Schema may become confused and your app may have errors or crash. You can go into the CloudKit console and reset the environment at any point and the current Production Schema will be copied into the Development environment. If you are seeing odd issues with your app revolving around SwiftData or CloudKit feel free to nuke that environment and start over. The next time you run the app in Xcode/Simulator the Schema will be updated to match your actual code. Tip number one is nuke the Development environment and nuke often. Don’t spend hours trying to figure out some strange CloudKit error only to find out at the end that you got your Schema all mixed up.
[…]
In my case what appears to happen is the migration goes fine, the app launches and works as expected with all my new features and shiny new model updates. Until you fully close the app and relaunch. Then SwiftData acts like it’s never seen this data before and is very offended. Boom. FatalError.
CloudKit Core Data iOS iOS 26 Mac macOS Tahoe 26 PostgreSQL Programming SwiftData tvOS tvOS 26 visionOS visionOS 26 watchOS watchOS 26
Madeline Batt:
The lawsuit targeted generative AI company Perplexity, along with Meta and Google, alleging they disclosed transcripts of users’ conversations with chatbots for targeted advertising. The case highlighted a burgeoning monetization strategy for the AI industry to solve generative AI’s profitability problem with a function the technology has proven especially adept at: collecting intimate information about users. Coming a few months after announcements from Meta and OpenAI that they would use data from AI products to target ads, the action and its voluntary dismissal leave the viability of legal challenges to ad-based monetization strategies unresolved.
Maggie Harrison Dupré:
A new class action lawsuit accuses OpenAI of sharing data including user chat queries and personal identifying information like emails and user IDs with the tech giants — and targeted advertising behemoths — Meta and Google, without obtaining proper user consent.
Filed yesterday in California, the lawsuit claims that OpenAI’s data-sharing with Google and Meta violates the California Invasion of Privacy Act, known as CIPA, as well as the Electronic Communications Privacy Act. It points specifically to OpenAI’s integrations with Meta Pixel and Google Analytics, which are data-tracking and collection tools that facilitate targeted advertisements.
Via Nick Heer:
Interestingly, the Office of the Privacy Commissioner of Canada recently concluded an investigation of OpenAI’s training on personal information and whether it can produce that information reliably. It seems to me like questions about third-party ad targeting were out of scope. This is notable, however:
OpenAI represented that ‘untraining’ or ‘reverse-training’ LLMs, so that they no longer use or generate specific personal information for which a deletion request has been submitted, is not currently feasible.
[…]
It is not even clear OpenAI, for example, ensures data in its collection remains in compliance with opt-out requests when training new models.
Previously:
Advertising Artificial Intelligence Business Google Analytics Lawsuit Legal OpenAI Perplexity Privacy Web Web Crawlers
Multimodal Solutions:
Install, update, and clean up your brew packages from a quiet Mac‑native app. 14,000+ formulae and casks — no terminal required.
[…]
Browse and search through thousands of Homebrew packages with an intuitive visual interface. No more memorizing package names.
[…]
Install or remove any package with a single click.
[…]
See all outdated packages at a glance. Update individually, in bulk, or select specific ones to upgrade together.
[…]
See how much space each package uses. Clean up old versions, cache, and unused dependencies to reclaim disk space.
[…]
Taphouse cross‑references every package you’ve installed against published CVEs. Severity, fix versions, source links — and a one‑click upgrade for the ones that matter.
There’s an impressive set of features that seem to be very easy to use. It’s much better than the command-line or Electron, but it’s a SwiftUI app and various things look and feel a little off. There’s no File menu. The Settings window and sheets are scrollable but can’t be resized.
The core functionality is free. Paying €9.99 unlocks a long list of Pro features: bulk operations, favorites, tags, history, a menu bar icon, background updates, import/export, and managing apps that were directly downloaded, purchased from the Mac App Store, and that update via Sparkle.
See also: Cork (fewer features), Applite (focused on apps), Homebrew Formulae (web list of apps).
Previously:
Update (2026-05-22): The developer fixed some of the issues in a quick 1.5.1.8 update.
See also: Mac Power Users.
Developer Tool Homebrew Mac Mac App Mac App Store macOS Tahoe 26 Open-source Software Programming Security SwiftUI Taphouse