Archive for March 24, 2025

Monday, March 24, 2025

Fantastical 4.0.7

Flexibits:

Multiple Windows! See your schedule from different views or dates at the same time. Open new windows at File > New Window

Finally. The main use case for me is to compare the same month for different years. I have been doing this by opening one of them using the macOS Calendar app, but it will nice to be able to use Fantastical for both.

Previously:

Google Maps Timeline Data Loss

Simon Sharwood:

Over the weekend, users noticed their Timelines went missing.

Google seems to have noticed, too, as The Register has seen multiple social media posts in which Timelines users share an email from the search and ads giant in which it admits “We briefly experienced a technical issue that caused the deletion of Timeline data for some people.”

The email goes on to explain that most users that availed themselves of a feature that enables encrypted backups will be able to restore their Maps Timelines data.

Users who did not make those backups can’t restore their data. Those who did make backups need to manually restore their info using a procedure Google included in its email.

Via Nick Heer:

Once again, Google provides no explanation for why it is incapable of reliably storing user data, and no customer support.

It seems this was the data that Google was trying to get users to move to their own devices. Originally, it said it would keep the data in the cloud until December 2024. But then the date was changed to May 18, 2025. Now, in March, some of the data has been deleted from the cloud and from users’ devices.

Throwaway-Card79:

This non-apology is such a joke. I switched to local device storage in December after receiving the email even though it said I had until May to do it. Apparently I didn’t turn on cloud backup. Probably because I figured it would be fine to do it later as long as it was before the May deadline. But it seems they deleted my data from their servers straight away? How have they managed to delete data stored on my phone? This sucks so much and is concerning given how much I rely on other Google products. Shocking mistake to make and then just say “oopsie.”

Previously:

Tim, Don’t Kill My Vibe

Bryan Irace:

It’s one thing for Apple’s AI product offerings to be non-competitive. Perhaps even worse is that as Apple stands still, software development is moving forward faster than ever before. Like it or not, LLMs—both through general chat interfaces and purpose-built developer tools—have meaningfully increased the rate at which new software can be produced. And they’ve done so both by making skilled developers more productive while also lowering the bar for less-experienced participants.

Barring a sharp correction, Apple looks increasingly likely to miss out on a generation of developers conditioned to first reach for tools like Cursor, Replit, or v0—especially as Apple’s own AI tooling remains notably absent. This goes well beyond enabling new entrants to “vibe code”—experienced mobile developers who, despite history with Xcode and a predilection for building native apps, are begrudgingly swapping out their tools in acknowledgement of the inarguable productivity benefits.

Sure, AI-assisted developer tools can be used to generate native iOS apps, but they’re not nearly as good at this as they are at generating e.g. React, whose developer experience advantage predates the LLM wave and has only since accelerated.

[…]

App Review has always long been a major source of developer frustration. Authoritarian yet inconsistent policy enforcement aside, it’s simply too hard to distribute software even to your own Apple devices, let alone someone else’s. This isn’t new by any means, but as the time to build an app shrinks from weeks/months to hours/days, it feels more egregious—and thus like more of a liability—than ever before.

John Gruber:

Basically, the threat to Apple the App Store poses is NOT regulators coming for it. That’s a distraction. The threat, as I’ve always tried to argue, perhaps unsuccessfully, is that market forces will work against it eventually. The App Store should have been making developers (mostly) happy all along, not mostly miserable.

And AI might be the disruption that brings about the “eventually”.

Kyle Hughes:

The speed with which I abandoned a decade of manicured Xcode project & window management muscle memory in favor of a mess of VS Code clones taught me something about myself and my work and what is important.

Jon Stokes:

In normieland, where I still spend plenty of time both online and IRL, software’s newfound ability to write, draw, and speak like we humans is often taken as evidence that the machines are about to remake our entire society (again) and totally change the nature and value of labor (again). I don’t think the normies are wrong about this, but as flashy as Stable Diffusion and ChatGPT are, old heads know that the Robot Apocalypse has exactly one and only one horseman: computer programs that can write computer programs.

[…]

If you were going to design a platform for the express purpose of teaching machines to code, it would probably be a cloud-hosted IDE plus execution environment that looks a lot like Replit. So while most of what you’ll read in this article and followups is applicable to all AI code generation tools more generally, I’ll be focusing on Replit’s toolset because right now it’s the richest and most advanced, and has the most potential for advancing the state-of-the-art.

Previously:

Update (2025-03-25): John Gruber (Mastodon):

17 years is a long time, though. And developers long ago stopped seeing the App Store as something that makes them happy, or that reduces friction and hassle from their lives. Instead they view it as a major source of friction and hassle. Apple should have focused on keeping the App Store as a thing that makes developers (mostly) happy all along, not (as things stand today) mostly miserable.

[…]

Apple should move mountains to refocus itself on making the experience of developing for (and on) Apple platforms the best in the world, including distribution and monetization. Instead, they seem to be resting on the assumption that it’s a privilege, self-evident to all, just to be allowed to develop for Apple platforms.

See also: Bri and Hacker News.

Mobile App Revenue in 2025

Scharon Harding (Hacker News):

If you’re frustrated by some of your favorite apps pestering you to sign up for a subscription, some new data may help you empathize with their developers more. According to revenue data from “over 75,000" mobile apps, the vast majority have a hard time making $1,000 per month.

The data is detailed in RevenueCat’s 2025 State of Subscription Apps report. RevenueCat makes a mobile app subscription tool kit and gathered the report’s data from apps using its platform.

[…]

Some app categories with the smallest percentage of newly launched apps hitting the $1,000 mark are shopping, travel, and utilities. Photo, video, and gaming apps are the most likely to hit $1,000/month within two years.

RevenueCat:

The gap between winners and the rest is growing – At $8,880 the top 5% of newly launched apps make over 400x as much money after their first year, compared to the bottom 25% who make no more than $19. This gap has grown significantly since last year’s 200x.

However, they are also analyzing more than twice as many apps as last year. Presumably, most of the apps new to the list are towards the bottom in revenue.

Churn hits hard and fast – Nearly 30% of annual subscriptions are canceled in the first month. If you don’t win them back over, at the end of that first year, they’re gone. Retention starts on day one.

Low prices keep users locked in – Most apps with cheap annual plans keep up to 36.0% of users subscribed after a year. High-priced monthly plans? Just 6.7% stick around.

But even 36% retention sounds terrible.

The CPI gap between iOS and Play Store in North America is striking, with iOS CPIs reaching nearly 3x those of Play Store in some categories.

Does this mean that iOS users don’t want more apps? Or that the ad system doesn’t work very well?

Previously: